关于 standup
Standup 会将收集到的 GitHub、本地仓库和会话活动整理成简短的口头进展汇报。它按已完成、进行中和已评审分类,并避免编造内容。
主要功能
- 01按确认的日期范围收集活动
- 02扫描 GitHub、仓库和会话记录
- 03按工单归入三种状态
- 04提示数据源不完整
适用场景
- 01准备简短的每日站会汇报
- 02汇总多个仓库工作树中的工作
- 03汇报已评审的团队成员 PR
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ bhagyamudgal/ skills --skill standup安装后在 Claude Code 中输入/standup确认已加载。
附带文件scripts/gather.py
详细介绍
Standup
根据实际工作活动生成简短、适合口头汇报的站会更新。绝不编造事项。收集脚本负责收集原始材料。总结是此技能的工作。
步骤 0:确认日期范围
先提出智能默认选项,再请用户确认。只问一个问题,提供三个选项:今天、上一个工作日或两者。周一回溯到周五。周末运行时,涵盖周五以来的工作。午夜后进行的深夜工作,归入尚未举行的那场站会。
将确认的范围转换为明确的起止时间。单个指定日期表示该日期的完整周期,即当天 10:00 至次日 10:00,因此深夜工作仍归入该日期。
步骤 1:收集
运行 ${CLAUDE_SKILL_DIR}/scripts/gather.py。不带参数时,它会根据当前时间计算默认时间窗口,并输出一个 JSON 数据块。如果用户确认的范围不是默认范围,则传入明确的起止时间。
python3 "${CLAUDE_SKILL_DIR}/scripts/gather.py"
python3 "${CLAUDE_SKILL_DIR}/scripts/gather.py" --start 2026-09-05 --end 2026-09-06
python3 "${CLAUDE_SKILL_DIR}/scripts/gather.py" --start 2026-09-04
python3 "${CLAUDE_SKILL_DIR}/scripts/gather.py" --org myorg --repo-root /path/to/repo
单独使用的 YYYY-MM-DD 表示当天当地时间 10:00。只有需要精确到日内时才使用完整 ISO 格式。--org 会覆盖从 git 远程仓库自动检测到的组织。--repo-root 默认为当前目录。本地扫描涵盖该仓库及其所有 git 工作树。用户要求时,可使用 --no-github、--no-local 和 --no-sessions 排除相应来源。输出中的 window 对象会明确说明涵盖的范围。在标题中注明该时间范围。
会尽力从 Claude、Codex 和 OpenCode 获取会话历史。缺失的存储会被静默跳过。存在的存储不会阻塞其他来源。
步骤 2:撰写站会更新
保持简短、平实。一个工单写一行。整场站会朗读时间远少于一分钟。绝不列出单独的提交或 SHA。绝不倾倒文件列表。绝不逐字引用会话提示词。
将同一工单的所有提交、PR 和本地更改合并为一行。分支名称和 PR 标题中包含工单编号。
按以下顺序分为三类。空类别省略。
- 已完成。 已合并的 PR 和已推送的提交。说明已完成的内容,不要只说 PR 已合并。
- 进行中。 开放的 PR 和尚未推送的本地工作,例如未提交的更改、未推送的提交和暂存内容。只有在实际处理过某个工单但尚未产生提交时,才使用会话记录为该工单命名。跳过上文已涵盖的内容。
- 已审查。 用户审查过的队友 PR。数量较少时,总共写一行。
输出格式
Standup — <window.start_readable> to <window.end_readable>
Done
- <ticket>: <what landed> (#<pr>)
In progress
- <ticket>: <what is mid-way through>
Reviewed
- <teammate>'s <ticket> (#<pr>)
每行写成简短短语,而不是完整句子。先写工单或功能,再用几个词说明内容。将相关的小事项合并到一行,不要每项都单独占一个项目符号。
如果存在 github.errors、github.error、local.errors 或 sessions.errors 中的任何一项,或有来源被跳过,请在末尾添加一条简短说明,让用户知道信息不完整。否则不要提及数据收集细节。如果所有内容都为空,用一行说明,并建议检查组织或仓库根目录。