jaan-release

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

jaan-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:
  1. ✅ Validates 24 compliance & plugin standards checks
  2. 📝 Syncs documentation (roadmap, docs, website, changelog)
  3. 🔢 Bumps version atomically across 4 files
  4. 🚀 Creates release PR (dev → main)
  5. ⏸️ Stops for human review and merge
编排完整的版本发布准备工作流:
  1. ✅ 验证24项合规性与插件标准检查
  2. 📝 同步文档(路线图、文档、网站、变更日志)
  3. 🔢 在4个文件中自动升级版本号
  4. 🚀 创建发布PR(从dev分支合并到main分支)
  5. ⏸️ 暂停流程等待人工审核与合并

Input

输入参数

  • Optional:
    vX.Y.Z
    - Target version (auto-suggested if omitted)
  • Optional:
    "release summary"
    - 1-sentence description (extracted from CHANGELOG if omitted)
  • 可选参数
    vX.Y.Z
    - 目标版本号(若省略则自动建议)
  • 可选参数
    "release summary"
    - 一句话版本描述(若省略则从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
dev
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
分支(版本发布从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:
bash
undefined
按顺序调用所有4个验证脚本:
bash
undefined

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:
  • y
    → Continue to Phase 2
  • n
    → Show detailed validation output, then re-ask
  • abort
    → 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中标记已完成的任务为“已完成”
  • 根据提交信息更新任务状态
预期结果
✓ 路线图已同步:3项任务标记为已完成

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索引
预期结果
✓ 文档已更新:2个文件修复完成,0个缺失文件

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
    y
    : Apply updates automatically
  • If
    n
    : Skip catalog updates (user will do manually)
  • If
    manual
    : 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]条目合并
预期结果
✓ CHANGELOG已生成:5条记录已分类

HARD STOP 2: Review Prepared Changes

HARD STOP 2:已准备变更确认

Show diff summary:
bash
git status --short
Expected files modified:
  • docs/roadmap/roadmap.md
    (3 tasks marked done)
  • docs/**/*.md
    (2 README indexes updated)
  • website/index.html
    (version, counts, possibly catalog)
  • CHANGELOG.md
    (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:
  • y
    → Show
    git diff
    for each file
  • n
    → Skip preview
  • proceed
    → Continue to Phase 3
  • abort
    → Rollback changes
Rollback if aborted:
bash
git restore CHANGELOG.md docs/ website/index.html

显示变更摘要
bash
git status --short
预期修改的文件
  • docs/roadmap/roadmap.md
    (3项任务标记为已完成)
  • docs/**/*.md
    (2个README索引已更新)
  • website/index.html
    (版本号、数量,可能包含目录)
  • CHANGELOG.md
    (5条记录已整理)
询问用户
文档同步完成
───────────────────────────
已修改文件:
  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.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.,
    v6.3.0
    )
If version omitted:
  • Use
    SUGGESTED_VERSION
    from Step 1.2
  • Confirm with user: "Use suggested version v6.3.0? [y/n/custom]"
Validate version:
  • Check format:
    vX.Y.Z
    (semantic versioning)
  • 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:
  1. Moves CHANGELOG
    [Unreleased]
    [6.3.0]
    with date
  2. Creates roadmap version section with tasks from this release
  3. Updates
    .claude-plugin/plugin.json
    "version": "6.3.0"
  4. Updates
    .claude-plugin/marketplace.json
    → 2 version fields
  5. Creates commit:
    release: 6.3.0 — Add jaan-release skill
  6. Creates tag:
    v6.3.0
    (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"
该技能会原子化完成以下操作
  1. 将CHANGELOG中的
    [Unreleased]
    章节迁移为带日期的
    [6.3.0]
    章节
  2. 在路线图中添加该版本的任务章节
  3. 更新
    .claude-plugin/plugin.json
    "version": "6.3.0"
  4. 更新
    .claude-plugin/marketplace.json
    → 2处版本号字段
  5. 创建提交:
    release: 6.3.0 — Add jaan-release skill
  6. 创建标签:
    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
undefined

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:
  • y
    → Continue to Phase 4
  • n
    → Show commit details, then re-ask
  • abort
    → 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        # 撤销提交,保留变更暂存

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 --tags
Expected:
✓ Pushed to origin/dev
✓ Pushed tag v6.3.0
If 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:
  1. Tag on main: `git checkout main && git pull && git tag v6.3.0 && git push origin main --tags`
  2. Create release: `gh release create v6.3.0 --title "v6.3.0" --notes-file CHANGELOG.md`
  3. Sync dev: `git checkout dev && git merge main && git push`
  4. Bump dev: `./scripts/bump-version.sh 6.4.0 && git commit -am "chore: bump to 6.4.0" && git push`
  5. Acknowledge issues: For each closed issue in this release, run `/jaan-issue-solve #{issue_number}`
🤖 Generated with Claude Code EOF )"

**Expected:**
undefined
合并本PR后:
  1. 在main分支创建标签
    git checkout main && git pull && git tag v6.3.0 && git push origin main --tags
  2. 创建GitHub发布
    gh release create v6.3.0 --title "v6.3.0" --notes-file CHANGELOG.md
  3. 同步dev分支
    git checkout dev && git merge main && git push
  4. 升级dev分支版本
    ./scripts/bump-version.sh 6.4.0 && git commit -am "chore: bump to 6.4.0" && git push
  5. 标记问题已解决:对本次发布中关闭的每个问题,执行
    /jaan-issue-solve #{issue_number}
🤖 由Claude Code生成 EOF )"

**预期结果**:
undefined

Step 4.3: Monitor CI Checks

步骤4.3:监控CI检查

bash
gh pr checks --watch
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
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:
  1. Dirty working tree → Block at Phase 1, show uncommitted files
  2. Version already exists → Block at Phase 3, suggest next version
  3. CI workflow failure → Show logs, continue (user fixes manually)
  4. Merge conflict on PR → Show conflicting files, continue (user resolves)
  5. GitHub CLI not authenticated → Block at Phase 4, show
    gh auth login
    instructions
  6. 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

常见问题
  1. Git工作区不干净 → 在第一阶段阻止流程,显示未提交文件
  2. 版本号已存在 → 在第三阶段阻止流程,建议下一个版本号
  3. CI工作流失败 → 显示错误日志,继续流程(用户手动修复)
  4. PR存在合并冲突 → 显示冲突文件,继续流程(用户手动解决)
  5. GitHub CLI未认证 → 在第四阶段阻止流程,显示
    gh auth login
    操作指引
  6. 文档构建失败 → 在第三阶段阻止流程,显示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
    skills/
    (not distributed to users)
  • 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插件时看不到该技能。",