Install any skill in seconds. Free to start, no credit card required.
Get Started Free →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.
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-06 | ✗→✓ | ▲ Improved | 41% | 0% |
| case-08 | ✗→✓ | ▲ Improved | -14% | 0% |
| case-09 | ✗→✓ | ▲ Improved | -14% | 0% |
| case-10 | ✗→✓ | ▲ Improved | -15% | 0% |
| case-13 | ✗→✓ | ▲ Improved | -6% | 0% |
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.
bashgit branch --show-current git status --short
scripts/release.ts requires a clean working tree.bashgit 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:
bashVERSION_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:
bashBRANCH="$(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:
bashgh 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:
bashTAG="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:
bashgh run view "$RUN_ID" --log-failed
After the workflow succeeds:
bashTAG="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:
bashTAG="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:
bashRELEASE_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:
bashTAG="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:
bashgh release view "$TAG" --json tagName,name,isDraft,isPrerelease,url
Report:
Other measured skills in the registry, with their headline benchmark lift.