关于 sprint-status
sprint-status 是用于协调多个并行 Claude Code 会话的 Skill。它通过会话标识和明确的阶段状态减少混淆,并可汇总各会话进度。
主要功能
- 01标明项目、分支和任务
- 02检测并行会话与工作树
- 03统一汇报阶段状态
- 04区分阻塞项与信息缺失
- 05汇总 Sprint 状态面板
适用场景
- 01协调并行编码会话
- 02跟踪不同分支间的依赖工作
- 03汇总活跃会话的进度
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ rohitg00/ pro-workflow --skill sprint-status安装后在 Claude Code 中输入/sprint-status确认已加载。
详细介绍
Sprint 状态
并行运行多个 Claude Code 会话时,混乱是最大的敌人。此技能可确保每个会话都能标明自己的身份,并在每个步骤报告状态。
会话识别
每条涉及决策、计划或重要操作的回复都以会话说明开头:
SESSION: my-app | branch: feat/auth | task: Add JWT refresh tokens
只需一行,几乎没有成本,却能避免用户把反馈应用到错误的会话。
检测并行会话
检查是否有同级 Claude Code 进程:
pgrep -af "claude" | grep -v "$$" | head -5
或者检查是否有活动的 worktree:
git worktree list 2>/dev/null
或者查找会话标记(由 session-start.js / session-end.js 写入):
ls $TMPDIR/pro-workflow/sessions/ 2>/dev/null | tail -5
如果检测到多个会话,务必包含会话识别标头。如果只运行一个会话,则在任务边界处以及提供选项前包含该标头。
状态行
每个主要步骤结束时都要添加一条状态行,且只能有一条。不要含糊其辞。
STATUS: COMPLETE
当前步骤的所有工作都已完成,可以提交、合并或开始下一项任务。
STATUS: COMPLETE
Changed: src/auth/refresh.ts, src/auth/refresh.test.ts
Tests: 14 pass, 0 fail
Ready to commit.
STATUS: COMPLETE_WITH_NOTES
工作已完成,但有需要告知用户的事项。
STATUS: COMPLETE_WITH_NOTES
Changed: src/api/upload.ts
Tests: 8 pass, 0 fail
Notes:
- Upload size limit is hardcoded to 10MB, should be configurable
- No rate limiting on this endpoint yet (separate task)
备注用于说明可正常使用但仍有改进空间的事项,不是阻碍,只是观察结果。
STATUS: BLOCKED
没有用户输入或外部依赖就无法继续。
STATUS: BLOCKED
Blocker: Need database migration approved before writing the ORM layer
Waiting on: DBA approval for schema change in migrations/0042_add_tokens.sql
Can continue: Nothing else in this task until unblocked
STATUS: NEEDS_INFO
缺少足够的上下文,无法做出妥善决策。应先询问,不要猜测。
STATUS: NEEDS_INFO
Question: Should refresh tokens expire after 7 days or 30 days?
Impact: Changes token cleanup job schedule and storage requirements
Default if no preference: 7 days (more secure, standard practice)
务必提供合理的默认选项,让用户无需切换上下文就能直接回复“按默认选项执行”。
并行会话模式
模式 1:功能 + 测试
Session 1: feat/auth → implementing JWT refresh
Session 2: feat/auth-tests → writing test suite for auth module
两个会话共同处理同一项功能,但不修改相同文件。会话 1 完成实现前,会话 2 就可以开始针对接口编写测试。
模式 2:独立功能
Session 1: feat/upload → file upload endpoint
Session 2: feat/billing → billing webhook handler
Session 3: fix/login-bug → login redirect fix
各项工作完全独立,合并顺序无关紧要。
模式 3:堆叠式变更
Session 1: feat/base-types → shared type definitions (must merge first)
Session 2: feat/api → API layer (depends on Session 1)
Session 3: feat/ui → UI layer (depends on Session 1)
会话 1 先合并。会话 2 和 3 随后进行变基。每次状态更新都要注明依赖关系。
何时报告状态
| 事件 | 是否包含状态? |
|---|---|
| 完成文件编辑 | 否(过于细碎) |
| 运行测试套件 | 是,前提是通过/失败状态发生变化 |
| 完成阶段(研究、计划、实现) | 是 |
| 向用户提供选项 | 是(带会话标头) |
| 遇到阻碍 | 是,立即报告 |
| 提问之前 | 是(NEEDS_INFO) |
| 提交之后 | 是(COMPLETE) |
| 会话结束时 | 是(最终状态) |
Sprint 仪表板
用户询问各会话的状态时,汇总并展示 Sprint 概览:
SPRINT STATUS
Session 1: feat/auth STATUS: COMPLETE (ready to merge)
Session 2: feat/upload STATUS: BLOCKED (waiting on S3 creds)
Session 3: fix/login-bug STATUS: COMPLETE_WITH_NOTES (works, needs perf review)
反模式
- 有多个活动会话时省略会话标头
- 明知存在问题仍使用 STATUS: COMPLETE(应使用 COMPLETE_WITH_NOTES)
- 把状态行埋在段落中(应单独成行,并放在末尾)
- 每次编辑后都报告状态(只在有意义的节点报告)
- 使用 NEEDS_INFO 时不提供默认选项(迫使用户完全切换上下文)
- 用“快完成了”或“基本能用了”代替明确的状态
添加到 CLAUDE.md
## Sprint Status
Every decision and plan starts with: SESSION: project | branch | task
End major steps with STATUS: COMPLETE | COMPLETE_WITH_NOTES | BLOCKED | NEEDS_INFO
NEEDS_INFO always includes a sensible default.
When parallel sessions are detected, always include session headers.
评论
支持 Markdown