Automate jaan-to release preparation from validation to PR creation.
LOCAL SKILL — For jaan-to maintainers only. Not distributed to plugin users.
自动化jaan-to从验证到PR创建的完整版本发布准备流程。
本地技能 — 仅面向jaan-to维护者,不向插件用户分发。
Orchestrates the complete release preparation workflow:
- ✅ Validates 24 compliance & plugin standards checks
- 📝 Syncs documentation (roadmap, docs, website, changelog)
- 🔢 Bumps version atomically across 4 files
- 🚀 Creates release PR (dev → main)
- ⏸️ Stops for human review and merge
编排完整的版本发布准备工作流:
- ✅ 验证24项合规性与插件标准检查
- 📝 同步文档(路线图、文档、网站、变更日志)
- 🔢 在4个文件中自动升级版本号
- 🚀 创建发布PR(从dev分支合并到main分支)
- ⏸️ 暂停流程等待人工审核与合并
- Optional: - Target version (auto-suggested if omitted)
- Optional: - 1-sentence description (extracted from CHANGELOG if omitted)
- 可选参数: - 目标版本号(若省略则自动建议)
- 可选参数: - 一句话版本描述(若省略则从CHANGELOG中提取)
Pre-Execution Protocol
执行前协议
MANDATORY — Execute before PHASE 1:
Step 0: Init Guard — Verify we're in jaan-to repository root
Step A: Load Lessons — Read
.claude/skills/jaan-release/LEARN.md
Step B: Branch Check — Verify on
branch (releases prepare from dev)
Step C: Offer Dry Run — Ask: "Run validation checks first? [y/n]"
强制要求 — 在进入第一阶段前执行以下步骤:
步骤0:初始化检查 — 验证当前处于jaan-to仓库根目录
步骤A:加载说明文档 — 阅读
.claude/skills/jaan-release/LEARN.md
步骤B:分支检查 — 验证当前处于
分支(版本发布从dev分支开始准备)
步骤C:提供试运行选项 — 询问:“是否先运行验证检查?[是/否]”
PHASE 1: Pre-Release Validation
第一阶段:发布前验证
Purpose: Run all validation checks locally for fast feedback before any changes.
目标:在进行任何变更前,本地运行所有验证检查以快速获取反馈。
Step 1.1: Run Validation Scripts
步骤1.1:运行验证脚本
Invoke all 4 validation scripts in sequence:
Check 1-10: Advisory compliance (warnings OK)
检查1-10:合规性建议检查(警告信息为可选参考)
bash .claude/scripts/validate-compliance.sh
bash .claude/scripts/validate-compliance.sh
Check 11-16: Critical plugin standards (must pass)
检查11-16:关键插件标准检查(必须全部通过)
bash .claude/scripts/validate-plugin-standards.sh
bash .claude/scripts/validate-plugin-standards.sh
Security standards (must pass — no blocking errors)
安全标准检查(必须全部通过 — 无阻塞性错误)
bash scripts/validate-security.sh
bash scripts/validate-security.sh
Check git state, docs sync, version detection
检查Git状态、文档同步情况与版本号检测
bash .claude/scripts/validate-release-readiness.sh
**Expected output:**
- Compliance: 10 checks (warnings are advisory)
- Plugin Standards: 6 checks (must pass)
- Security Standards: 4 sections (must pass — no blocking errors)
- Release Readiness: Git clean, docs synced, suggested version
**Capture:**
- `SUGGESTED_VERSION` from validate-release-readiness.sh output
- Any blocking errors from plugin standards
bash .claude/scripts/validate-release-readiness.sh
**预期输出**:
- 合规性:10项检查(警告信息为可选参考)
- 插件标准:6项检查(必须全部通过)
- 安全标准:4个检查模块(必须全部通过 — 无阻塞性错误)
- 发布就绪状态:Git工作区干净、文档已同步、版本号建议
**捕获信息**:
- 从validate-release-readiness.sh输出中获取`SUGGESTED_VERSION`
- 插件标准检查中的任何阻塞性错误
Step 1.2: Aggregate Results
步骤1.2:汇总结果
Parse validation output and summarize:
Pre-Release Validation Report
═══════════════════════════════════════════════════════════
解析验证输出并生成汇总报告:
发布前验证报告
═══════════════════════════════════════════════════════════
Compliance Checks (10/10)
合规性检查(10/10)
✓ Check 1: Skill Alignment (all skills have two-phase + HARD STOP)
✓ Check 2: Generic Applicability (no user-specific refs)
✓ Check 3: Multi-Stack Coverage (Node.js/PHP/Go)
...
✓ Check 10: Security Review (no dangerous patterns)
✓ 检查1:技能一致性(所有技能均包含两阶段流程+HARD STOP节点)
✓ 检查2:通用适用性(无用户特定引用)
✓ 检查3:多技术栈覆盖(Node.js/PHP/Go)
...
✓ 检查10:安全审查(无危险代码模式)
Plugin Standards (6/6)
插件标准检查(6/6)
✓ Check 11: Plugin Manifests (JSON valid, versions match)
✓ Check 12: Hooks Validation (4 hooks defined)
✓ Check 13: Skills Structure (40 skills, all have frontmatter)
✓ Check 14: Context Files (all have headers)
✓ Check 15: Output Structure (0 errors)
✓ Check 16: Permission Safety (no dangerous patterns)
✓ 检查11:插件清单(JSON格式有效,版本号一致)
✓ 检查12:钩子验证(已定义4个钩子)
✓ 检查13:技能结构(40个技能,均包含前置元数据)
✓ 检查14:上下文文件(均包含头部信息)
✓ 检查15:输出结构(0个错误)
✓ 检查16:权限安全(无危险模式)
Security Standards (4/4)
安全标准检查(4/4)
✓ Section A: Skill Permission Safety (no bare Write/Bash/Edit)
✓ Section B: Shell Script Safety (set -euo pipefail, no eval/curl|sh)
✓ Section C: Hook Safety (static paths, no user input)
✓ Section D: Dangerous Patterns (no exec(), no rm -rf /)
✓ 模块A:技能权限安全(无裸Write/Bash/Edit权限)
✓ 模块B:Shell脚本安全(已设置set -euo pipefail,无eval/curl|sh)
✓ 模块C:钩子安全(使用静态路径,无用户输入)
✓ 模块D:危险模式检查(无exec(),无rm -rf /)
Git State (3/3)
Git状态检查(3/3)
✓ Working tree clean (0 uncommitted changes)
✓ On dev branch (up to date with origin/dev)
✓ Remotes fetched
✓ 工作区干净(0个未提交变更)
✓ 当前处于dev分支(与origin/dev保持同步)
✓ 已拉取远程仓库最新代码
Documentation (2/2)
文档检查(2/2)
✓ Sync check: 0 stale files
✓ README indexes: all up to date
✓ 同步检查:0个过期文件
✓ README索引:全部已更新
Release Content (3/3)
发布内容检查(3/3)
✓ [Unreleased] section: 5 entries (3 Added, 1 Changed, 1 Fixed)
✓ CHANGELOG format: Keep a Changelog ✓
✓ Suggested version: v6.3.0 (minor bump - new features added)
───────────────────────────────────────────────────────────────
✅ All 24 checks passed. Ready for Phase 2.
───────────────────────────────────────────────────────────────
**If any errors:**
- Show specific failures with remediation commands
- Block Phase 2 until fixed
- Suggest: `git status`, `git stash`, fix commands from script output
✓ [Unreleased]章节:5条记录(3条新增、1条变更、1条修复)
✓ CHANGELOG格式:符合Keep a Changelog规范 ✓
✓ 建议版本号:v6.3.0(小版本升级 - 新增功能)
───────────────────────────────────────────────────────────────
✅ 全部24项检查通过,可进入第二阶段。
───────────────────────────────────────────────────────────────
**若存在错误**:
- 显示具体失败项及修复命令建议
- 阻止进入第二阶段,直到问题修复
- 建议执行:`git status`、`git stash`,或根据脚本输出执行修复命令
HARD STOP 1: Validation Report
HARD STOP 1:验证报告确认
Ask user:
Validation complete. All 24 checks passed.
Suggested version: v6.3.0 (minor bump)
Proceed to Phase 2 (Documentation & Version Prep)? [y/n/abort]
Options:
- → Continue to Phase 2
- → Show detailed validation output, then re-ask
- → Exit skill (no changes made)
Rollback: None needed (read-only phase)
询问用户:
验证完成,全部24项检查通过。
建议版本号:v6.3.0(小版本升级)
是否进入第二阶段(文档与版本准备)?[是/否/终止]
选项说明:
- → 继续第二阶段
- → 显示详细验证输出后重新询问
- → 退出技能(无任何变更)
回滚方案:无需回滚(本阶段为只读操作)
PHASE 2: Documentation & Version Prep
第二阶段:文档与版本准备
Purpose: Sync all documentation and prepare release content.
Step 2.1: Roadmap Sync
步骤2.1:路线图同步
Invoke:
/jaan-to:pm-roadmap-update sync
This skill:
- Reads git history since last version tag
- Marks completed tasks as "done" in roadmap.md
- Updates task statuses based on commit messages
Expected: ✓ Roadmap synced: 3 tasks marked done
调用:
/jaan-to:pm-roadmap-update sync
该技能会:
- 读取上一个版本标签以来的Git历史
- 在roadmap.md中标记已完成的任务为“已完成”
- 根据提交信息更新任务状态
Step 2.2: Documentation Auto-Fix
步骤2.2:文档自动修复
Invoke:
/jaan-to:docs-update --fix
This skill:
- Updates stale timestamps in docs
- Generates missing doc files
- Rebuilds README.md indexes
Expected: ✓ Documentation updated: 2 files fixed, 0 missing
调用:
/jaan-to:docs-update --fix
该技能会:
- 更新文档中的过期时间戳
- 生成缺失的文档文件
- 重建README.md索引
Step 2.3: Website Update (ENHANCED)
步骤2.3:网站更新(增强版)
Run intelligent website updater:
bash
bash .claude/scripts/update-website.sh
This script:
- Updates version badge (v6.1.0 → v6.3.0)
- Updates skill counts (3 locations)
- Updates role counts (2 locations)
- Detects new/removed skills from CHANGELOG
- Generates HTML for catalog updates
- Smart suggestions (new roles, efficiency metrics, etc.)
Expected output:
Website Update Summary
────────────────────────────────────────────────────────────
✓ Version badge: v6.3.0
✓ Skill counts: 40 skills (3 locations)
✓ Role count: 11 roles (2 locations)
⚠ MANUAL REVIEW REQUIRED
Next steps:
1. Review catalog changes above
2. Edit website/index.html to add/remove skills
3. Preview: open website/index.html in browser
If new skills detected:
- Script shows generated HTML for each new skill
- Ask user: "Apply these catalog updates? [y/n/manual]"
- If : Apply updates automatically
- If : Skip catalog updates (user will do manually)
- If : Open website/index.html in editor, wait for user confirmation
运行智能网站更新脚本:
bash
bash .claude/scripts/update-website.sh
该脚本会:
- 更新版本徽章(从v6.1.0 → v6.3.0)
- 更新技能数量(3处位置)
- 更新角色数量(2处位置)
- 从CHANGELOG中检测新增/移除的技能
- 生成目录更新所需的HTML代码
- 提供智能建议(新角色、效率指标等)
预期输出:
网站更新汇总
────────────────────────────────────────────────────────────
✓ 版本徽章: v6.3.0
✓ 技能数量: 40个技能(3处位置)
✓ 角色数量: 11个角色(2处位置)
⚠ 需要人工审核
后续步骤:
1. 审核上述目录变更
2. 编辑website/index.html以添加/移除技能
3. 预览:在浏览器中打开website/index.html
若检测到新技能:
- 脚本会显示每个新技能的生成HTML代码
- 询问用户:“是否应用这些目录更新?[是/否/手动]”
- 若选择:自动应用更新
- 若选择:跳过目录更新(用户将手动完成)
- 若选择:在编辑器中打开website/index.html,等待用户确认
Step 2.4: Changelog Generation
步骤2.4:变更日志生成
Invoke:
/jaan-to:release-iterate-changelog auto-generate
This skill:
- Parses git commits since last tag
- Generates CHANGELOG entries from conventional commits
- Categorizes: Added, Changed, Fixed, Removed
- Merges with existing [Unreleased] items
Expected: ✓ CHANGELOG generated: 5 entries categorized
调用:
/jaan-to:release-iterate-changelog auto-generate
该技能会:
- 解析上一个标签以来的Git提交
- 根据约定式提交规范生成CHANGELOG条目
- 分类:新增、变更、修复、移除
- 与现有[Unreleased]条目合并
HARD STOP 2: Review Prepared Changes
HARD STOP 2:已准备变更确认
Show diff summary:
Expected files modified:
- (3 tasks marked done)
- (2 README indexes updated)
- (version, counts, possibly catalog)
- (5 entries organized)
Ask user:
Documentation Sync Complete
───────────────────────────
Modified files:
M CHANGELOG.md
M docs/roadmap/roadmap.md
M website/index.html
M docs/guides/README.md
Preview changes? [y/n/proceed]
Options:
- → Show for each file
- → Skip preview
- → Continue to Phase 3
- → Rollback changes
Rollback if aborted:
bash
git restore CHANGELOG.md docs/ website/index.html
显示变更摘要:
预期修改的文件:
- (3项任务标记为已完成)
- (2个README索引已更新)
- (版本号、数量,可能包含目录)
- (5条记录已整理)
询问用户:
文档同步完成
───────────────────────────
已修改文件:
M CHANGELOG.md
M docs/roadmap/roadmap.md
M website/index.html
M docs/guides/README.md
是否预览变更内容?[是/否/继续]
选项说明:
- → 显示每个文件的结果
- → 跳过预览
- → 进入第三阶段
- → 回滚变更
终止时的回滚方案:
bash
git restore CHANGELOG.md docs/ website/index.html
PHASE 3: Atomic Version Bump
第三阶段:原子化版本号升级
Purpose: Create single atomic commit with version bump across all files.
目标:创建单个原子化提交,在所有相关文件中统一升级版本号。
Step 3.1: Determine Target Version
步骤3.1:确定目标版本号
If version provided as argument:
- Use provided version (e.g., )
If version omitted:
- Use from Step 1.2
- Confirm with user: "Use suggested version v6.3.0? [y/n/custom]"
Validate version:
- Check format: (semantic versioning)
- Check tag doesn't exist:
- If exists: Error and abort
若已提供版本号参数:
若未提供版本号参数:
- 使用步骤1.2中获取的
- 与用户确认:“是否使用建议版本号v6.3.0?[是/否/自定义]”
版本号验证:
- 检查格式:(语义化版本规范)
- 检查标签是否已存在:
- 若已存在:报错并终止流程
Step 3.2: Atomic Version Bump
步骤3.2:原子化版本号升级
Invoke:
/jaan-to:pm-roadmap-update release v6.3.0 "Add jaan-release skill"
This skill atomically:
- Moves CHANGELOG → with date
- Creates roadmap version section with tasks from this release
- Updates
.claude-plugin/plugin.json
→
- Updates
.claude-plugin/marketplace.json
→ 2 version fields
- Creates commit:
release: 6.3.0 — Add jaan-release skill
- Creates tag: (local only, not pushed)
Expected:
✓ Version bumped: v6.2.0 → v6.3.0
✓ Files updated: CHANGELOG.md, roadmap.md, plugin.json (×3)
✓ Commit created: abc1234
✓ Tag created: v6.3.0 (local)
调用:
/jaan-to:pm-roadmap-update release v6.3.0 "Add jaan-release skill"
该技能会原子化完成以下操作:
- 将CHANGELOG中的章节迁移为带日期的章节
- 在路线图中添加该版本的任务章节
- 更新
.claude-plugin/plugin.json
→
- 更新
.claude-plugin/marketplace.json
→ 2处版本号字段
- 创建提交:
release: 6.3.0 — Add jaan-release skill
- 创建标签:(仅本地创建,不推送到远程)
预期结果:
✓ 版本号已升级:v6.2.0 → v6.3.0
✓ 已更新文件:CHANGELOG.md, roadmap.md, plugin.json(共3处)
✓ 已创建提交:abc1234
✓ 已创建标签:v6.3.0(本地)
Step 3.3: CI Simulation (Local Validation)
步骤3.3:CI模拟(本地验证)
Run the same checks CI will run:
Check version consistency
检查版本号一致性
V1=$(jq -r '.version' .claude-plugin/plugin.json)
V2=$(jq -r '.version' .claude-plugin/marketplace.json)
V3=$(jq -r '.plugins[0].version' .claude-plugin/marketplace.json)
if [[ "$V1" == "$V2" ]] && [[ "$V1" == "$V3" ]]; then
echo "✓ Version consistency: $V1"
else
echo "✗ Version mismatch (CI will fail)"
exit 1
fi
V1=$(jq -r '.version' .claude-plugin/plugin.json)
V2=$(jq -r '.version' .claude-plugin/marketplace.json)
V3=$(jq -r '.plugins[0].version' .claude-plugin/marketplace.json)
if [[ "$V1" == "$V2" ]] && [[ "$V1" == "$V3" ]]; then
echo "✓ 版本号一致:$V1"
else
echo "✗ 版本号不匹配(CI将失败)"
exit 1
fi
Validate skill description budget
验证技能描述字数限制
bash scripts/validate-skills.sh || exit 1
bash scripts/validate-skills.sh || exit 1
Security standards validation
安全标准验证
bash scripts/validate-security.sh || exit 1
echo "✓ Security standards passed"
bash scripts/validate-security.sh || exit 1
echo "✓ 安全标准检查通过"
Build docs site (verify no build errors)
构建文档站点(验证无构建错误)
cd website/docs && npm ci && npm run build && cd ../..
echo "✓ Docs site builds successfully"
**Expected:** All checks pass (CI will run same checks)
cd website/docs && npm ci && npm run build && cd ../..
echo "✓ 文档站点构建成功"
**预期结果**:所有检查通过(CI将运行相同检查)
HARD STOP 3: Version Bump Confirmation
HARD STOP 3:版本号升级确认
Show complete atomic operation result:
Version Bump Complete
─────────────────────
Version: 6.3.0 ✓
Files Updated:
- CHANGELOG.md (new [6.3.0] section with date)
- docs/roadmap/roadmap.md (version section added)
- .claude-plugin/plugin.json (version: "6.3.0")
- .claude-plugin/marketplace.json (version: "6.3.0" × 2)
Git State:
- Commit: abc1234 (release: 6.3.0 — Add jaan-release skill)
- Tag: v6.3.0 (local, not pushed)
CI Simulation: ✓ PASS (all checks)
Push to origin and create PR? [y/n/abort]
Options:
- → Continue to Phase 4
- → Show commit details, then re-ask
- → Rollback
Rollback if aborted:
bash
git tag -d v6.3.0 # Delete local tag
git reset --soft HEAD~1 # Undo commit, keep changes staged
显示完整原子化操作结果:
版本号升级完成
─────────────────────
版本号:6.3.0 ✓
已更新文件:
- CHANGELOG.md(新增带日期的[6.3.0]章节)
- docs/roadmap/roadmap.md(新增版本章节)
- .claude-plugin/plugin.json(version: "6.3.0")
- .claude-plugin/marketplace.json(2处version: "6.3.0")
Git状态:
- 提交:abc1234(release: 6.3.0 — Add jaan-release skill)
- 标签:v6.3.0(本地,未推送)
CI模拟:✓ 通过(所有检查)
是否推送到远程仓库并创建PR?[是/否/终止]
选项说明:
- → 进入第四阶段
- → 显示提交详情后重新询问
- → 回滚操作
终止时的回滚方案:
bash
git tag -d v6.3.0 # 删除本地标签
git reset --soft HEAD~1 # 撤销提交,保留变更暂存
git reset --hard HEAD~1 # Undo commit and discard all changes
git reset --hard HEAD~1 # 撤销提交并丢弃所有变更
PHASE 4: PR Creation
第四阶段:PR创建
Purpose: Push changes and create PR for human review.
Step 4.1: Push Branch with Tag
步骤4.1:推送分支与标签
bash
git push origin dev --tags
Expected:
✓ Pushed to origin/dev
✓ Pushed tag v6.3.0
If push fails:
- Check network connectivity
- Check GitHub authentication:
- Show error, offer retry
bash
git push origin dev --tags
预期结果:
✓ 已推送到origin/dev
✓ 已推送标签v6.3.0
若推送失败:
- 检查网络连接
- 检查GitHub认证状态:
- 显示错误信息,提供重试选项
Step 4.2: Create PR (dev → main)
步骤4.2:创建PR(从dev分支到main分支)
bash
gh pr create --base main \
--title "release: 6.3.0 — Add jaan-release skill" \
--body "$(cat <<'EOF'
bash
gh pr create --base main \\
--title "release: 6.3.0 — Add jaan-release skill" \\
--body "$(cat <<'EOF'
Add jaan-release skill for automated release preparation.
新增jaan-release技能用于自动化版本发布准备。
Changes This Release
本次发布变更
- jaan-release skill for release automation
- Compliance validation (10-item checklist)
- Documentation sync automation
- jaan-release技能用于发布流程自动化
- 合规性验证(10项检查清单)
- 文档同步自动化
- (list from CHANGELOG [6.3.0] section)
- (list from CHANGELOG [6.3.0] section)
Pre-Merge Checklist
合并前检查清单
After merging this PR:
- Tag on main: `git checkout main && git pull && git tag v6.3.0 && git push origin main --tags`
- Create release: `gh release create v6.3.0 --title "v6.3.0" --notes-file CHANGELOG.md`
- Sync dev: `git checkout dev && git merge main && git push`
- Bump dev: `./scripts/bump-version.sh 6.4.0 && git commit -am "chore: bump to 6.4.0" && git push`
- Acknowledge issues: For each closed issue in this release, run `/jaan-issue-solve #{issue_number}`
🤖 Generated with
Claude Code
EOF
)"
合并本PR后:
- 在main分支创建标签:
git checkout main && git pull && git tag v6.3.0 && git push origin main --tags
- 创建GitHub发布:
gh release create v6.3.0 --title "v6.3.0" --notes-file CHANGELOG.md
- 同步dev分支:
git checkout dev && git merge main && git push
- 升级dev分支版本:
./scripts/bump-version.sh 6.4.0 && git commit -am "chore: bump to 6.4.0" && git push
- 标记问题已解决:对本次发布中关闭的每个问题,执行
/jaan-issue-solve #{issue_number}
Step 4.3: Monitor CI Checks
步骤4.3:监控CI检查
Show CI status:
CI Checks:
- release-check.yml: ✓ PASSED (2m 15s)
- deploy-docs.yml: ⏳ Running...
If CI fails:
- Show error logs:
gh run view <run-id> --log
- Suggest fixes based on error type
- User can push fixes to same branch
显示CI状态:
CI检查状态:
- release-check.yml: ✓ 已通过(2分15秒)
- deploy-docs.yml: ⏳ 运行中...
若CI失败:
- 显示错误日志:
gh run view <run-id> --log
- 根据错误类型提供修复建议
- 用户可将修复提交到同一分支
HARD STOP 4: PR Created — Human Takes Over
HARD STOP 4:PR已创建 — 人工接管
Show final status:
PR Created Successfully
───────────────────────
URL: https://github.com/parhumm/jaan-to/pull/123
Status: Waiting for CI checks
CI Checks:
- release-check.yml: ✓ PASSED
- deploy-docs.yml: ✓ PASSED
Next Steps (Manual):
1. Review PR at URL above
2. Approve and merge PR (via GitHub UI or gh pr merge)
3. Follow "Post-Merge Steps" in PR description
SKILL COMPLETE - Human merge required.
Skill exits here. Human performs:
- PR review and approval
- Merge to main
- Tag creation on main (not dev)
- GitHub release publication
- Dev branch sync and version bump
- Issue acknowledgments via
显示最终状态:
PR创建成功
───────────────────────
URL: https://github.com/parhumm/jaan-to/pull/123
状态:等待CI检查完成
CI检查状态:
- release-check.yml: ✓ 已通过
- deploy-docs.yml: ✓ 已通过
后续手动步骤:
1. 访问上述URL审核PR
2. 批准并合并PR(通过GitHub UI或gh pr merge命令)
3. 执行PR描述中的“合并后步骤”
技能执行完成 - 等待人工合并。
技能在此处退出,人工需执行以下操作:
- PR审核与批准
- 合并到main分支
- 在main分支创建标签(而非dev分支)
- 发布GitHub版本
- 同步dev分支并升级版本号
- 通过标记问题已解决
Aligns with jaan-to principles:
- ✅ Two-phase workflow with HARD STOP gates (4 gates)
- ✅ Single source of truth (validation logic in )
- ✅ Reuses existing skills (pm-roadmap-update, docs-update, release-iterate-changelog)
- ✅ Token-optimized (orchestrates, doesn't duplicate)
- ✅ Maintains human control (stops at PR creation)
- ✅ Generic and scalable (works for any version)
- ✅ LOCAL skill (not distributed to users)
符合jaan-to设计原则:
- ✅ 包含两阶段工作流与HARD STOP节点(共4个节点)
- ✅ 单一事实来源(验证逻辑存储在)
- ✅ 复用现有技能(pm-roadmap-update、docs-update、release-iterate-changelog)
- ✅ 优化Token使用(仅编排流程,不重复实现逻辑)
- ✅ 保留人工控制权(在PR创建后暂停)
- ✅ 通用可扩展(适用于任何版本)
- ✅ 本地技能(不向用户分发)
Common issues:
- Dirty working tree → Block at Phase 1, show uncommitted files
- Version already exists → Block at Phase 3, suggest next version
- CI workflow failure → Show logs, continue (user fixes manually)
- Merge conflict on PR → Show conflicting files, continue (user resolves)
- GitHub CLI not authenticated → Block at Phase 4, show instructions
- Documentation build failure → Block at Phase 3, show npm error
Rollback at each gate:
- Phase 1: None needed (read-only)
- Phase 2:
- Phase 3:
git tag -d v6.3.0 && git reset --hard HEAD~1
- Phase 4:
gh pr close <PR> && git push origin :v6.3.0
常见问题:
- Git工作区不干净 → 在第一阶段阻止流程,显示未提交文件
- 版本号已存在 → 在第三阶段阻止流程,建议下一个版本号
- CI工作流失败 → 显示错误日志,继续流程(用户手动修复)
- PR存在合并冲突 → 显示冲突文件,继续流程(用户手动解决)
- GitHub CLI未认证 → 在第四阶段阻止流程,显示操作指引
- 文档构建失败 → 在第三阶段阻止流程,显示npm错误信息
各节点回滚方案:
- 第一阶段:无需回滚(只读操作)
- 第二阶段:
- 第三阶段:
git tag -d v6.3.0 && git reset --hard HEAD~1
- 第四阶段:
gh pr close <PR> && git push origin :v6.3.0
Local Development Only
仅本地开发使用
This skill is LOCAL to jaan-to repository:
- Location:
.claude/skills/jaan-release/
- Not in (not distributed to users)
- References LOCAL scripts in
- Only jaan-to maintainers have access
Users don't see this skill when they install jaan-to plugin.
该技能为jaan-to仓库本地技能:
- 存储位置:
.claude/skills/jaan-release/
- 不在目录中(不向用户分发)
- 引用中的本地脚本
- 仅jaan-to维护者可访问
用户安装jaan-to插件时看不到该技能。",