jaan-release
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
Chinesejaan-release
jaan-release
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维护者,不向插件用户分发。
What This Does
功能介绍
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分支)
- ⏸️ 暂停流程等待人工审核与合并
Input
输入参数
- Optional: - Target version (auto-suggested if omitted)
vX.Y.Z - Optional: - 1-sentence description (extracted from CHANGELOG if omitted)
"release summary"
- 可选参数:- 目标版本号(若省略则自动建议)
vX.Y.Z - 可选参数:- 一句话版本描述(若省略则从CHANGELOG中提取)
"release summary"
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
Step B: Branch Check — Verify on branch (releases prepare from dev)
Step C: Offer Dry Run — Ask: "Run validation checks first? [y/n]"
.claude/skills/jaan-release/LEARN.mddev强制要求 — 在进入第一阶段前执行以下步骤:
步骤0:初始化检查 — 验证当前处于jaan-to仓库根目录
步骤A:加载说明文档 — 阅读
步骤B:分支检查 — 验证当前处于分支(版本发布从dev分支开始准备)
步骤C:提供试运行选项 — 询问:“是否先运行验证检查?[是/否]”
.claude/skills/jaan-release/LEARN.mddevPHASE 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:
bash
undefined按顺序调用所有4个验证脚本:
bash
undefinedCheck 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 standardsbash .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
y - → Show detailed validation output, then re-ask
n - → Exit skill (no changes made)
abort
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 syncThis 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中标记已完成的任务为“已完成”
- 根据提交信息更新任务状态
预期结果:
✓ 路线图已同步:3项任务标记为已完成Step 2.2: Documentation Auto-Fix
步骤2.2:文档自动修复
Invoke:
/jaan-to:docs-update --fixThis 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索引
预期结果:
✓ 文档已更新:2个文件修复完成,0个缺失文件Step 2.3: Website Update (ENHANCED)
步骤2.3:网站更新(增强版)
Run intelligent website updater:
bash
bash .claude/scripts/update-website.shThis 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 browserIf new skills detected:
- Script shows generated HTML for each new skill
- Ask user: "Apply these catalog updates? [y/n/manual]"
- If : Apply updates automatically
y - If : Skip catalog updates (user will do manually)
n - If : Open website/index.html in editor, wait for user confirmation
manual
运行智能网站更新脚本:
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-generateThis 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]条目合并
预期结果:
✓ CHANGELOG已生成:5条记录已分类HARD STOP 2: Review Prepared Changes
HARD STOP 2:已准备变更确认
Show diff summary:
bash
git status --shortExpected files modified:
- (3 tasks marked done)
docs/roadmap/roadmap.md - (2 README indexes updated)
docs/**/*.md - (version, counts, possibly catalog)
website/index.html - (5 entries organized)
CHANGELOG.md
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
yfor each filegit diff - → Skip preview
n - → Continue to Phase 3
proceed - → Rollback changes
abort
Rollback if aborted:
bash
git restore CHANGELOG.md docs/ website/index.html显示变更摘要:
bash
git status --short预期修改的文件:
- (3项任务标记为已完成)
docs/roadmap/roadmap.md - (2个README索引已更新)
docs/**/*.md - (版本号、数量,可能包含目录)
website/index.html - (5条记录已整理)
CHANGELOG.md
询问用户:
文档同步完成
───────────────────────────
已修改文件:
M CHANGELOG.md
M docs/roadmap/roadmap.md
M website/index.html
M docs/guides/README.md
是否预览变更内容?[是/否/继续]选项说明:
- → 显示每个文件的
是结果git diff - → 跳过预览
否 - → 进入第三阶段
继续 - → 回滚变更
终止
终止时的回滚方案:
bash
git restore CHANGELOG.md docs/ website/index.htmlPHASE 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., )
v6.3.0
If version omitted:
- Use from Step 1.2
SUGGESTED_VERSION - Confirm with user: "Use suggested version v6.3.0? [y/n/custom]"
Validate version:
- Check format: (semantic versioning)
vX.Y.Z - Check tag doesn't exist:
git tag -l v6.3.0 - If exists: Error and abort
若已提供版本号参数:
- 使用提供的版本号(例如:)
v6.3.0
若未提供版本号参数:
- 使用步骤1.2中获取的
SUGGESTED_VERSION - 与用户确认:“是否使用建议版本号v6.3.0?[是/否/自定义]”
版本号验证:
- 检查格式:(语义化版本规范)
vX.Y.Z - 检查标签是否已存在:
git tag -l 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 →
[Unreleased]with date[6.3.0] - Creates roadmap version section with tasks from this release
- Updates →
.claude-plugin/plugin.json"version": "6.3.0" - Updates → 2 version fields
.claude-plugin/marketplace.json - Creates commit:
release: 6.3.0 — Add jaan-release skill - Creates tag: (local only, not pushed)
v6.3.0
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中的章节迁移为带日期的
[Unreleased]章节[6.3.0] - 在路线图中添加该版本的任务章节
- 更新→
.claude-plugin/plugin.json"version": "6.3.0" - 更新→ 2处版本号字段
.claude-plugin/marketplace.json - 创建提交:
release: 6.3.0 — Add jaan-release skill - 创建标签:(仅本地创建,不推送到远程)
v6.3.0
预期结果:
✓ 版本号已升级: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:
bash
undefined运行与CI相同的检查:
bash
undefinedCheck 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
y - → Show commit details, then re-ask
n - → Rollback
abort
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 # 撤销提交,保留变更暂存OR
或
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.
目标:推送变更并创建PR等待人工审核。
Step 4.1: Push Branch with Tag
步骤4.1:推送分支与标签
bash
git push origin dev --tagsExpected:
✓ Pushed to origin/dev
✓ Pushed tag v6.3.0If push fails:
- Check network connectivity
- Check GitHub authentication:
gh auth status - Show error, offer retry
bash
git push origin dev --tags预期结果:
✓ 已推送到origin/dev
✓ 已推送标签v6.3.0若推送失败:
- 检查网络连接
- 检查GitHub认证状态:
gh auth status - 显示错误信息,提供重试选项
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'Release Summary
版本发布摘要
Add jaan-release skill for automated release preparation.
新增jaan-release技能用于自动化版本发布准备。
Changes This Release
本次发布变更
Added
新增
- jaan-release skill for release automation
- Compliance validation (10-item checklist)
- Documentation sync automation
- jaan-release技能用于发布流程自动化
- 合规性验证(10项检查清单)
- 文档同步自动化
Changed
变更
- (list from CHANGELOG [6.3.0] section)
- (从CHANGELOG [6.3.0]章节获取)
Fixed
修复
- (list from CHANGELOG [6.3.0] section)
- (从CHANGELOG [6.3.0]章节获取)
Pre-Merge Checklist
合并前检查清单
- All 24 validation checks passed locally
- Security standards validation passed
- Documentation synced and up to date
- CHANGELOG entry complete
- Version bumped in all 3 locations
- CI simulation passed locally
- CI checks pass on GitHub (wait for workflow)
- Human review approved
- 本地已通过全部24项验证检查
- 安全标准验证通过
- 文档已同步并更新
- CHANGELOG条目完整
- 所有位置版本号已统一升级
- 本地CI模拟通过
- GitHub上的CI检查通过(等待工作流执行)
- 人工审核已批准
Post-Merge Steps
合并后步骤
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
)"
**Expected:**✓ PR created: https://github.com/parhumm/jaan-to/pull/123
undefined合并本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}
🤖 由Claude Code生成
EOF
)"
**预期结果**:undefinedStep 4.3: Monitor CI Checks
步骤4.3:监控CI检查
bash
gh pr checks --watchShow 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
bash
gh pr checks --watch显示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
/jaan-issue-solve
显示最终状态:
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分支并升级版本号
- 通过标记问题已解决
/jaan-issue-solve
Definition of Done
完成标准
- All 24 validation checks passed
- Documentation synced (roadmap, docs, website, CHANGELOG)
- Version bumped atomically (4 files + commit + tag)
- CI simulation passed locally
- PR created (dev → main)
- CI checks passed on GitHub
- Human review and merge (manual)
- Post-merge steps (tag, release, sync, bump - manual)
- Issue acknowledgments (manual)
- 全部24项验证检查通过
- 文档已同步(路线图、文档、网站、CHANGELOG)
- 版本号已原子化升级(4个文件 + 提交 + 标签)
- 本地CI模拟通过
- PR已创建(从dev到main)
- GitHub上的CI检查通过
- 人工审核与合并(手动操作)
- 合并后步骤(标签、发布、同步、版本升级 - 手动操作)
- 问题标记(手动操作)
Skill Alignment
技能一致性
Aligns with jaan-to principles:
- ✅ Two-phase workflow with HARD STOP gates (4 gates)
- ✅ Single source of truth (validation logic in )
.claude/scripts/ - ✅ 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个节点)
- ✅ 单一事实来源(验证逻辑存储在)
.claude/scripts/ - ✅ 复用现有技能(pm-roadmap-update、docs-update、release-iterate-changelog)
- ✅ 优化Token使用(仅编排流程,不重复实现逻辑)
- ✅ 保留人工控制权(在PR创建后暂停)
- ✅ 通用可扩展(适用于任何版本)
- ✅ 本地技能(不向用户分发)
Error Handling
错误处理
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
gh auth login - Documentation build failure → Block at Phase 3, show npm error
Rollback at each gate:
- Phase 1: None needed (read-only)
- Phase 2:
git restore <files> - 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未认证 → 在第四阶段阻止流程,显示操作指引
gh auth login - 文档构建失败 → 在第三阶段阻止流程,显示npm错误信息
各节点回滚方案:
- 第一阶段:无需回滚(只读操作)
- 第二阶段:
git restore <files> - 第三阶段:
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)
skills/ - References LOCAL scripts in
.claude/scripts/ - Only jaan-to maintainers have access
Users don't see this skill when they install jaan-to plugin.
该技能为jaan-to仓库本地技能:
- 存储位置:
.claude/skills/jaan-release/ - 不在目录中(不向用户分发)
skills/ - 引用中的本地脚本
.claude/scripts/ - 仅jaan-to维护者可访问
用户安装jaan-to插件时看不到该技能。",