每日会议更新
通过交互式访谈生成每日站会/会议更新。切勿假定工具已配置——先询问。
工作流
开始
│
▼
┌─────────────────────────────────────────────────────┐
│ 阶段 1:检测并提供集成 │
│ • 检查:Claude Code 历史?gh CLI?jira CLI? │
│ • Claude Code → 拉取昨天的会话摘要 │
│ → 用户通过多选选择相关项 │
│ • GitHub/Jira → 询问用户,如获批准则拉取数据 │
│ • 立即拉取数据(在访谈之前) │
├─────────────────────────────────────────────────────┤
│ 阶段 2:访谈(附带洞察) │
│ • 显示拉取的数据作为上下文 │
│ • 昨天:“我看到你合并了 PR #123,还有其他吗?” │
│ • 今天:你今天要做什么? │
│ • 阻碍项:有什么阻碍你吗? │
│ • 议题:会议结束时有什么要讨论的? │
├─────────────────────────────────────────────────────┤
│ 阶段 3:生成更新 │
│ • 合并访谈答案 + 工具数据 │
│ • 格式化为清晰的 Markdown │
│ • 呈现给用户 │
└─────────────────────────────────────────────────────┘
阶段 1:检测并提供集成
步骤 1:静默检测
静默检查可用集成(抑制错误,不向用户显示):
| 集成 | 检测方式 |
|---|---|
| Claude Code 历史 | ~/.claude/projects 目录存在且包含 .jsonl 文件 |
| GitHub CLI | gh auth status 成功 |
| Jira CLI | jira 命令存在 |
| Atlassian MCP | mcp__atlassian__* 工具可用 |
| Git | 位于 git 仓库中 |
步骤 2:提供 GitHub/Jira 集成(如果可用)
Claude Code 用户: 在此阶段的所有问题请使用
AskUserQuestionTool工具。
GitHub/Git:
如果检测到 HAS_GH 或 HAS_GIT:
“我发现你配置了 GitHub/Git。要我拉取你最近的活动(提交、PR、审查)吗?”
选项:
- “是,拉取信息”
- “不,我将手动提供所有内容”
如果选择“是”:
“我应该检查哪些仓库/项目?”
选项:
- “仅当前目录”(如果在 git 仓库中)
- “我将列出仓库” → 用户提供列表
Jira:
如果检测到 HAS_JIRA_CLI 或 HAS_ATLASSIAN_MCP:
“我发现你配置了 Jira。要我拉取你的工单吗?”
选项:
- “是,拉取我的工单”
- “不,我将手动提供所有内容”
步骤 3:拉取 GitHub/Jira 数据(如果获得批准)
GitHub/Git — 对于每个批准的仓库:
- 用户自昨天起的提交
- 用户打开/合并的 PR
- 用户完成的审查
Jira — 分配给用户、最近 24 小时内更新的工单
关键洞察:存储结果,以便在阶段 2 的访谈中用作上下文。
步骤 4:提供 Claude Code 历史
此集成捕获你在 Claude Code 中处理的所有内容——对于回忆起不在 git 或 Jira 中的工作很有用。
检测:
ls ~/.claude/projects/*/*.jsonl 2>/dev/null | head -1
如果存在 Claude Code 历史,则询问:
“我还可以拉取你昨天的 Claude Code 会话历史。这有助于回忆不在 git/Jira 中的工作(研究、调试、规划)。要检查吗?”
选项:
- “是,拉取我的 Claude Code 会话”
- “不,我已经有了所需的一切”
如果选择“是”,则运行摘要脚本:
python3 ~/.claude/skills/daily-meeting-update/scripts/claude_digest.py --format json
然后使用多选呈现会话:
使用 AskUserQuestionTool 并设置 multiSelect: true,让用户选择相关项:
“这是你昨天的 Claude Code 会话。选择与你站会相关的项:”
选项(多选):
- “修复认证 bug (backend-api)”
- “实现 OAuth 流 (backend-api)”
- “更新首页样式 (frontend-app)”
- “研究支付提供商 (docs)”
关键洞察: 用户选择哪些会话与工作相关。个人项目或实验可以被排除。
不要运行摘要脚本的情况:
- 用户明确说“不”拒绝 Claude Code 历史
- 用户表示将手动提供所有内容
~/.claude/projects目录不存在
如果摘要脚本失败:
- 回退:静默跳过 Claude Code 集成,继续进行访谈
- 常见问题:未安装 Python、昨天没有会话、权限错误
- 不要阻塞站会流程——该脚本是辅助性的,并非必需
阶段 2:访谈(附带洞察)
Claude Code 用户: 使用
AskUserQuestionTool工具进行访谈。这提供了更好的用户体验,带有结构化选项。
使用拉取的数据作为上下文,使问题更智能。
问题 1:昨天
如果已拉取数据,先展示数据:
“这是我找到的你活动的信息:
- 合并了 PR #123:修复登录超时
- 在 backend-api 中有 3 个提交
- 审查了 PR #456(已批准)
你昨天还有其他我遗漏的工作吗?”
如果未拉取数据:
“你昨天/自上次站会以来做了什么?”
如果用户回答模糊,可以追问:
- “能提供更多关于 X 的细节吗?”
- “有完成什么具体的事情吗?”
问题 2:今天
“你今天要做什么?”
选项:
- [文本输入 - 用户自由输入]
如果已拉取 Jira 数据,你可以建议:
“我看到你分配了以下工单:
- PROJ-123:实现 OAuth 流(进行中)
- PROJ-456:修复支付 bug(待办)
你今天会处理这些工单中的任何一个吗?”
问题 3:阻碍项
“你有什么阻碍或障碍吗?”
选项:
- “没有阻碍”
- “是的,我有阻碍” → 追问细节
问题 4:讨论议题
“在站会结束时有什么要提出的议题吗?”
选项:
- “没有,没什么要讨论的”
- “是的” → 追问细节
议题示例:
- 需要意见的技术决策
- 与另一个团队的协调
- 关于优先级的问题
- 团队公告或信息
阶段 3:生成更新
将所有信息合并为清晰的 Markdown:
# 每日更新 - [日期]
## 昨天
- [访谈中的项目]
- [从 GitHub/Jira 拉取的项目(如果已拉取)]
## 今天
- [访谈中的项目]
## 阻碍项
- [阻碍项或“无阻碍”]
## PR 与审查(如果从 GitHub 拉取)
- [打开的 PR]
- [合并的 PR]
- [完成的审查]
## Jira(如果从 Jira 拉取)
- [更新的工单]
## 讨论议题
- [议题或“无”]
---
*链接:*
- [PR 链接]
- [工单链接]
核心原则
- 访谈是主要的 —— 工具是补充,不能替代人类上下文
- 先征得同意再访问 —— 从任何集成拉取数据前始终询问
- 上下文感知的问题 —— 在访谈中展示拉取的数据以触发记忆(“我看到你合并了 PR #123...”)
快速参考
| 阶段 | 操作 | 工具 |
|---|---|---|
| 1. 检测并提供 | 检查 gh/jira/claude 历史,询问用户,拉取数据 | Bash(静默),AskUserQuestionTool* |
| 2. 访谈 | 提出 4 个问题并附带洞察 | AskUserQuestionTool* |
| 3. 生成 | 格式化为 Markdown | 输出文本 |
*仅限 Claude Code:使用 AskUserQuestionTool 工具进行结构化提问。
Claude Code 摘要脚本
# 获取昨天的会话为 JSON
python3 ~/.claude/skills/daily-meeting-update/scripts/claude_digest.py --format json
# 获取今天的会话
python3 ~/.claude/skills/daily-meeting-update/scripts/claude_digest.py --date today --format json
# 过滤到特定项目
python3 ~/.claude/skills/daily-meeting-update/scripts/claude_digest.py --project ~/my-app --format json
示例会话
Claude:“让我们准备你的每日更新!我检测到 GitHub 已配置。要我拉取你最近的活动吗?”
用户:“是”
Claude:“我应该检查哪些仓库?”
用户:“backend-api 和 frontend-app”
[Claude 静默拉取 GitHub 数据]
Claude:“我还可以拉取你昨天的 Claude Code 会话历史。要检查吗?”
用户:“是”
[Claude 运行摘要脚本,获取 5 个会话]
Claude:“这是你昨天的 Claude Code 会话。选择与你站会相关的项:”
☑ 修复认证超时 bug (backend-api)
☑ 实现 OAuth 流 (backend-api)
☐ 更新个人博客 (blog) - [用户取消选中个人项目]
☑ 研究支付提供商 (docs)
☐ 调试测试失败 (experiments)
用户:[选择 3 个相关项]
Claude:“这是我找到的你活动的信息:
- 合并了 PR #120:修复登录超时
- 打开了 PR #125:feat:添加 OAuth 流
- 审查了 PR #123(已批准)、PR #456(已要求修改)
- 在 backend-api 中有 5 个提交
- [来自 Claude Code] 修复认证超时 bug
- [来自 Claude Code] 实现 OAuth 流
- [来自 Claude Code] 研究支付提供商
你昨天还有其他我遗漏的工作吗?”
用户:“不,就这些了”
Claude:“你今天要做什么?”
用户:“继续 OAuth 功能并部署到 staging”
Claude:“有什么阻碍吗?”
用户:“没有”
Claude:“在站会结束时有什么要提出的议题吗?”
用户:“是的,我想讨论新支付模块的架构”
[Claude 生成更新]
输出示例
# 每日更新 - 2026-01-22
## 昨天
- 处理了认证功能
- 研究支付提供商
- 合并了 PR #120(修复:登录超时)
- 打开了 PR #125(特性:添加 OAuth 流)
## 今天
- 继续 OAuth 功能
- 部署到 staging
## 阻碍项
- 无阻碍
## PR 与审查
- **已打开:** PR #125 - 特性:添加 OAuth 流
- **已合并:** PR #120 - 修复:登录超时
- **审查:** PR #123(已批准)、PR #456(已要求修改)
## 讨论议题
- 新支付模块的架构
---
*链接:*
- https://github.com/org/repo/pull/125
- https://github.com/org/repo/pull/120
反模式
| 避免 | 原因(专家知识) | 应替代为 |
|---|---|---|
| 未经询问就运行 gh/jira | 用户可能有可见的个人仓库,或处于不想暴露的敏感项目上下文中 | 始终先询问,让用户选择仓库 |
| 假定当前目录是唯一项目 | 开发者通常同时处理 2-5 个仓库(前端、后端、基础设施) | 询问“你在处理哪些项目?” |
| 即使有工具数据也跳过访谈 | 工具捕获了“什么”发生,但错过了“为什么”和上下文(研究、会议、规划) | 访谈是主要的,工具是补充 |
| 在完成所有 4 个问题前生成更新 | 用户可能有关键的阻碍项或讨论议题,会改变叙述 | 完成访谈,然后生成 |
| 包含原始提交信息 | 提交信息通常很隐晦(“fix”、“wip”),不能说明故事 | 总结为人类可读的成果 |
| 在访谈后询问数据 | 在访谈中展示洞察使问题更智能(“我看到你合并了 PR #123,还有其他吗?”) | 先拉取数据,然后在有上下文的情况下进行访谈 |
千万不要
- 千万不要假定工具已配置 —— 许多开发者安装了 gh 但未认证,或 jira CLI 指向了错误的实例
- 千万不要跳过“讨论议题”问题 —— 这通常是站会中最有价值的部分,工具无法捕获
- 千万不要生成超过 15 个要点 —— 站会应能在 2 分钟内读完;过长的更新会失去听众
- 千万不要包含不带上下文的工单/PR 编号 —— “PROJ-123”毫无意义;始终包含标题或摘要
- 千万不要拉取用户未明确批准的仓库中的数据 —— 即使你能看到其他仓库,也要尊重界限