startlisted
Install: claude install-skill pkulijing/claude-code-global
用户调用此 skill 表示要开始一个新的开发项。
**前置检查**:若 `CLAUDE.md` 与 `docs/DEVTREE.md` 都不存在,停下来提示用户先运行 `/bootstrap`,**不要**自己兜底建项目骨架。`/start` 只负责开新一轮开发,不负责项目首次初始化。
**参数处理**:调用时可能附带参数(args),参数有两种形态:
- **issue 驱动**(推荐):参数是 `#<数字>` 或完整 issue URL:
- GitHub: `https://github.com/owner/repo/issues/N`
- GitLab: `https://gitlab.com/<namespace>/<project>/-/issues/N`(自托管把 host 换为对应实例域名)
- 走「issue 驱动分支」(见下文)
- **自由描述**:参数是对需求的自由文字描述
- 走「自由描述分支」(与原流程一致)
无参数 → 追问用户本次开发项的需求是什么或对应的 issue 号,拿到后再继续。
**`--no-worktree` 开关**:args 中可附带 `--no-worktree`(与 issue# /自由描述正交,可与二者同时出现)。默认每轮在独立 git worktree 内开发;带此开关则跳过 worktree 创建、在当前分支直接干。解析需求内容前先把 `--no-worktree` 从 args 中剔除。适用场景:轻量改动 / 探索性 round / 不值得单开 worktree 的小修复。
按照全局 CLAUDE.md 中的开发模式,严格遵循「执行前必须先完成 PROMPT.md 和 PLAN.md 的撰写并确认,再开始写代码」:
### 通用流程
1. **确定轮次编号 N**:取「已占用编号」并集的最大值 +1。**为什么要并集**:并行多 round 各在独立 worktree、未合回主分支时,新建的 `docs/<N>-*` 尚未合入、本树看不见,只扫本树 `docs/` 会让各 round 算出同一个 N+1,合入时撞车。故三个信号源取并集:
1. **本树 `docs/`**:现有 `docs/<N>-*` 目录名解析出的 N;
2. **在途分支名**:`git branch --list 'round*'` 输出里 `round<N>-*` 前缀解析的 N(worktree 一创建分支就带 N,docs 目录还没建也能防撞);
3. **其它 worktree 的 docs**:`git worktree list --porcelain` 遍历每个 worktree 路径,扫其 `docs/<N>-*` 解析 N(覆盖「worktree 内已建 docs 目录」)。
三源并集取 max + 1。**解析失败一律跳过该条、不报错**——非 `round<N>-` 规范的分支(如自由描述分支、`feat/xxx`)、worktree 路径不可达等都跳过,不阻断开轮。
2. **确定本轮中文描述**:issue 驱动 → 先按「issue 驱动分支」第 1 步调 helper 拉 issue 详情,从 issue 标题提炼简短中文描述;自由描述 → 从描述文字提炼。
3. **创建 worktree**(默认;带 `--no-worktree` 时跳过本步)—— 见下方「worktree 创建」小节。
4. 在 `docs/`