一键导入
start
开始一个新的开发项:创建文档目录,撰写 PROMPT.md 和 PLAN.md,确认后再开始写代码
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
开始一个新的开发项:创建文档目录,撰写 PROMPT.md 和 PLAN.md,确认后再开始写代码
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
按照 git 规则自动分析变更并提交代码
提交前的自动 review 迭代环:委派子 agent 跑 CC 自带 /code-review(默认 sonnet × medium,并发/难复现等硬 diff 升 opus × high),发现高置信正确性问题就修、跑测试+happy-path 验证、复审,迭代到「运行验证通过 + 无高置信 correctness 问题」才放行。收敛靠运行验证+置信过滤,非 reviewer 挑不出为止。三条硬规则:永远显式传档位、永远委派子 agent、只用两个合法的模型×档位组合。由 /commit 在生成 commit 前自动调用,也可手动跑
为空项目搭建文档骨架(README.md / CLAUDE.md / DEVTREE.md),仅在项目首次开发前调用一次
依据 docs/DEVTREE.md 中作者维护的 Epic 结构,重新生成可视化图表和节点索引
完成当前开发项:撰写 SUMMARY.md,反思跨项目可沉淀流程并可向 claude-code-global 提 issue,关联并关闭 issue(GitHub / GitLab,如有),提交代码
诊断本地分支分叉并按清单引导完成 rebase,历史保持 FF 直线
| name | start |
| description | 开始一个新的开发项:创建文档目录,撰写 PROMPT.md 和 PLAN.md,确认后再开始写代码 |
| disable-model-invocation | false |
用户调用此 skill 表示要开始一个新的开发项。
前置检查:若 CLAUDE.md 与 docs/DEVTREE.md 都不存在,停下来提示用户先运行 /bootstrap,不要自己兜底建项目骨架。/start 只负责开新一轮开发,不负责项目首次初始化。
参数处理:调用时可能附带参数(args),参数有两种形态:
#<数字> 或完整 issue URL:
https://github.com/owner/repo/issues/Nhttps://gitlab.com/<namespace>/<project>/-/issues/N(自托管把 host 换为对应实例域名)无参数 → 追问用户本次开发项的需求是什么或对应的 issue 号,拿到后再继续。
--no-worktree 开关:args 中可附带 --no-worktree(与 issue# /自由描述正交,可与二者同时出现)。默认每轮在独立 git worktree 内开发;带此开关则跳过 worktree 创建、在当前分支直接干。解析需求内容前先把 --no-worktree 从 args 中剔除。适用场景:轻量改动 / 探索性 round / 不值得单开 worktree 的小修复。
按照全局 CLAUDE.md 中的开发模式,严格遵循「执行前必须先完成 PROMPT.md 和 PLAN.md 的撰写并确认,再开始写代码」:
确定轮次编号 N:取「已占用编号」并集的最大值 +1。为什么要并集:并行多 round 各在独立 worktree、未合回主分支时,新建的 docs/<N>-* 尚未合入、本树看不见,只扫本树 docs/ 会让各 round 算出同一个 N+1,合入时撞车。故三个信号源取并集:
docs/:现有 docs/<N>-* 目录名解析出的 N;git branch --list 'round*' 输出里 round<N>-* 前缀解析的 N(worktree 一创建分支就带 N,docs 目录还没建也能防撞);git worktree list --porcelain 遍历每个 worktree 路径,扫其 docs/<N>-* 解析 N(覆盖「worktree 内已建 docs 目录」)。三源并集取 max + 1。解析失败一律跳过该条、不报错——非 round<N>- 规范的分支(如自由描述分支、feat/xxx)、worktree 路径不可达等都跳过,不阻断开轮。
确定本轮中文描述:issue 驱动 → 先按「issue 驱动分支」第 1 步调 helper 拉 issue 详情,从 issue 标题提炼简短中文描述;自由描述 → 从描述文字提炼。
创建 worktree(默认;带 --no-worktree 时跳过本步)—— 见下方「worktree 创建」小节。
在 docs/ 下创建开发项文件夹 docs/<N>-<中文描述>/(worktree 模式下落在新 worktree 内)。
基于参数撰写 PROMPT.md(两个分支具体行为见下)。
进入计划模式,撰写 PLAN.md 并请用户确认。
用户确认后再开始写代码。
默认每轮开发在独立 git worktree 内进行,让多轮可并行、互不污染主工作树。除非 args 含 --no-worktree,执行:
探测主分支:git symbolic-ref --short refs/remotes/origin/HEAD(得 origin/master → 取末段 master);失败则本地探测 main / master。
防嵌套:若当前已在某个 linked worktree 内(git rev-parse --git-dir ≠ git rev-parse --git-common-dir)→ 停下提示用户「已在 worktree 内」,问是接续当前轮还是退出,不嵌套创建 worktree。
确保 worktree 目录被忽略(优先复用全局):先 git check-ignore -q .claude/worktrees 探测是否已被忽略 —— 这会自动吃到全局 core.excludesFile(很多人已在 ~/.gitignore_global 里全局忽略 .claude/worktrees)与任何本地规则。已忽略 → 什么都不做,绝不冗余落 .claude/.gitignore。仅当未忽略时,才创建 / 追加 .claude/.gitignore 忽略 worktrees/(幂等),避免主工作树把嵌套 worktree 当 untracked。
创建:worktree 目录名与分支名统一为 round<N>-<中文描述>(<中文描述> 同第 4 步 docs 目录的描述):
git worktree add .claude/worktrees/round<N>-<中文描述> -b round<N>-<中文描述> <主分支>
进入:cd 进新 worktree 目录,其后所有文件操作、git 操作都在该 worktree 内进行。
告知:打印一行 worktree 路径与分支名,提示用户可在 IDE 中打开该目录并行开发。
带 --no-worktree → 跳过本小节,在当前分支直接开发,docs 目录落在当前工作树。/finish 收尾时检测到非 worktree 会跳过 worktree 收尾,对称无悬空分支。
参数命中 #数字 或上述任一平台的 issue URL 时:
拉 issue 详情:调 helper(自动按 git remote get-url origin 走 GitHub 或 GitLab):
python3 $HOME/.claude/scripts/platform_issue.py issue-view <N>
如参数是完整 URL,先从中提取 N。helper stdout 输出归一 json(GitHub 风格字段),schema 固定为:
{
"number": 3,
"title": "...",
"body": "...",
"url": "https://...",
"labels": ["type:X", "area:Y", "priority:Z"]
}
GitLab 端的 iid / web_url / description 已在 helper 内归一为 number / url / body,本 SKILL 直接按上述 schema 读字段。
PROMPT.md 顶部写一段引用块(让未来的人或 AI 一眼看到来源):
> 来自 [#<N> <issue 标题>](<issue URL>)
> Labels: `type:X` `area:Y` `priority:Z`
PROMPT.md 主体:把 issue body 内容作为「背景 / 需求」段的起点,AI 据此扩写完整的 PROMPT.md(可能基于 issue body 增补:约束、范围、待决问题等)。如 issue body 已足够完整,直接复用为主要内容。
文件夹命名:从 issue 标题提炼简短中文描述,规则:docs/<编号>-<中文描述>/
参数是文字描述时(非 issue 引用):流程同原版。AI 基于参数撰写 PROMPT.md,文件夹命名从描述提炼。
提示:自由描述分支适合「轻量改动 / 探索性 round / 不需要长期追踪的开发项」。长期可追踪的开发项推荐先
/backlog创 issue,再/start <issue#>。