daily-standup
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
Chinese<objective>
Generate a daily standup report by cross-referencing Linear issues with git history.
Surface blockers and stale work proactively. End with a concrete focus plan for today
that the user confirms or adjusts.
</objective>
<context>
Requires: `linear` CLI authenticated
Optional: git repo (enhances commit-based analysis), .planning/ directory
</context>
<process>
<objective>
通过交叉比对Linear工单与git历史生成每日晨会报告。主动暴露阻塞项和停滞工作,最后给出具体的今日工作计划供用户确认或调整。
</objective>
<context>
所需依赖:已完成身份认证的`linear` CLI
可选依赖:git仓库(可增强基于提交的分析能力)、.planning/ 目录
</context>
<process>
0. Validate Environment
0. 环境校验
- Confirm CLI is available
linear - Check if inside a git repo (still useful without one, just skip git sections)
Read project scope:
- IF exists →
.linear-project, note: "Scoped to Linear project: {name}"PROJECT=$(cat .linear-project) - IF missing → continue unscoped (no warning — standup should be frictionless)
- Store as
PROJECT_FLAGfor use in all${PROJECT:+--project "$PROJECT"}callslinear
- 确认CLI可用
linear - 检查是否处于git仓库内(无git仓库也可使用,仅跳过git相关分析环节)
读取项目范围:
- 若存在文件 →
.linear-project,提示:"范围限定为Linear项目:{name}"PROJECT=$(cat .linear-project) - 若不存在 → 不限定范围(无警告,晨会流程应尽可能无摩擦)
- 存储为
PROJECT_FLAG,供所有${PROJECT:+--project "$PROJECT"}命令调用linear
1. Gather Data
1. 数据收集
From Linear:
- — recently completed
linear issue list -s completed --limit 10 $PROJECT_FLAG - — in-progress
linear issue list -s started --limit 10 $PROJECT_FLAG - — backlog
linear issue list -s unstarted --limit 10 $PROJECT_FLAG
From Git (if in a repo):
- — yesterday's commits
git log --oneline --since="24 hours ago" - — extended window for stale detection
git log --oneline --since="48 hours ago" - — active branches
git branch --list - Current branch
From GSD (if .planning/ exists):
- Read STATE.md for phase context
- Check for incomplete phases
从Linear获取:
- — 最近完成的工单
linear issue list -s completed --limit 10 $PROJECT_FLAG - — 进行中的工单
linear issue list -s started --limit 10 $PROJECT_FLAG - — 待办工单
linear issue list -s unstarted --limit 10 $PROJECT_FLAG
从Git获取(若处于仓库内):
- — 昨日提交记录
git log --oneline --since="24 hours ago" - — 更长时间窗口的提交记录,用于停滞项检测
git log --oneline --since="48 hours ago" - — 活跃分支
git branch --list - 当前分支
从GSD获取(若存在.planning/目录):
- 读取STATE.md获取阶段上下文
- 检查未完成的阶段
2. Build Standup Report
2. 生成晨会报告
Print a formatted report:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
PRODUCT ► DAILY STANDUP [{project-name or "All Projects"}]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Done (last 24h):
✓ ENG-123 — Added auth flow (3 commits)
✓ ENG-124 — Fixed mobile nav regression
In Progress:
→ ENG-125 — Payment integration (branch: eng-125-payments, 2 commits)
⚠ ENG-126 — Dashboard redesign (no commits in 3 days)
Up Next:
○ ENG-127 — Urgent — API rate limiting
○ ENG-128 — High — Email notifications
Blockers:
❌ ENG-126 — Stale: in-progress since Mon, no commits since then
❌ ENG-129 — Blocked by ENG-125 (payment integration)打印格式化报告:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
PRODUCT ► DAILY STANDUP [{project-name or "All Projects"}]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Done (last 24h):
✓ ENG-123 — Added auth flow (3 commits)
✓ ENG-124 — Fixed mobile nav regression
In Progress:
→ ENG-125 — Payment integration (branch: eng-125-payments, 2 commits)
⚠ ENG-126 — Dashboard redesign (no commits in 3 days)
Up Next:
○ ENG-127 — Urgent — API rate limiting
○ ENG-128 — High — Email notifications
Blockers:
❌ ENG-126 — Stale: in-progress since Mon, no commits since then
❌ ENG-129 — Blocked by ENG-125 (payment integration)3. Detect Issues
3. 问题检测
Automatically flag problems:
Stale issues:
- Any issue In Progress with no matching commits in 48h+
- For each: note how long it's been stale
Orphan work:
- Commits in the last 24h that don't reference any Linear issue
- IF scoped: "Found 3 commits not tied to any issue in {project-name}. Track them?"
- IF unscoped: "Found 3 commits not tied to any Linear issue. Track them?"
Overloaded WIP:
- If more than 3 issues are In Progress simultaneously
- "You have N issues in progress. Consider finishing some before starting new ones."
Due date warnings:
- Any issue due today or overdue
- "ENG-130 is due today and still In Progress"
GSD misalignment (if .planning/ exists):
- Active GSD phase that doesn't match any In Progress Linear issue
- Linear issue In Progress with no corresponding GSD phase
自动标记问题:
停滞工单:
- 所有进行中且48小时以上无对应提交记录的工单
- 对每个停滞工单:标记停滞时长
孤立工作:
- 过去24小时内未关联任何Linear工单的提交记录
- 若限定了项目范围:"发现3条未关联到{project-name}下任何工单的提交,是否需要追踪?"
- 若未限定范围:"发现3条未关联到任何Linear工单的提交,是否需要追踪?"
在制品过载:
- 若同时有超过3个进行中的工单
- 提示:"你当前有N个进行中的工单,建议先完成部分工单再启动新工作。"
截止日期提醒:
- 所有今日到期或已逾期的工单
- 提示:"ENG-130今日到期,目前仍在进行中"
GSD对齐异常(若存在.planning/目录):
- 活跃的GSD阶段未匹配到任何进行中的Linear工单
- 进行中的Linear工单未对应到任何GSD阶段
4. Focus Plan
4. 工作计划
Based on the data, propose a focus plan for today:
Suggested focus for today:
──────────────────────────
1. [Priority] ENG-126 — Unblock: dashboard redesign has been stalled 3 days
2. [Continue] ENG-125 — Payment integration (in progress, momentum)
3. [Start] ENG-127 — API rate limiting (urgent, unstarted)Explain the reasoning briefly:
- Why this order (urgency, staleness, momentum, dependencies)
- What to skip or defer if time is short
基于收集到的数据,生成今日工作计划建议:
Suggested focus for today:
──────────────────────────
1. [Priority] ENG-126 — Unblock: dashboard redesign has been stalled 3 days
2. [Continue] ENG-125 — Payment integration (in progress, momentum)
3. [Start] ENG-127 — API rate limiting (urgent, unstarted)简要说明排序逻辑:
- 排序依据(紧急程度、停滞时长、进展势头、依赖关系)
- 若时间紧张可跳过或延后的工作内容
5. Confirm or Adjust
5. 确认与调整
Ask: "Does this plan work for today, or do you want to adjust priorities?"
- Looks good → "Alright. Run when you're ready to pick up the first item."
/product:start-task - Adjust → gather changes, update the plan
- IF a stale issue was flagged:
Ask: "What's the status on ENG-126? Should I update Linear?"
- Still working → keep as-is
- Blocked → add blocker comment
- Deprioritized → move back to backlog
- Done → move to Done
<success_criteria>
- Complete picture of yesterday's work, current state, and upcoming work
- Every stale or blocked issue surfaced with explicit user resolution
- Concrete focus plan for today presented
- User confirmed or adjusted the plan
- Any Linear status corrections applied </success_criteria>
询问用户:"今日工作计划是否合适,还是需要调整优先级?"
- 确认没问题 → "好的,准备好开始第一项工作时请运行。"
/product:start-task - 需要调整 → 收集修改内容,更新计划
- 若标记了停滞工单:
询问:"ENG-126的当前状态如何?需要我更新Linear上的状态吗?"
- 仍在进行中 → 保持原有状态
- 被阻塞 → 添加阻塞备注
- 优先级降低 → 移回待办
- 已完成 → 标记为已完成
<success_criteria>
- 完整呈现昨日工作、当前状态和待办工作
- 所有停滞或阻塞的工单都已暴露,且得到用户明确的处理方案
- 给出具体的今日工作计划
- 用户确认或调整了计划
- 所有需要修改的Linear状态都已更新 </success_criteria>