用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/lthoangg/OpenAgentd --skill oad-release命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
Update or upgrade the agent's own configuration on request — swap the model, add tools or MCP servers, change the image-generation provider/model, or install a new skill. Use when the user says things like "upgrade yourself", "switch your model to X", "use Gemini for images", "make yourself faster/smarter".
OpenAgentd testing reference — environment setup, run commands, and fix patterns for backend (pytest) and frontend (Bun/RTL). Load this for running, fixing, or adding coverage to existing tests. For writing a failing test before new code, use oad/test-driven-development instead.
OpenAgentd workflow for investigating bugs, regressions, sessions, and runtime issues.
基于 SOC 职业分类
正在显示 SKILL.md
| name | oad/release |
| description | OpenAgentd workflow for version bumps, release PRs, GitHub releases, and release notes. |
app/version.txt.1.0.0 -> 1.1.0.1.0.0 -> 1.0.1.1.0.5 -> 1.0.6; do not bump minor just because there have been several patches.feat/, fix/, chore/) is not signal — judge from diff content.git status --short
git branch --show-current
git log --oneline --no-merges main..HEAD
gh issue list --repo lthoangg/openagentd --state open --search "<keyword from diff or feature area>" --limit 20
gh issue list --repo lthoangg/openagentd --state all --search "<keyword from diff or feature area> in:title,body" --limit 20
gh issue view <issue-number> --repo lthoangg/openagentd --comments --json number,title,state,labels,body,comments
Fixes #<issue-number> or Closes #<issue-number> in the release PR body so GitHub closes it on merge; use Refs #<issue-number> when the release is related but should not close it.gh label create "included-in-v<version>" --repo lthoangg/openagentd --description "Included in v<version>" --color "0E8A16" || true
gh issue edit <issue-number> --repo lthoangg/openagentd --add-label "included-in-v<version>"
Refs instead of Fixes:gh issue comment <issue-number> --repo lthoangg/openagentd --body "Included in the v<version> release PR: <pr-url>."
git diff --name-only main..HEAD
git diff --stat main..HEAD -- documents/docs/features.md README.md
documents/docs/features.md first; it is the canonical feature catalogue.README.md only when the product story or first-run setup changes.Docs: no user-facing behavior changed).Ready to release
<version>. Proceed? (yes / no)
main. Check both the Core (pytest) and Web (lint + typecheck + tests) workflows on the latest commit:# Get the SHA of the commit you are about to release from
git rev-parse HEAD
# List the most recent runs of each CI workflow and confirm conclusion=success
gh run list --workflow=core.yml --branch=main --limit=3
gh run list --workflow=web.yml --branch=main --limit=3
# If either shows failure, inspect and fix before continuing:
gh run view <run-id> --log-failed
main. Fix the failures first, push the fix to main, confirm CI goes green, then resume the release.release/ branch on top of it.app/version.txt is the single human-edited source of truth for release versioning.scripts/bump_version.sh <version>
app/version.txtpyproject.tomluv.lockweb/package.jsondesktop/src-tauri/tauri.conf.jsondesktop/src-tauri/Cargo.tomldesktop/src-tauri/Cargo.lockmobile/src-tauri/tauri.conf.jsonmobile/src-tauri/Cargo.tomlmobile/src-tauri/Cargo.lockdocuments/docs/features.md (updated: and Latest release:)app/version.txt drives the tag name both release workflows use (v<X.Y.Z>), while bundled artefacts and app metadata read from the Tauri/Cargo files, and CI also enforces cargo check --locked for desktop/mobile. The helper keeps those surfaces in sync instead of relying on manual multi-file edits.scripts/check_version_consistency.sh
chore: bump version to <version>.Fix frontend update restart (v0.3.3 -> v0.3.4).uv run ruff format app/ tests/
uv run ruff format --check app/ tests/
git add app/version.txt pyproject.toml uv.lock web/package.json \
desktop/src-tauri/tauri.conf.json desktop/src-tauri/Cargo.toml \
desktop/src-tauri/Cargo.lock \
mobile/src-tauri/tauri.conf.json mobile/src-tauri/Cargo.toml \
mobile/src-tauri/Cargo.lock \
documents/docs/features.md
git commit -m "<release commit title>"
git push -u origin <branch>
gh pr create --title "<release PR title>" --body "<bullet-point release summary>" --base main
PR body shape:
Release PR for v<version>.
- Add or improve <user-visible outcome>.
- Fix <user-visible bug or behavior>.
- Update desktop, mobile, backend, web, and lockfile versions in lockstep to <version>.
Watch CI in-session until it completes. Do not create scheduled reminders or background follow-up tasks; keep polling directly in the current release workflow:
gh pr checks <pr-number> --watch
# or, if --watch is not suitable:
gh pr checks <pr-number>
gh pr view <pr-number> --comments --json comments,reviews
gh api repos/lthoangg/openagentd/pulls/<pr-number>/comments \
--jq '.[] | "FILE: \(.path):\(.line // .original_line)\nAUTHOR: \(.user.login)\n---\n\(.body)\n==="'
gh pr merge <pr-number> --merge --delete-branch --admin to preserve the multi-commit history of the feature branch.--squash only when the branch is a single logical change (e.g. metadata-only bump).--admin is required when branch protection blocks solo-author PRs on REVIEW_REQUIRED; confirm with the user before using it.main.git checkout main && git pull --ff-only
PREV_TAG=$(git describe --tags --abbrev=0 HEAD^)
git log ${PREV_TAG}..HEAD --oneline --no-merges
Skip commits unrelated to this branch's user-facing work (e.g. earlier docs-only commits that landed on main separately).
Tight, user-facing notes.
Prefer detailed bullets for ## What's changed; one bullet per user-visible capability, fix, or behavior change.
Inspect each included commit's full message body, stats, and changed files before drafting bullets. Do not rely on commit subjects alone:
git log ${PREV_TAG}..HEAD --format=fuller --no-merges
git show --stat --oneline <commit>...
git show --name-only --format=fuller <commit>...
Group related commits into a single bullet when they ship one visible outcome, but split distinct outcomes even if they landed in the same area.
Skip version-bump commits.
Treat commit subjects as raw material.
Paraphrase; do not transcribe.
Lead with user-visible behavior change.
Avoid internals unless required to explain a fix.
Keep each bullet concise; include enough detail that users can tell what changed without reading the changelog.
Sections:
## Breaking Changes: only if migration required. Include only the required migration steps.## What's changed: bullet list of user-noticeable changes, grouped by outcome.**Full changelog:** https://github.com/lthoangg/openagentd/compare/<prev>...<next>.## Tests section.Both workflows publish into the same v<X.Y.Z> tag (introduced in
1.0.9 — older releases used a separate v<X.Y.Z>-desktop tag). Whichever
workflow runs first creates the release; the other appends artefacts via
gh release upload --clobber. Run release.yml first so the canonical
auto-generated notes come from the PyPI workflow.
# CLI / PyPI release (~90 seconds)
gh workflow run release.yml --field confirm=release
gh run list --workflow=release.yml --limit=3
# Watch this workflow in-session until status=completed conclusion=success before continuing.
## What's changed, adding ## Breaking Changes only when migration is required. Keep installation and upgrade instructions in the README./tmp/release-notes-v<version>.md), not to a file under the repository workspace. This keeps ad-hoc release artefacts out of the repo tree./tmp file, then verify:gh release edit v<version> --repo lthoangg/openagentd --notes-file /tmp/release-notes-v<version>.md
gh release view v<version> --repo lthoangg/openagentd | sed -n '/## What.s changed/,/Full changelog/p'
# Desktop release (~20–25 minutes for the matrix build)
gh workflow run release-desktop.yml --field confirm=release-desktop --field channel=stable
gh run list --workflow=release-desktop.yml --limit=3
# Watch this workflow in-session until status=completed conclusion=success.
/tmp/release-notes-v<version>.md file only if the workflow changed it.tauri.yml workflow fails right after the version-bump commit, inspect it before retrying the release workflows. The common failure mode is stale desktop/src-tauri/Cargo.lock / mobile/src-tauri/Cargo.lock; fix those on main, push, and re-run the release only after tauri.yml is green.## Install or ## Upgrade sections:gh release view v<version> --repo lthoangg/openagentd | grep -E '^## (Install|Upgrade)' && exit 1 || true