协作头脑风暴
brainstorming
在实现前澄清需求、探索设计选择,并形成清晰的开发方向。
release【开发与工程】Run the claude-code-viewer release flow end-to-end. Use when the user asks to release patch, minor, major, beta, or an explicit semver; includes non-interactive release execution, GitHub Actions monitoring with gh, release note cleanup, and publishing the GitHub Release.
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
Use this skill to perform an end-to-end release for this repository.
Interpret the user's argument as the release version spec:
patch, minor, major, beta0.8.0 / 0.8.0-beta.0If no version spec is present, ask the user which one to use.
git branch --show-current
git status --short
scripts/release.ts requires a clean working tree.git config --get gpg.format
git config --get commit.gpgsign
git config --get tag.gpgsign
Expected values are ssh, true, true.
Run the non-interactive release:
VERSION_SPEC="patch" # replace with the user's requested spec
pnpm release -y --version "$VERSION_SPEC"
The script runs gatecheck, Lingui validation, tests, and build checks. It then updates package.json, creates a signed release commit, creates a signed tag, and pushes commits and tags.
The release commit and tag may already exist locally. Push the current branch with upstream, then push tags:
BRANCH="$(git branch --show-current)"
git push --set-upstream origin "$BRANCH"
git push --tags
Do not rerun pnpm release unless the local release commit/tag were removed or the previous run failed before creating them.
After tags are pushed, find and watch the Release workflow run:
gh run list --workflow Release --limit 5
RUN_ID="<id from the vX.Y.Z row>"
gh run watch "$RUN_ID" --exit-status
A reusable one-liner variant:
TAG="v0.0.0"; RUN_ID="$(gh run list --workflow Release --limit 20 --json databaseId,headBranch,event --jq ".[] | select(.headBranch == \"$TAG\" and .event == \"push\") | .databaseId" | head -n 1)"; test -n "$RUN_ID" && gh run watch "$RUN_ID" --exit-status
If the workflow fails, inspect logs before taking corrective action:
gh run view "$RUN_ID" --log-failed
After the workflow succeeds:
TAG="v0.0.0" # replace
npm view @kimuson/claude-code-viewer version
gh release view "$TAG" --json tagName,name,isDraft,isPrerelease,url
The workflow creates a draft release with generated notes. Inspect the generated notes:
TAG="v0.0.0" # replace
gh release view "$TAG" --json body --jq .body
Rewrite the notes for claude-code-viewer users:
Features, Bug Fixes, Breaking Changes, Internal.For a second-pass review before publishing, delegate a focused review to another agent:
RELEASE_URL="https://github.com/d-kimuson/claude-code-viewer/releases/tag/v0.0.0" # replace
pi -p "Review the GitHub Release note at $RELEASE_URL for claude-code-viewer. Check that it is concise, user-focused, correctly categorized, and excludes internal-only noise. Do not edit files or GitHub releases; only report concrete findings."
Apply review findings when they are consistent with the rules above. Publish the draft with the rewritten notes:
TAG="v0.0.0" # replace
NOTES_FILE="/tmp/claude-code-viewer-$TAG-release-notes.md"
$EDITOR "$NOTES_FILE" # or write the file with the agent's file tool
gh release edit "$TAG" --notes-file "$NOTES_FILE" --draft=false
Confirm it is public:
gh release view "$TAG" --json tagName,name,isDraft,isPrerelease,url
Report: