Catalog
softaworks/daily-meeting-update

softaworks

daily-meeting-update

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.

global
0installs0uses~3.0k
v1.1Saved Apr 20, 2026

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 AskUserQuestionTool tool 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/projects directory 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 AskUserQuestionTool tool 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

  1. Interview is primary — Tools supplement, they don't replace human context
  2. Consent before access — Always ask before pulling from any integration
  3. 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
Files3
3 files · 18.8 KB

Select a file to preview

Overall Score

83/100

Grade

B

Good

Safety

85

Quality

82

Clarity

84

Completeness

79

Summary

Interactive daily standup generator that conducts a structured 4-question interview (yesterday, today, blockers, discussion topics) and optionally enriches responses with activity data from GitHub, Git, Jira, and Claude Code session history. The skill prioritizes user consent and context-aware questioning over automated data gathering.

Detected Capabilities

Interactive multi-question interview with AskUserQuestionToolSilent detection of GitHub CLI, Jira CLI, Git, Claude Code historyConditional data pulling from GitHub (commits, PRs, reviews)Conditional data pulling from Jira (assigned tickets, recent updates)Claude Code session digest script (Python) with JSON/text outputMulti-select UI for filtering Claude Code sessions by relevanceMarkdown generation with structured daily update formatContext-aware question prompts that reference pulled dataError handling with fallback to manual input on script failure

Trigger Keywords

Phrases that MCP clients use to match this skill to user intent.

daily standupscrum updatestatus updateprepare for meetinggithub activity summaryjira ticket reviewwork summaryteam sync

Risk Signals

INFO

Claude Code history file access at ~/.claude/projects/

SKILL.md Phase 1 Step 4, scripts/claude_digest.py
INFO

GitHub CLI execution (gh auth status, gh PR/commit queries)

SKILL.md Phase 1 Step 2, Phase 3
INFO

Jira CLI execution (jira command, ticket queries)

SKILL.md Phase 1 Step 2, Phase 3
INFO

Python script execution (~/.claude/skills/daily-meeting-update/scripts/claude_digest.py)

SKILL.md Phase 1 Step 4
INFO

Read access to .jsonl session files in ~/.claude/projects/

scripts/claude_digest.py parse_session_file(), get_sessions_for_date()
INFO

Path decoding and project directory enumeration in Python script

scripts/claude_digest.py decode_project_path(), get_sessions_for_date()
WARNING

No explicit error handling for failed GitHub/Jira authentication

SKILL.md Phase 1 mentions 'suppress errors' but detection logic not shown
INFO

Console output of sensitive data (repo names, ticket titles, file paths)

SKILL.md Phase 2 Interview shows pulled data; scripts/claude_digest.py outputs session details

Referenced Domains

External domains referenced in skill content, detected by static analysis.

github.com

Use Cases

  • Prepare for daily standup meetings with minimal friction
  • Generate meeting-ready status updates with GitHub/Jira context
  • Capture blockers and discussion topics that tools cannot detect
  • Summarize multi-repo work activity across GitHub, Git, and Jira
  • Recall Claude Code sessions (research, debugging, planning) for standup context

Quality Notes

  • Excellent workflow diagram in Phase 1 provides clear mental model of skill execution flow
  • Strong emphasis on consent and security boundaries ('Never assume tools are configured', 'NEVER pull data without approval')
  • Anti-patterns section is unusually thorough and helps developers avoid common mistakes
  • Example session transcript is realistic and demonstrates multi-integration workflow end-to-end
  • Python digest script is well-structured with clear separation of concerns (parsing, extraction, formatting)
  • Good error handling in claude_digest.py with try/except around file parsing and graceful fallbacks
  • Skill documentation explicitly addresses multi-repo scenarios, which matches real developer workflows
  • Phase 1 Step 2 'Offer' logic shows user choice options as text strings but doesn't define tool invocation syntax
  • README.md provides good summary but duplicates content from SKILL.md without adding new examples
  • Documentation references 'AskUserQuestionTool' but does not define its exact signature or expected response format
  • Skill assumes Claude Code session files are at ~/.claude/projects but no validation shown if path doesn't exist
  • Python script handles missing sessions gracefully but does not document time zone handling for date filtering
Model: claude-haiku-4-5-20251001Analyzed: Apr 20, 2026

Reviews

Add this skill to your library to leave a review.

No reviews yet

Be the first to share your experience.

Version History

v1.1

Content updated

2026-04-20

Latest
v1.0

No changelog

2026-04-12

Add softaworks/daily-meeting-update to your library

Command Palette

Search for a command to run...

softaworks/daily-meeting-update | SkillRepo