Daily meeting update skill
Interactive daily standup/meeting update generator.
by davila7·MIT license·★ 32,299 Stars on the repo·GitHub ↗
npx degit davila7/claude-code-templates/cli-tool/components/skills/enterprise-communication/daily-meeting-update#main ~/.claude/skills/daily-meeting-updateChecked ·commit main
Files of Daily meeting update
Show the full text409 lines
Daily Meeting Update
Generate a daily standup/meeting update through an interactive interview. Never assume tools are configured—ask first.
Workflow
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 │
└─────────────────────────────────────────────────────┘
Phase 1: Detect & Offer Integrations
Step 1: Silent Detection
Check for available integrations silently (suppress errors, don't show to user):
| Integration | Detection |
|---|---|
| Claude Code History | ~/.claude/projects directory exists with .jsonl files |
| GitHub CLI | gh auth status succeeds |
| Jira CLI | jira command exists |
| Atlassian MCP | mcp__atlassian__* tools available |
| Git | Inside a git repository |
Step 2: Offer GitHub/Jira Integrations (if available)
Claude Code users: Use
AskUserQuestionTooltool for all questions in this phase.
GitHub/Git:
If HAS_GH or 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"
If yes:
"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:
If HAS_JIRA_CLI or 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"
Step 3: Pull GitHub/Jira Data (if approved)
GitHub/Git — For each approved repo:
- Commits by user since yesterday
- PRs opened/merged by user
- Reviews done by user
Jira — Tickets assigned to user, updated in last 24h
Key insight: Store results to use as context in Phase 2 interview.
Step 4: Offer Claude Code History
This integration captures everything you worked on with Claude Code — useful for recalling work that isn't in git or Jira.
Detection:
ls ~/.claude/projects/*/*.jsonl 2>/dev/null | head -1
If Claude Code history exists, ask:
"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"
If yes, run the digest script:
python3 ~/.claude/skills/daily-meeting-update/scripts/claude_digest.py --format json
Then present sessions with multiSelect:
Use AskUserQuestionTool with multiSelect: true to let user pick relevant items:
"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)"
Key insight: User selects which sessions are work-related. Personal projects or experiments can be excluded.
Do NOT run digest script when:
- User explicitly says "No" to Claude Code history
- User says they'll provide everything manually
~/.claude/projectsdirectory doesn't exist
If digest script fails:
- Fallback: Skip Claude Code integration silently, proceed with interview
- Common issues: Python not installed, no sessions from yesterday, permission errors
- Do NOT block the standup flow — the script is supplemental, not required
Phase 2: Interview (with insights)
Claude Code users: Use
AskUserQuestionTooltool to conduct the interview. This provides a better UX with structured options.
Use pulled data as context to make questions smarter.
Question 1: Yesterday
If data was pulled, show it first:
"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?"
If no data pulled:
"What did you work on yesterday/since the last standup?"
If user response is vague, ask follow-up:
- "Can you give more details about X?"
- "Did you complete anything specific?"
Question 2: Today
"What will you work on today?"
Options:
- [Text input - user types freely]
If Jira data was pulled, you can suggest:
"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?"
Question 3: Blockers
"Do you have any blockers or impediments?"
Options:
- "No blockers"
- "Yes, I have blockers" → follow-up for details
Question 4: Topics for Discussion
"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
Phase 3: Generate Update
Combine all information into clean 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]
Core Principles
- Interview is primary — Tools supplement, they don't replace human context
- Consent before access — Always ask before pulling from any integration
- Context-aware questions — Show pulled data during interview to trigger memory ("I see you merged PR #123...")
Quick Reference
| Phase | Action | Tool |
|---|---|---|
| 1. Detect & Offer | Check gh/jira/claude history, ask user, pull data | Bash (silent), AskUserQuestionTool* |
| 2. Interview | Ask 4 questions with insights | AskUserQuestionTool* |
| 3. Generate | Format Markdown | Output text |
*Claude Code only: Use AskUserQuestionTool tool for structured questions.
Claude Code Digest Script
# 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
Example Session
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]
Output Example
# 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
Anti-Patterns
| Avoid | Why (Expert Knowledge) | Instead |
|---|---|---|
| Run gh/jira without asking | Users may have personal repos visible, or be in a sensitive project context they don't want exposed | Always ask first, let user choose repos |
| Assume current directory is the only project | Developers often work on 2-5 repos simultaneously (frontend, backend, infra) | Ask "Which projects are you working on?" |
| Skip interview even with tool data | Tools capture WHAT happened but miss WHY and context (research, meetings, planning) | Interview is primary, tools supplement |
| Generate update before all 4 questions | User might have critical blocker or discussion topic that changes the narrative | Complete interview, then generate |
| Include raw commit messages | Commit messages are often cryptic ("fix", "wip") and don't tell the story | Summarize into human-readable outcomes |
| Ask for data after interview | Showing insights during interview makes questions smarter ("I see you merged PR #123, anything else?") | Pull data first, then interview with context |
NEVER
- NEVER assume tools are configured — Many devs have gh installed but not authenticated, or jira CLI pointing to wrong instance
- NEVER skip the "Topics for Discussion" question — This is often the most valuable part of standup that tools can't capture
- NEVER generate more than 15 bullets — Standup should be <2 minutes to read; long updates lose the audience
- NEVER include ticket/PR numbers without context — "PROJ-123" means nothing; always include title or summary
- NEVER pull data from repos user didn't explicitly approve — Even if you can see other repos, respect boundaries
| 1 | |
| 2 | name daily-meeting-update |
| 3 | description "Interactive daily standup/meeting update generator. Use when user says 'daily', 'standup', 'scrum update', 'status update', 'what did I do yesterday', 'prepare for meeting', 'morning update', or 'team sync'. Pulls activity from GitHub, Jira, and Claude Code session history. Conducts 4-question interview (yesterday, today, blockers, discussion topics) and generates formatted Markdown update." |
| 4 | user-invocable true |
| 5 | |
| 6 | |
| 7 | # Daily Meeting Update |
| 8 | |
| 9 | Generate a daily standup/meeting update through an **interactive interview**. Never assume tools are configured—ask first. |
| 10 | |
| 11 | |
| 12 | |
| 13 | ## Workflow |
| 14 | |
| 15 | |
| 16 | START |
| 17 | │ |
| 18 | ▼ |
| 19 | ┌─────────────────────────────────────────────────────┐ |
| 20 | │ Phase 1: DETECT & OFFER INTEGRATIONS │ |
| 21 | │ • Check: Claude Code history? gh CLI? jira CLI? │ |
| 22 | │ • Claude Code → Pull yesterday's session digest │ |
| 23 | │ → User selects relevant items via multiSelect │ |
| 24 | │ • GitHub/Jira → Ask user, pull if approved │ |
| 25 | │ • Pull data NOW (before interview) │ |
| 26 | ├─────────────────────────────────────────────────────┤ |
| 27 | │ Phase 2: INTERVIEW (with insights) │ |
| 28 | │ • Show pulled data as context │ |
| 29 | │ • Yesterday: "I see you merged PR #123, what else?" │ |
| 30 | │ • Today: What will you work on? │ |
| 31 | │ • Blockers: Anything blocking you? │ |
| 32 | │ • Topics: Anything to discuss at end of meeting? │ |
| 33 | ├─────────────────────────────────────────────────────┤ |
| 34 | │ Phase 3: GENERATE UPDATE │ |
| 35 | │ • Combine interview answers + tool data │ |
| 36 | │ • Format as clean Markdown │ |
| 37 | │ • Present to user │ |
| 38 | └─────────────────────────────────────────────────────┘ |
| 39 | |
| 40 | |
| 41 | |
| 42 | |
| 43 | ## Phase 1: Detect & Offer Integrations |
| 44 | |
| 45 | ### Step 1: Silent Detection |
| 46 | |
| 47 | Check for available integrations **silently** (suppress errors, don't show to user): |
| 48 | |
| 49 | | Integration | Detection | |
| 50 | |-------------|-----------| |
| 51 | | **Claude Code History** | `~/.claude/projects` directory exists with `.jsonl` files | |
| 52 | | GitHub CLI | `gh auth status` succeeds | |
| 53 | | Jira CLI | `jira` command exists | |
| 54 | | Atlassian MCP | `mcp__atlassian__*` tools available | |
| 55 | | Git | Inside a git repository | |
| 56 | |
| 57 | ### Step 2: Offer GitHub/Jira Integrations (if available) |
| 58 | |
| 59 | > **Claude Code users:** Use `AskUserQuestionTool` tool for all questions in this phase. |
| 60 | |
| 61 | **GitHub/Git:** |
| 62 | |
| 63 | If `HAS_GH` or `HAS_GIT`: |
| 64 | |
| 65 | |
| 66 | "I detected you have GitHub/Git configured. Want me to pull your recent activity (commits, PRs, reviews)?" |
| 67 | |
| 68 | Options: |
| 69 | - "Yes, pull the info" |
| 70 | - "No, I'll provide everything manually" |
| 71 | |
| 72 | |
| 73 | If yes: |
| 74 | |
| 75 | |
| 76 | "Which repositories/projects should I check?" |
| 77 | |
| 78 | Options: |
| 79 | - "Just the current directory" (if in a git repo) |
| 80 | - "I'll list the repos" → user provides list |
| 81 | |
| 82 | |
| 83 | **Jira:** |
| 84 | |
| 85 | If `HAS_JIRA_CLI` or `HAS_ATLASSIAN_MCP`: |
| 86 | |
| 87 | |
| 88 | "I detected you have Jira configured. Want me to pull your tickets?" |
| 89 | |
| 90 | Options: |
| 91 | - "Yes, pull my tickets" |
| 92 | - "No, I'll provide everything manually" |
| 93 | |
| 94 | |
| 95 | ### Step 3: Pull GitHub/Jira Data (if approved) |
| 96 | |
| 97 | **GitHub/Git** — For each approved repo: |
| 98 | Commits by user since yesterday |
| 99 | PRs opened/merged by user |
| 100 | Reviews done by user |
| 101 | |
| 102 | **Jira** — Tickets assigned to user, updated in last 24h |
| 103 | |
| 104 | **Key insight**: Store results to use as context in Phase 2 interview. |
| 105 | |
| 106 | ### Step 4: Offer Claude Code History |
| 107 | |
| 108 | This integration captures everything you worked on with Claude Code — useful for recalling work that isn't in git or Jira. |
| 109 | |
| 110 | **Detection:** |
| 111 | |
| 112 | ls ~/.claude/projects/*/*.jsonl 2>/dev/null | head -1 |
| 113 | |
| 114 | |
| 115 | **If Claude Code history exists, ask:** |
| 116 | |
| 117 | |
| 118 | "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?" |
| 119 | |
| 120 | Options: |
| 121 | - "Yes, pull my Claude Code sessions" |
| 122 | - "No, I have everything I need" |
| 123 | |
| 124 | |
| 125 | **If yes, run the digest script:** |
| 126 | |
| 127 | |
| 128 | python3 ~/.claude/skills/daily-meeting-update/scripts/claude_digest.py --format json |
| 129 | |
| 130 | |
| 131 | **Then present sessions with multiSelect:** |
| 132 | |
| 133 | Use `AskUserQuestionTool` with `multiSelect: true` to let user pick relevant items: |
| 134 | |
| 135 | |
| 136 | "Here are your Claude Code sessions from yesterday. Select the ones relevant to your standup:" |
| 137 | |
| 138 | Options (multiSelect): |
| 139 | - "Fix authentication bug (backend-api)" |
| 140 | - "Implement OAuth flow (backend-api)" |
| 141 | - "Update homepage styles (frontend-app)" |
| 142 | - "Research payment providers (docs)" |
| 143 | |
| 144 | |
| 145 | **Key insight:** User selects which sessions are work-related. Personal projects or experiments can be excluded. |
| 146 | |
| 147 | **Do NOT run digest script when:** |
| 148 | User explicitly says "No" to Claude Code history |
| 149 | User says they'll provide everything manually |
| 150 | `~/.claude/projects` directory doesn't exist |
| 151 | |
| 152 | **If digest script fails:** |
| 153 | Fallback: Skip Claude Code integration silently, proceed with interview |
| 154 | Common issues: Python not installed, no sessions from yesterday, permission errors |
| 155 | Do NOT block the standup flow — the script is supplemental, not required |
| 156 | |
| 157 | |
| 158 | |
| 159 | ## Phase 2: Interview (with insights) |
| 160 | |
| 161 | > **Claude Code users:** Use `AskUserQuestionTool` tool to conduct the interview. This provides a better UX with structured options. |
| 162 | |
| 163 | **Use pulled data as context** to make questions smarter. |
| 164 | |
| 165 | ### Question 1: Yesterday |
| 166 | |
| 167 | **If data was pulled**, show it first: |
| 168 | |
| 169 | |
| 170 | "Here's what I found from your activity: |
| 171 | - Merged PR #123: fix login timeout |
| 172 | - 3 commits in backend-api |
| 173 | - Reviewed PR #456 (approved) |
| 174 | |
| 175 | Anything else you worked on yesterday that I missed?" |
| 176 | |
| 177 | |
| 178 | **If no data pulled:** |
| 179 | |
| 180 | |
| 181 | "What did you work on yesterday/since the last standup?" |
| 182 | |
| 183 | |
| 184 | If user response is vague, ask follow-up: |
| 185 | "Can you give more details about X?" |
| 186 | "Did you complete anything specific?" |
| 187 | |
| 188 | ### Question 2: Today |
| 189 | |
| 190 | |
| 191 | "What will you work on today?" |
| 192 | |
| 193 | Options: |
| 194 | - [Text input - user types freely] |
| 195 | |
| 196 | |
| 197 | **If Jira data was pulled**, you can suggest: |
| 198 | |
| 199 | |
| 200 | "I see you have these tickets assigned: |
| 201 | - PROJ-123: Implement OAuth flow (In Progress) |
| 202 | - PROJ-456: Fix payment bug (To Do) |
| 203 | |
| 204 | Will you work on any of these today?" |
| 205 | |
| 206 | |
| 207 | ### Question 3: Blockers |
| 208 | |
| 209 | |
| 210 | "Do you have any blockers or impediments?" |
| 211 | |
| 212 | Options: |
| 213 | - "No blockers" |
| 214 | - "Yes, I have blockers" → follow-up for details |
| 215 | |
| 216 | |
| 217 | ### Question 4: Topics for Discussion |
| 218 | |
| 219 | |
| 220 | "Any topic you want to bring up at the end of the daily?" |
| 221 | |
| 222 | Options: |
| 223 | - "No, nothing to discuss" |
| 224 | - "Yes" → follow-up for details |
| 225 | |
| 226 | Examples of topics: |
| 227 | - Technical decision that needs input |
| 228 | - Alignment with another team |
| 229 | - Question about prioritization |
| 230 | - Announcement or info for the team |
| 231 | |
| 232 | |
| 233 | |
| 234 | |
| 235 | ## Phase 3: Generate Update |
| 236 | |
| 237 | Combine all information into clean Markdown: |
| 238 | |
| 239 | |
| 240 | # Daily Update - [DATE] |
| 241 | |
| 242 | ## Yesterday |
| 243 | - [Items from interview] |
| 244 | - [Items from GitHub/Jira if pulled] |
| 245 | |
| 246 | ## Today |
| 247 | - [Items from interview] |
| 248 | |
| 249 | ## Blockers |
| 250 | - [Blockers or "No blockers"] |
| 251 | |
| 252 | ## PRs & Reviews (if pulled from GitHub) |
| 253 | - [PRs opened] |
| 254 | - [PRs merged] |
| 255 | - [Reviews done] |
| 256 | |
| 257 | ## Jira (if pulled from Jira) |
| 258 | - [Tickets updated] |
| 259 | |
| 260 | ## Topics for Discussion |
| 261 | - [Topics or "None"] |
| 262 | |
| 263 | |
| 264 | *Links:* |
| 265 | - [PR links] |
| 266 | - [Ticket links] |
| 267 | |
| 268 | |
| 269 | |
| 270 | |
| 271 | ## Core Principles |
| 272 | |
| 273 | **Interview is primary** — Tools supplement, they don't replace human context |
| 274 | **Consent before access** — Always ask before pulling from any integration |
| 275 | **Context-aware questions** — Show pulled data during interview to trigger memory ("I see you merged PR #123...") |
| 276 | |
| 277 | |
| 278 | |
| 279 | ## Quick Reference |
| 280 | |
| 281 | | Phase | Action | Tool | |
| 282 | |-------|--------|------| |
| 283 | | 1. Detect & Offer | Check gh/jira/claude history, ask user, pull data | Bash (silent), AskUserQuestionTool* | |
| 284 | | 2. Interview | Ask 4 questions with insights | AskUserQuestionTool* | |
| 285 | | 3. Generate | Format Markdown | Output text | |
| 286 | |
| 287 | *Claude Code only: Use `AskUserQuestionTool` tool for structured questions. |
| 288 | |
| 289 | ### Claude Code Digest Script |
| 290 | |
| 291 | |
| 292 | # Get yesterday's sessions as JSON |
| 293 | python3 ~/.claude/skills/daily-meeting-update/scripts/claude_digest.py --format json |
| 294 | |
| 295 | # Get today's sessions |
| 296 | python3 ~/.claude/skills/daily-meeting-update/scripts/claude_digest.py --date today --format json |
| 297 | |
| 298 | # Filter to specific project |
| 299 | python3 ~/.claude/skills/daily-meeting-update/scripts/claude_digest.py --project ~/my-app --format json |
| 300 | |
| 301 | |
| 302 | |
| 303 | |
| 304 | ## Example Session |
| 305 | |
| 306 | |
| 307 | Claude: "Let's prepare your daily! I detected GitHub configured. Want me to pull your recent activity?" |
| 308 | User: "Yes" |
| 309 | |
| 310 | Claude: "Which repos should I check?" |
| 311 | User: "backend-api and frontend-app" |
| 312 | |
| 313 | [Claude pulls GitHub data silently] |
| 314 | |
| 315 | Claude: "I can also pull your Claude Code session history from yesterday. Want me to check?" |
| 316 | User: "Yes" |
| 317 | |
| 318 | [Claude runs digest script, gets 5 sessions] |
| 319 | |
| 320 | Claude: "Here are your Claude Code sessions from yesterday. Select the ones relevant to your standup:" |
| 321 | ☑ Fix authentication timeout bug (backend-api) |
| 322 | ☑ Implement OAuth flow (backend-api) |
| 323 | ☐ Update personal blog (blog) - [user unchecks personal project] |
| 324 | ☑ Research payment providers (docs) |
| 325 | ☐ Debugging test failures (experiments) |
| 326 | |
| 327 | User: [selects 3 relevant items] |
| 328 | |
| 329 | Claude: "Here's what I found from your activity: |
| 330 | - Merged PR #120: fix login timeout |
| 331 | - Opened PR #125: feat: add OAuth flow |
| 332 | - Reviewed PR #123 (approved), PR #456 (changes requested) |
| 333 | - 5 commits in backend-api |
| 334 | - [From Claude Code] Fix authentication timeout bug |
| 335 | - [From Claude Code] Implement OAuth flow |
| 336 | - [From Claude Code] Research payment providers |
| 337 | |
| 338 | Anything else you worked on yesterday that I missed?" |
| 339 | User: "No, that covers it" |
| 340 | |
| 341 | Claude: "What will you work on today?" |
| 342 | User: "Continue the OAuth feature and deploy to staging" |
| 343 | |
| 344 | Claude: "Any blockers?" |
| 345 | User: "No" |
| 346 | |
| 347 | Claude: "Any topic to bring up at the end of the daily?" |
| 348 | User: "Yes, I want to discuss the architecture of the new payments module" |
| 349 | |
| 350 | [Claude generates update] |
| 351 | |
| 352 | |
| 353 | |
| 354 | |
| 355 | ## Output Example |
| 356 | |
| 357 | |
| 358 | # Daily Update - 2026-01-22 |
| 359 | |
| 360 | ## Yesterday |
| 361 | - Worked on authentication feature |
| 362 | - Research on payment providers |
| 363 | - Merged PR #120 (fix: login timeout) |
| 364 | - Opened PR #125 (feat: add OAuth flow) |
| 365 | |
| 366 | ## Today |
| 367 | - Continue OAuth feature |
| 368 | - Deploy to staging |
| 369 | |
| 370 | ## Blockers |
| 371 | - No blockers |
| 372 | |
| 373 | ## PRs & Reviews |
| 374 | - **Opened:** PR #125 - feat: add OAuth flow |
| 375 | - **Merged:** PR #120 - fix: login timeout |
| 376 | - **Reviews:** PR #123 (approved), PR #456 (changes requested) |
| 377 | |
| 378 | ## Topics for Discussion |
| 379 | - Architecture of the new payments module |
| 380 | |
| 381 | |
| 382 | *Links:* |
| 383 | - https://github.com/org/repo/pull/125 |
| 384 | - https://github.com/org/repo/pull/120 |
| 385 | |
| 386 | |
| 387 | |
| 388 | |
| 389 | ## Anti-Patterns |
| 390 | |
| 391 | | Avoid | Why (Expert Knowledge) | Instead | |
| 392 | |-------|------------------------|---------| |
| 393 | | Run gh/jira without asking | Users may have personal repos visible, or be in a sensitive project context they don't want exposed | Always ask first, let user choose repos | |
| 394 | | Assume current directory is the only project | Developers often work on 2-5 repos simultaneously (frontend, backend, infra) | Ask "Which projects are you working on?" | |
| 395 | | Skip interview even with tool data | Tools capture WHAT happened but miss WHY and context (research, meetings, planning) | Interview is primary, tools supplement | |
| 396 | | Generate update before all 4 questions | User might have critical blocker or discussion topic that changes the narrative | Complete interview, then generate | |
| 397 | | Include raw commit messages | Commit messages are often cryptic ("fix", "wip") and don't tell the story | Summarize into human-readable outcomes | |
| 398 | | Ask for data after interview | Showing insights during interview makes questions smarter ("I see you merged PR #123, anything else?") | Pull data first, then interview with context | |
| 399 | |
| 400 | |
| 401 | |
| 402 | ## NEVER |
| 403 | |
| 404 | **NEVER assume tools are configured** — Many devs have gh installed but not authenticated, or jira CLI pointing to wrong instance |
| 405 | **NEVER skip the "Topics for Discussion" question** — This is often the most valuable part of standup that tools can't capture |
| 406 | **NEVER generate more than 15 bullets** — Standup should be <2 minutes to read; long updates lose the audience |
| 407 | **NEVER include ticket/PR numbers without context** — "PROJ-123" means nothing; always include title or summary |
| 408 | **NEVER pull data from repos user didn't explicitly approve** — Even if you can see other repos, respect boundaries |
| 409 |
Discussion
Alternatives
Browse more free Claude skills or everything in Operations.