用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/butttons/pi-kit --skill release-helper命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
Orchestrate subagents in herdr from pi fabric using the plain subagent tool (pi-herdr-agents). Covers exact fabric_exec call shapes, model tiers, parallel spawn patterns, and hard-won gotchas. Use for any delegation: single one-off tasks or parallel fan-out.
Build full-stack React applications with TanStack Start. Use when creating, configuring, or working with TanStack Start projects, routing, server functions, middleware, deployment, or when the user mentions tanstack/start.
Generates clear commit messages from git diffs. Use when writing commit messages or reviewing staged changes.
基于 SOC 职业分类
正在显示 SKILL.md
| name | release-helper |
| description | Automates git tag creation and GitHub release workflow. Use when creating releases or version tags. |
| allowed-tools | Read, Bash(git:*, gh:*) |
Automate git tag creation and GitHub releases with user oversight.
Support multiple versioning strategies:
Group commits by Conventional Commits type:
## Features
- feat(scope): description
## Bug Fixes
- fix(scope): description
## Documentation
- docs: description
gh --version)ls .changeset/config.json). If present, follow the Changesets Integration section below for versioning and changelog generation before proceeding to tagging.AskUserQuestion with options:
AskUserQuestion with proposed tag name and release notesgit tag -a <tag> -m "<release notes>"git push origin <tag>gh release create <tag> --notes "<release notes>"Before proceeding, verify:
git status --porcelain returns empty)git tag -l "<tag>" returns empty)If any check fails, inform user and abort.
Parse commit messages and extract:
Group by type and format as markdown list. Omit empty sections.
# 1. Check status
git status --porcelain
# 2. Check if gh is installed
gh --version
# 3. Get last tag
git describe --tags --abbrev=0 2>/dev/null || echo "No tags found"
# 4. Get commits since last tag (or all if none)
git log <last-tag>..HEAD --oneline
# OR if no tags:
git log --oneline
# 5. Parse commits and generate release notes
# Group by type, format as markdown
# 6. Ask user for tag format
AskUserQuestion: "What version format do you want?"
Options:
- v0.0.2 (next semantic version)
- v2026-01-19 (today\'s date)
- Custom
# 7. Show proposed release
Tag: v0.0.2
Release Notes:
## Features
- feat(showcase): add new project
- feat(ui): improve mobile layout
## Bug Fixes
- fix: correct typo in footer
## Documentation
- docs: update README
# 8. Ask for approval
AskUserQuestion: "Create this release?"
Options:
- Yes, create release
- No, let me edit the notes
- Cancel
# 9. If approved, create release
git tag -a v0.0.2 -m "Release notes here"
git push origin v0.0.2
gh release create v0.0.2 --notes "Release notes here"
If .changeset/config.json exists, the project uses @changesets/cli for versioning and changelog management. Integrate it into the release flow:
# Check if changesets is configured
test -f .changeset/config.json && echo "changesets detected"
# Check for pending changesets (any .md files besides README.md)
ls .changeset/*.md 2>/dev/null | grep -v README.md
If there are pending changeset files, version the packages before tagging:
# This bumps versions in package.json files, updates CHANGELOG.md files,
# and removes the consumed changeset .md files
pnpm changeset version
Review the version bumps and changelog updates, then commit them before creating the tag.
After changeset version runs, only config.json and README.md should remain in .changeset/. If changeset files are still present, something went wrong.
If there are no pending changeset .md files, the versions have already been bumped (e.g., changeset version was run manually earlier). Proceed directly to tagging using the version from package.json.
pnpm changeset version, review changes, commit-a) not lightweight tagsIf errors occur:
git statusgh auth loginIMPORTANT: Always use AskUserQuestion for user approval. Never create tags or releases without explicit user confirmation.