| name | okr-status-tracker |
| description | Show and update the DoWithOKR status board with KR state, progress, evidence, blockers, next steps, and upper-level mapping. |
OKR Status Tracker
前置条件
- 需要:已生成的状态看板(
.okr/status.md 存在)。
- 缺失处理:提示用户先运行
okr-planner 或 okr-execution-plan 生成初始看板。
前置读取
- 读取
.okr/status.md。
- 文件不存在 → 提示用户先运行
okr-planner 或 okr-execution-plan 生成初始看板。
- 读取
.okr/active.md frontmatter 中的 current_act 字段,确定当前交付幕。
- 读取
.okr/evidence/ 目录下所有证据文件,统计每个 KR 的证据条目数和最新证据条目。
- 目录不存在或为空 → 所有 KR 证据列显示
无。
执行规则
- 用于展示或更新 OKR 状态看板。
- 所有 KR 必须显示上级映射、角色、交付幕、状态、进展、证据和下一步。
- 状态只能使用:未开始、进行中、阻塞、已完成、放弃。
- 已完成必须有证据;无证据时只能标记为进行中或阻塞。
- 看板应先输出摘要,再输出明细。
执行步骤
- 读取
.okr/status.md 中的完整看板表格。
- 读取
.okr/active.md 的 current_act 确定当前交付幕。
- 生成摘要统计:
- 总 KR 数、各状态数量(未开始 / 进行中 / 阻塞 / 已完成 / 放弃)。
- 当前交付幕名称。
- 整体进展百分比(已完成 KR 数 / 总 KR 数)。
- 识别关键信息:
- 阻塞项:列出所有状态为"阻塞"的 KR,标注阻塞原因和影响范围。
- 风险项:进展低于预期的 KR(如 M3 阶段但进展仍为 0.0)。
- 下一步:当前幕中最优先需要推进的 KR。
- 生成证据摘要:
- 对每个 KR,从
.okr/evidence/{KR-ID}.md 读取证据条目数和最新一条证据。
- 在看板表格的证据列显示:
[N 条](.okr/evidence/{KR-ID}.md),无证据显示 无。
- 在摘要区输出证据概览:有证据的 KR 数 / 总 KR 数。
- 标记异常:状态为"已完成"但无证据的 KR,标注为"⚠ 缺少证据"。
- 输出完整看板表格。
- 生成恢复建议(见下方
### 恢复建议 逻辑)。
- 如果用户要求更新某个 KR 状态,执行更新并写入。
输出格式
使用 ../../references/status-board-template.md。
必须包含:
恢复建议
在看板输出之后,分析当前状态并给出下一步行动建议。判断逻辑按优先级排列:
- 存在阻塞项:如果当前幕有任何 KR 状态为"阻塞",优先建议解决阻塞。
- 输出:列出所有阻塞 KR 编号、阻塞原因、影响的下游 KR。
- 建议:
建议优先解除阻塞:<KR编号> — <阻塞原因摘要>。
- 当前幕所有 KR 已完成:如果当前幕的所有 KR 状态均为"已完成"或"放弃",建议推进到下一幕。
- 输出:当前幕完成度统计。
- 建议:
当前幕 <幕名> 已完成,建议推进到 <下一幕名>。
- 存在进行中 KR:如果有 KR 状态为"进行中",建议继续执行该角色。
- 输出:列出进行中的 KR 编号和对应角色。
- 建议:
建议继续执行 <角色名> 的 <KR编号>,使用 okr-role-run。
- 当前幕无 KR 开始:如果当前幕所有 KR 状态为"未开始",建议启动第一个角色。
- 输出:当前幕的角色执行顺序。
- 建议:
当前幕尚未开始,建议从 <首个角色名> 开始执行。
异常处理
- status.md 为空或格式损坏:提示用户重新运行
okr-planner 生成初始看板。
- 用户要求将 KR 标记为"已完成"但无证据:拒绝标记,提示先提供证据或使用
okr-role-run 执行产出。
- 看板中存在未知状态值:修正为最接近的合法状态并提示用户。
产出写入
- 本技能以展示为主,默认不修改文件。
- 如果用户在查看看板时要求更新某个 KR 状态,则:
- 更新
.okr/status.md 中对应 KR 行。
- 更新 frontmatter:
last_updated、updated_by: okr-status-tracker。