daily-meeting-update

daily-meeting-update

熱門

互動式每日站會 / 工作報告生成器。當使用者提到 'daily'、'standup'、'scrum update'、'status update'、'what did I do yesterday'、'prepare for meeting'、'morning update' 或 'team sync' 時使用。會從 GitHub、Jira 以及 Claude Code 的對話紀錄中抓取近期動態,並透過 4 個引導問題(昨天做了什麼、今天要做什麼、遇到什麼阻礙、會議討論議題)進行簡短訪談,最後生成格式完美的 Markdown 站會報告。

2215星標
213分支
更新於 2026/3/5
SKILL.md
唯讀
名稱
daily-meeting-update
描述

互動式每日站會 / 工作報告生成器。當使用者提到 'daily'、'standup'、'scrum update'、'status update'、'what did I do yesterday'、'prepare for meeting'、'morning update' 或 'team sync' 時使用。會從 GitHub、Jira 以及 Claude Code 的對話紀錄中抓取近期動態,並透過 4 個引導問題(昨天做了什麼、今天要做什麼、遇到什麼阻礙、會議討論議題)進行簡短訪談,最後生成格式完美的 Markdown 站會報告。

Daily Meeting Update

透過互動式訪談快速生成每日站會 / 工作報告。切勿直接假設相關工具已設定完畢——請務必先詢問使用者。


Workflow

START
  │
  ▼
┌─────────────────────────────────────────────────────┐
│ Phase 1: 偵測並提供整合功能                          │
│ • 檢查:Claude Code 歷史紀錄?gh CLI?jira CLI?     │
│ • Claude Code → 抓取昨天的對話摘要                   │
│   → 使用者透過 multiSelect 勾選相關項目              │
│ • GitHub/Jira → 詢問使用者,獲得同意後再抓取        │
│ • 立刻抓取資料(在進行訪談之前)                    │
├─────────────────────────────────────────────────────┤
│ Phase 2: 訪談(結合已抓取的動態)                   │
│ • 將抓取到的資料作為背景資訊顯示                     │
│ • 昨天:"我看到你合併了 PR #123,還有其他工作嗎?"   │
│ • 今天:今天預計處理什麼任務?                       │
│ • 阻礙:有遇到任何阻礙嗎?                           │
│ • 議題:會議結束前有什麼需要討論的事項嗎?           │
├─────────────────────────────────────────────────────┤
│ Phase 3: 生成站會報告                               │
│ • 整合訪談回答 + 工具抓取的資料                      │
│ • 排版為整潔的 Markdown 格式                         │
│ • 呈現給使用者                                       │
└─────────────────────────────────────────────────────┘

Phase 1: 偵測並提供整合功能

Step 1: 靜默偵測

背景靜默檢查可用的整合功能(隱藏錯誤訊息,不顯示給使用者):

整合項目 偵測方式
Claude Code History 存在 ~/.claude/projects 目錄且包含 .jsonl 檔案
GitHub CLI 執行 gh auth status 成功
Jira CLI 存在 jira 指令
Atlassian MCP 可使用 mcp__atlassian__* 工具
Git 位於 Git 儲存庫內

Step 2: 提供 GitHub/Jira 整合選項(若可用)

Claude Code 使用者: 此階段的所有問題請統一使用 AskUserQuestionTool 工具提問。

GitHub/Git:

HAS_GHHAS_GIT 為真:

"偵測到您已設定 GitHub/Git。是否要幫您抓取最近的動態(commit、PR、review)?"

選項:
- "好,幫我抓取動態"
- "不用,我手動提供即可"

若選擇是:

"請問要檢查哪些儲存庫(repo)/ 專案?"

選項:
- "僅檢查目前目錄"(若位於 git repo 內)
- "我手動輸入 repo 列表" → 使用者提供列表

Jira:

HAS_JIRA_CLIHAS_ATLASSIAN_MCP 為真:

"偵測到您已設定 Jira。是否要幫您抓取指派給您的票券(ticket)?"

選項:
- "好,幫我抓取票券"
- "不用,我手動提供即可"

Step 3: 抓取 GitHub/Jira 資料(若獲同意)

GitHub/Git — 針對每個獲得授權的 repo:

  • 自昨天以來使用者提交的 commit
  • 使用者建立 / 合併的 PR
  • 使用者完成的 review

Jira — 指派給使用者且在過去 24 小時內有更新的票券

核心要點:儲存抓取結果,以便在 Phase 2 的訪談中作為背景 context 使用。

Step 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

接著使用 multiSelect 呈現對話清單:

使用 AskUserQuestionTool 並將 multiSelect 設為 true,讓使用者勾選相關項目:

"以下是您昨天的 Claude Code 對話紀錄。請勾選與本次站會相關的項目:"

選項(multiSelect):
- "修復身分驗證 bug (backend-api)"
- "實作 OAuth 流程 (backend-api)"
- "更新首頁樣式 (frontend-app)"
- "研究金流服務商 (docs)"

核心要點: 由使用者決定哪些對話屬於工作內容。個人專案或實驗性測試可以排除不選。

切勿在以下情況執行摘要指令碼:

  • 使用者明確拒絕(對 Claude Code 歷史紀錄選擇「否」)
  • 使用者表示會手動提供所有資訊
  • 不存在 ~/.claude/projects 目錄

若摘要指令碼執行失敗:

  • 備援機制:靜默跳過 Claude Code 整合,直接繼續訪談
  • 常見原因:未安裝 Python、昨天沒有對話紀錄、權限錯誤
  • 切勿阻礙站會流程——該指令碼僅為輔助工具,非必要條件

Phase 2: 訪談(結合已抓取的動態)

Claude Code 使用者: 請使用 AskUserQuestionTool 工具進行訪談,這樣能提供包含結構化選項的最佳 UX。

利用抓取到的資料作為 context,讓提問更加聰明、精準。

問題 1:昨天做了什麼

若已抓取資料,先呈現出來:

"根據您的近期動態,我整理了以下內容:
- 合併了 PR #123:fix login timeout
- 在 backend-api 提交了 3 個 commit
- 完成 PR #456 的 review(已核可)

昨天還有其他漏掉的工作項目嗎?"

若未抓取資料:

"自上次站會以來 / 昨天您處理了哪些工作?"

若使用者的回答太過籠統,可追問:

  • "可以詳細說明一下 X 的部分嗎?"
  • "有完成什麼具體的成果嗎?"

問題 2:今天要做什麼

"您今天預計處理什麼工作?"

選項:
- [文字輸入 - 使用者自由輸入]

若已抓取 Jira 資料,可以主動建議:

"我看到您有以下指派的票券:
- PROJ-123: Implement OAuth flow (進行中)
- PROJ-456: Fix payment bug (待處理)

今天會處理其中任何一項嗎?"

問題 3:遭遇的阻礙

"目前有遇到任何阻礙或需要協助的地方嗎?"

選項:
- "沒有阻礙"
- "有,遇到阻礙了" → 追問詳細細節

問題 4:會議討論議題

"站會結束前有什麼想提出來討論的議題嗎?"

選項:
- "沒有,無須討論"
- "有" → 追問詳細細節

討論議題範例:
- 需要團隊意見的技術決策
- 與其他團隊的對齊(alignment)
- 關於優先順序的疑問
- 要向團隊宣布或分享的資訊

Phase 3: 生成站會報告

將所有資訊彙整為整潔的 Markdown 格式:

# Daily Update - [DATE]

## 昨天
- [訪談中的項目]
- [若有抓取 GitHub/Jira,包含其項目]

## 今天
- [訪談中的項目]

## 阻礙
- [阻礙事項或 "無阻礙"]

## PRs & Reviews(若有從 GitHub 抓取)
- [建立的 PR]
- [合併的 PR]
- [完成的 Review]

## Jira(若有從 Jira 抓取)
- [更新的票券]

## 討論議題
- [討論事項或 "無"]

---
*連結:*
- [PR 連結]
- [票券連結]

核心原則

  1. 訪談為主,工具為輔 — 工具是用來補充資訊,無法取代人類回答的背景與脈絡
  2. 存取前先徵得同意 — 從任何整合功能抓取資料前,務必先詢問使用者
  3. 具備背景感知(Context-aware)的提問 — 在訪談時提示抓取到的動態以觸發記憶(「我看到你合併了 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,需要幫您抓取最近的動態嗎?"
User: "好啊"

Claude: "請問要檢查哪些 repo?"
User: "backend-api 和 frontend-app"

[Claude 在背景靜默抓取 GitHub 資料]

Claude: "我也能幫您抓取昨天的 Claude Code 對話紀錄,需要檢查嗎?"
User: "好"

[Claude 執行摘要指令碼,取得 5 個對話紀錄]

Claude: "以下是您昨天的 Claude Code 對話紀錄。請勾選與本次站會相關的項目:"
  ☑ Fix authentication timeout bug (backend-api)
  ☑ Implement OAuth flow (backend-api)
  ☐ Update personal blog (blog) - [使用者取消勾選個人專案]
  ☑ Research payment providers (docs)
  ☐ Debugging test failures (experiments)

User: [勾選 3 個相關項目]

Claude: "根據您的近期動態,我整理了以下內容:
- 合併了 PR #120:fix login timeout
- 建立了 PR #125:feat: add OAuth flow
- 完成 PR #123 的 review(已核可)、PR #456(要求修改)
- 在 backend-api 提交了 5 個 commit
- [來自 Claude Code] Fix authentication timeout bug
- [來自 Claude Code] Implement OAuth flow
- [來自 Claude Code] Research payment providers

昨天還有其他漏掉的工作項目嗎?"
User: "沒有,這樣就全了"

Claude: "您今天預計處理什麼工作?"
User: "繼續開發 OAuth 功能,並部署到 staging 環境"

Claude: "有遇到任何阻礙嗎?"
User: "沒有"

Claude: "站會結束前有什麼想提出來討論的議題嗎?"
User: "有,我想討論新金流模組的架構設計"

[Claude 生成站會報告]

輸出範例

# Daily Update - 2026-01-22

## 昨天
- 處理身分驗證功能
- 研究金流服務商
- 合併了 PR #120 (fix: login timeout)
- 建立了 PR #125 (feat: add OAuth flow)

## 今天
- 繼續開發 OAuth 功能
- 部署至 staging 環境

## 阻礙
- 無阻礙

## PRs & Reviews
- **已建立:** PR #125 - feat: add OAuth flow
- **已合併:** PR #120 - fix: login timeout
- **Reviews:** PR #123 (已核可), PR #456 (要求修改)

## 討論議題
- 新金流模組的架構設計

---
*連結:*
- https://github.com/org/repo/pull/125
- https://github.com/org/repo/pull/120

反面模式(Anti-Patterns)

應避免的行為 原因(專家經驗) 建議做法
未經詢問直接執行 gh/jira 使用者可能開啟了個人 repo,或處於不希望公開的敏感專案情境中 務必先詢問,讓使用者自行選擇 repo
假設目前目錄是唯一的專案 開發者通常同時在 2-5 個 repo 中工作(前端、後端、基礎設施等) 主動詢問:「您正在處理哪些專案?」
有了工具資料就跳過訪談 工具能記錄「做了什麼(WHAT)」,但會遺漏「為什麼(WHY)」及背景 context(研究、會議、規劃等) 訪談為主,工具為輔
未問完 4 個問題就提前生成報告 使用者可能會有極為關鍵的阻礙或討論議題,進而改變報告的敘事主軸 完成全部訪談後再生成報告
直接列出原始 commit 訊息 Commit 訊息通常過於簡略或晦澀(如 "fix"、"wip"),無法表達實際工作成果 歸納整理為人類易讀的成果描述
訪談完成後才抓取資料 在訪談中展示抓取到的動態能有效喚醒記憶(「我看到你合併了 PR #123,還有別的嗎?」) 先抓取資料,再結合 context 進行訪談

絕對禁止(NEVER)

  • 絕對不要假設工具已設定完畢 — 許多開發者雖然安裝了 gh 但未通過認證,或者 jira CLI 指向錯誤的實體
  • 絕對不要跳過「討論議題」問題 — 這通常是站會中最具價值的環節,也是自動化工具無法擷取的資訊
  • 絕對不要生成超過 15 個條目 — 站會報告的閱讀時間應控制在 2 分鐘以內,過長的內容會讓聽眾失去焦點
  • 絕對不要在沒有 context 的情況下單純列出票券/PR 編號 — 單寫 "PROJ-123" 毫無意義,務必附上標題或摘要
  • 絕對不要從未獲使用者明確同意的 repo 抓取資料 — 即使您能存取其他 repo,也請尊重邊界