关于 daily-meeting-update
通过交互式访谈生成每日站会更新的 skill,面向需要整理昨日工作、今日计划和阻碍的团队成员。它可在获得同意后参考 GitHub、Jira 和 Claude Code 活动,并以 Markdown 汇总。
主要功能
- 01先检测集成并征求数据访问同意
- 02从 GitHub 和 Jira 获取近期活动
- 03可选读取 Claude Code 会话记录
- 04围绕昨日、今日、阻碍和讨论主题访谈
- 05结合活动上下文生成 Markdown 更新
适用场景
- 01准备每日站会的工作进展
- 02汇总多个仓库的提交、PR 和评审
- 03结合 Jira 工单回顾并安排工作
- 04从 Claude Code 会话中回忆非代码库工作
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ softaworks/ agent-toolkit --skill daily-meeting-update安装后在 Claude Code 中输入/daily-meeting-update确认已加载。
附带文件README.mdscripts/claude_digest.py
详细介绍
每日会议更新
通过交互式访谈生成每日站会/会议更新。切勿假设工具已配置——先询问。
工作流
START
│
▼
┌─────────────────────────────────────────────────────┐
│ Phase 1: DETECT & OFFER INTEGRATIONS │
│ • Check: Claude Code history? gh CLI? jira CLI? │
│ • Claude Code → Pull yesterday's session digest │
│ → User selects relevant items via multiSelect │
│ • GitHub/Jira → Ask user, pull if approved │
│ • Pull data NOW (before interview) │
├─────────────────────────────────────────────────────┤
│ Phase 2: INTERVIEW (with insights) │
│ • Show pulled data as context │
│ • Yesterday: "I see you merged PR #123, what else?" │
│ • Today: What will you work on? │
│ • Blockers: Anything blocking you? │
│ • Topics: Anything to discuss at end of meeting? │
├─────────────────────────────────────────────────────┤
│ Phase 3: GENERATE UPDATE │
│ • Combine interview answers + tool data │
│ • Format as clean Markdown │
│ • Present to user │
└─────────────────────────────────────────────────────┘
阶段 1:检测并提供集成选项
步骤 1:静默检测
静默检查可用的集成**(抑制错误,不向用户显示)**:
| 集成 | 检测方式 |
|---|---|
| Claude Code History | ~/.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:
"I detected you have GitHub/Git configured. Want me to pull your recent activity (commits, PRs, reviews)?"
Options:
- "Yes, pull the info"
- "No, I'll provide everything manually"
如果回答是:
"Which repositories/projects should I check?"
Options:
- "Just the current directory" (if in a git repo)
- "I'll list the repos" → user provides list
Jira:
如果 HAS_JIRA_CLI 或 HAS_ATLASSIAN_MCP:
"I detected you have Jira configured. Want me to pull your tickets?"
Options:
- "Yes, pull my tickets"
- "No, I'll provide everything manually"
步骤 3:拉取 GitHub/Jira 数据(如果获准)
GitHub/Git — 针对每个获准的仓库:
- 用户从昨天起的提交
- 用户创建/合并的 PR
- 用户完成的审查
Jira — 分配给用户且在过去 24 小时内更新的工单
关键要点:保存结果,以便在阶段 2 的访谈中用作上下文。
步骤 4:提供 Claude Code History 集成选项
此集成会记录你使用 Claude Code 完成的所有工作——有助于回忆未记录在 git 或 Jira 中的工作。
检测:
ls ~/.claude/projects/*/*.jsonl 2>/dev/null | head -1
如果存在 Claude Code 历史记录,询问:
"I can also pull your Claude Code session history from yesterday. This can help recall work that isn't in git/Jira (research, debugging, planning). Want me to check?"
Options:
- "Yes, pull my Claude Code sessions"
- "No, I have everything I need"
如果回答是,运行摘要脚本:
python3 ~/.claude/skills/daily-meeting-update/scripts/claude_digest.py --format json
然后使用 multiSelect 显示会话:
使用 AskUserQuestionTool 并设置 multiSelect: true,让用户选择相关项目:
"Here are your Claude Code sessions from yesterday. Select the ones relevant to your standup:"
Options (multiSelect):
- "Fix authentication bug (backend-api)"
- "Implement OAuth flow (backend-api)"
- "Update homepage styles (frontend-app)"
- "Research payment providers (docs)"
关键要点: 由用户选择哪些会话与工作相关。个人项目或实验可以排除。
以下情况不要运行摘要脚本:
- 用户明确表示不使用 Claude Code 历史记录
- 用户表示会手动提供所有信息
~/.claude/projects目录不存在
如果摘要脚本运行失败:
- 回退方案:静默跳过 Claude Code 集成,继续访谈
- 常见问题:未安装 Python、昨天没有会话、权限错误
- 不要因此中断站会流程——该脚本仅用于辅助,并非必需
阶段 2:访谈(结合洞察)
Claude Code 用户: 使用
AskUserQuestionTool工具进行访谈。通过结构化选项可提供更好的用户体验。
将拉取的数据用作上下文,让问题更有针对性。
问题 1:昨天
如果已拉取数据,先展示:
"Here's what I found from your activity:
- Merged PR #123: fix login timeout
- 3 commits in backend-api
- Reviewed PR #456 (approved)
Anything else you worked on yesterday that I missed?"
如果没有拉取数据:
"What did you work on yesterday/since the last standup?"
如果用户的回答含糊不清,请追问:
- “能否详细说明一下 X?”
- “你具体完成了什么吗?”
问题 2:今天
"What will you work on today?"
Options:
- [Text input - user types freely]
如果已拉取 Jira 数据,可以建议:
"I see you have these tickets assigned:
- PROJ-123: Implement OAuth flow (In Progress)
- PROJ-456: Fix payment bug (To Do)
Will you work on any of these today?"
问题 3:阻碍
"Do you have any blockers or impediments?"
Options:
- "No blockers"
- "Yes, I have blockers" → follow-up for details
问题 4:讨论主题
"Any topic you want to bring up at the end of the daily?"
Options:
- "No, nothing to discuss"
- "Yes" → follow-up for details
Examples of topics:
- Technical decision that needs input
- Alignment with another team
- Question about prioritization
- Announcement or info for the team
阶段 3:生成更新
将所有信息整理为清晰的 Markdown:
# Daily Update - [DATE]
## Yesterday
- [Items from interview]
- [Items from GitHub/Jira if pulled]
## Today
- [Items from interview]
## Blockers
- [Blockers or "No blockers"]
## PRs & Reviews (if pulled from GitHub)
- [PRs opened]
- [PRs merged]
- [Reviews done]
## Jira (if pulled from Jira)
- [Tickets updated]
## Topics for Discussion
- [Topics or "None"]
---
*Links:*
- [PR links]
- [Ticket links]
核心原则
- 访谈优先——工具仅用于补充,不能替代人工提供的上下文
- 先征得同意再访问——从任何集成拉取数据前都必须先询问
- 结合上下文提问——在访谈过程中展示拉取的数据以唤起记忆(“我看到你合并了 PR #123……”)
快速参考
| 阶段 | 操作 | 工具 |
|---|---|---|
| 1. 检测并提供选项 | 检查 gh/jira/claude 历史记录,询问用户,拉取数据 | Bash(静默)、AskUserQuestionTool* |
| 2. 访谈 | 结合洞察提出 4 个问题 | AskUserQuestionTool* |
| 3. 生成 | 格式化 Markdown | 输出文本 |
*仅适用于 Claude Code:使用 AskUserQuestionTool 工具提出结构化问题。
Claude Code 摘要脚本
# Get yesterday's sessions as JSON
python3 ~/.claude/skills/daily-meeting-update/scripts/claude_digest.py --format json
# Get today's sessions
python3 ~/.claude/skills/daily-meeting-update/scripts/claude_digest.py --date today --format json
# Filter to specific project
python3 ~/.claude/skills/daily-meeting-update/scripts/claude_digest.py --project ~/my-app --format json
会话示例
Claude: "Let's prepare your daily! I detected GitHub configured. Want me to pull your recent activity?"
User: "Yes"
Claude: "Which repos should I check?"
User: "backend-api and frontend-app"
[Claude pulls GitHub data silently]
Claude: "I can also pull your Claude Code session history from yesterday. Want me to check?"
User: "Yes"
[Claude runs digest script, gets 5 sessions]
Claude: "Here are your Claude Code sessions from yesterday. Select the ones relevant to your standup:"
☑ Fix authentication timeout bug (backend-api)
☑ Implement OAuth flow (backend-api)
☐ Update personal blog (blog) - [user unchecks personal project]
☑ Research payment providers (docs)
☐ Debugging test failures (experiments)
User: [selects 3 relevant items]
Claude: "Here's what I found from your activity:
- Merged PR #120: fix login timeout
- Opened PR #125: feat: add OAuth flow
- Reviewed PR #123 (approved), PR #456 (changes requested)
- 5 commits in backend-api
- [From Claude Code] Fix authentication timeout bug
- [From Claude Code] Implement OAuth flow
- [From Claude Code] Research payment providers
Anything else you worked on yesterday that I missed?"
User: "No, that covers it"
Claude: "What will you work on today?"
User: "Continue the OAuth feature and deploy to staging"
Claude: "Any blockers?"
User: "No"
Claude: "Any topic to bring up at the end of the daily?"
User: "Yes, I want to discuss the architecture of the new payments module"
[Claude generates update]
输出示例
# Daily Update - 2026-01-22
## Yesterday
- Worked on authentication feature
- Research on payment providers
- Merged PR #120 (fix: login timeout)
- Opened PR #125 (feat: add OAuth flow)
## Today
- Continue OAuth feature
- Deploy to staging
## Blockers
- No blockers
## PRs & Reviews
- **Opened:** PR #125 - feat: add OAuth flow
- **Merged:** PR #120 - fix: login timeout
- **Reviews:** PR #123 (approved), PR #456 (changes requested)
## Topics for Discussion
- Architecture of the new payments module
---
*Links:*
- 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”毫无意义;务必附上标题或摘要
- 切勿从用户未明确批准的仓库提取数据 — 即使你能看到其他仓库,也要尊重边界