用途
Status 技能用于生成全面的项目状态报告,帮助用户快速了解项目当前状态。它适用于以下场景:开始工作会话时刷新上下文、检查项目或团队活动、理解 PR/栈关系、在规划前快速概览状态、回顾跨系统的近期变更、了解阻塞项。不适用于:深入特定条目、实时监控、单一来源查询。
主要能力
该技能采用“收集→聚合→呈现”的三阶段工作流:
- 收集:从多个来源并行收集数据,包括版本控制系统(VCS)状态、代码评审(PR/MR)、问题跟踪(Issues)和 CI/CD 流水线。
- 聚合:按时间、栈和状态组合、过滤和交叉引用数据。
- 呈现:以可扫描的格式输出,包含可操作的见解。
核心原则包括:多源集成(VCS + 代码评审 + 问题 + CI)、时间感知过滤(自然语言转换为查询参数)、栈感知组织(按分支层级分组)、可扫描输出(视觉指示符、相对时间)、可操作见解(突出阻塞项和失败)。
使用方式
阶段 1:解析约束
从自然语言中提取时间范围:
- “last X hours” → -Xh
- “past X days” / “last X days” → -Xd
- “yesterday” → -1d
- “this morning” / “today” → -12h
- “this week” → -7d
- “since {date}” → 计算天数
- 默认:未指定时为 7 天。
阶段 2:收集数据
对每个可用来源并行运行查询:
- VCS 状态:分支/栈结构、近期提交、工作目录状态
- 代码评审:打开的 PR、CI 状态、评审决定、活动
- 问题:最近更新、状态、优先级、分配
- CI/CD:流水线运行、成功/失败、错误摘要
优雅地跳过不可用来源。
阶段 3:聚合
交叉引用和组织:
- 按栈位置分组 PR(如果支持栈感知)
- 按时间约束过滤所有内容
- 将问题与 PR/分支关联
- 识别阻塞项(CI 失败、阻塞性评审)
- 计算相对时间戳
阶段 4:呈现
格式化为可扫描:
- 分层部分(VCS → PR → 问题 → CI)
- 视觉指示符(✓ ✗ ⏳ 表示状态)
- 相对时间戳表示新近度
- 突出需要关注的项目
- 包含深入查看的链接
参见 templates.md 了解部分格式。
数据来源
- VCS:栈可视化、提交历史、工作目录状态。栈感知(Graphite、git-stack):分层分支关系;标准 git:分支、日志、远程跟踪。
- 代码评审:PR/MR、CI 检查、评审、评论。平台:GitHub、GitLab、Bitbucket、Gerrit。
- 问题:最近更新、元数据、仓库关系。平台:Linear、Jira、GitHub Issues、GitLab Issues。
- CI/CD:运行、成功/失败、时间、错误。平台:GitHub Actions、GitLab CI、CircleCI、Jenkins。
工具特定:graphite.md、github.md、linear.md、beads.md。
交叉引用
- PR 到分支(按名称)
- 问题到 PR(按标题/正文中的 ID)
- CI 运行到 PR(按编号/SHA)
- 问题到仓库(按引用)
栈感知组织
- 按层级分组 PR
- 显示父/子关系
- 指示当前位置
- 按栈顺序突出阻塞项
过滤
- 时间:应用于所有来源,使用最近更新
- 状态:优先需要操作的,打开的先于关闭的
相对时间戳
- < 1 小时:“X minutes ago”
- < 24 小时:“X hours ago”
- < 7 天:“X days ago”
- = 7 天:“X weeks ago” 或绝对时间
视觉指示符
- ✓ 成功 | ✗ 失败 | ⏳ 待处理 | ⏸ 草稿 | 🔴 阻塞
- ▓▓▓░░ 进度 (3/5)
- ◇ 轻微 | ◆ 中等 | ◆◆ 严重
输出结构
=== STATUS REPORT: {repo} ===
Generated: {timestamp}
{Time filter if applicable}
{VCS_SECTION}
{PR_SECTION}
{ISSUE_SECTION}
{CI_SECTION}
⚠️ ATTENTION NEEDED
{blockers and action items}
参见 templates.md 了解详细部分模板。
自动化脚本
使用 scripts/sitrep.ts 进行自动收集:
./scripts/sitrep.ts # 所有来源,默认 24h
./scripts/sitrep.ts -t 7d # 最近 7 天
./scripts/sitrep.ts -s github # 特定来源
./scripts/sitrep.ts --format=text
输出 JSON(结构化)或文本(人类可读)。减少代理工具调用 80% 以上。
参见 implementation.md 了解脚本结构和模式。
适用场景
- 作为会话启动器:生成报告(了解状态)、识别需要关注的项目、规划工作(按阻塞项优先排序)、定期返回(跟踪进度)。
- 跨技能引用:CI 失败 → 调试;规划前 → 使用报告获取上下文;被阻塞时 → 检查依赖。
- 自动化:每日站会、提交前钩子、PR 创建上下文。
限制
- 必需:VCS 工具(git、gt、jj)、shell 访问。
- 可选(优雅降级):代码评审 CLI(gh、glab)、问题跟踪 MCP/API、CI/CD 平台 API。
- 可与任何可用子集一起工作。
始终
- 在查询前解析时间约束
- 并行执行查询
- 优雅处理缺失来源
- 使用相对时间戳
- 突出可操作项目
- 提供深入查看的链接
- 格式化为可扫描
绝不
- 如果一个来源不可用就完全失败
- 阻塞在慢查询上(使用超时)
- 暴露凭据
- 未经组织地转储原始数据
工具集成
- graphite.md - Graphite 栈和 PR 查询
- github.md - GitHub CLI 模式
- linear.md - Linear MCP 集成
- beads.md - 本地问题跟踪
实现
- templates.md - 输出模板和格式
- implementation.md - 模式、脚本、反模式
- EXAMPLES.md - 使用示例和示例输出