Back to Workflow & Productivity

daily-meeting-update

standupscrumdaily meetingproductivityworkflowgitjiraclaude code
⭐ 2.0kπŸ“„ MITπŸ•’ 2026-03-05Source β†—

Install this skill

npx skills add softaworks/agent-toolkit

Works across Claude Code, Cursor, Codex, Copilot & Antigravity

The daily-meeting-update skill automates the creation of standup reports by synthesizing data from your development environment. Instead of manual recollection, it retrieves activity logs from GitHub, Jira, and local Claude Code session history to build a factual foundation for your update. It operates in three distinct phases: silent environment detection, an interactive interview that leverages retrieved context to jog your memory, and final Markdown report generation. By connecting to your CLI tools and local history, it ensures that your daily status reflects actual progress on PRs, tickets, and deep-work sessions while filtering out noise. It is designed to save time during high-frequency syncs by prepopulating your update with verified activity data before you even answer the first interview question.

When to Use This Skill

  • β€’Preparing for a morning engineering standup in under two minutes
  • β€’Recalling specific debugging sessions performed in Claude Code
  • β€’Summarizing cross-platform work across Jira tickets and GitHub PRs
  • β€’Drafting status updates for remote teams that require detailed activity logs

How to Invoke This Skill

Example prompts that trigger this skill in Claude Code, Cursor, or Antigravity:

  • β€œDraft my daily standup update
  • β€œGenerate my meeting report
  • β€œHelp me write my daily update
  • β€œSummarize what I did yesterday for standup
  • β€œCreate a daily meeting summary

Pro Tips

  • πŸ’‘Ensure your GitHub and Jira CLIs are configured for seamless data retrieval, minimizing manual input.
  • πŸ’‘Review the pulled data from Claude Code history carefully during the interview to select the most relevant items.
  • πŸ’‘Be specific about blockers and discussion topics during the interview to generate the most actionable update for your team.

What this skill does

  • β€’Silent integration detection for GitHub CLI, Jira CLI, and Atlassian MCP
  • β€’Automated ingestion of recent Git commits, PRs, and Jira ticket updates
  • β€’Interactive digest parsing of local Claude Code session history
  • β€’Context-aware interview flow that inserts activity data into status prompts
  • β€’Generation of structured Markdown summaries ready for copy-pasting

When not to use it

  • βœ•When your development environment lacks CLI access or history logs
  • βœ•During highly confidential projects where local activity tracking is restricted
  • βœ•When a simple 'I'm continuing previous work' suffices without activity data

Example workflow

  1. Trigger the skill to begin the silent environment scan
  2. Authorize GitHub or Jira data retrieval if prompted
  3. Review detected Claude Code sessions and select relevant items via multi-select
  4. Answer the interview questions using the displayed activity context
  5. Review the final generated Markdown and copy it for your team sync

Prerequisites

  • –GitHub CLI or Jira CLI configured locally
  • –Local git repository activity
  • –Claude Code project session history

Pitfalls & limitations

  • !Requires manual authorization for every external tool connection
  • !Claude Code digest script may fail if dependencies or Python are not correctly set up
  • !Can over-report activity if not carefully filtered during the selection phase

FAQ

Does this tool post directly to Slack or Jira?
No, it generates a Markdown report for you to review and copy. It does not perform unauthorized external posting.
What happens if my Jira CLI isn't installed?
The skill detects the absence and skips that integration, relying on your manual input during the interview phase instead.
Can I edit the summary before it's final?
The tool presents the generated Markdown to you for final review and editing before finishing the task.

How it compares

Unlike manual drafting, this skill acts as an intelligent proxy that surfaces your actual technical footprint, ensuring your updates are based on verified activity rather than fallible memory.

Source & trust

⭐ 2.0k starsπŸ“„ MITπŸ•’ Updated 2026-03-05
πŸ“„ Full skill instructions β€” original source: softaworks/agent-toolkit
# 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

How to Use This Skill Unit

Option A: Project-Specific (Recommended)

  1. Click "Download" above
  2. In your project, create the directory: .agent/skills/daily-meeting-update/
  3. Save the file as SKILL.md
  4. The agent will automatically discover the skill based on its description.

Option B: Global Installation (All Agents)

Save the file to these locations to make it available across all projects:

  • Claude Code: ~/.claude/skills/softaworks/agent-toolkit/daily-meeting-update/SKILL.md
  • Cursor: ~/.cursor/skills/softaworks/agent-toolkit/daily-meeting-update/SKILL.md
  • Antigravity: ~/.gemini/antigravity/skills/softaworks/agent-toolkit/daily-meeting-update/SKILL.md

πŸš€ Install with CLI:
npx skills add softaworks/agent-toolkit

Read the Master Guide: Mastering Agent Skills β†’

Recommended Rules

View more rules β†’

Recommended Workflows

View more workflows β†’

Recommended MCP Servers

View more MCP servers β†’

Take It Further

Maximize your productivity with these powerful resources

πŸ“‹

Define Your Standards

Set up coding standards to ensure this workflow produces consistent, high-quality results.

Browse Rules Library
πŸ“–

Master Workflows

Learn how to create custom workflows, use Turbo Mode, and build your automation library.

Complete Guide

How to use this Skill in Claude Code & Cursor

For Claude Code (CLI)

To use this skill in Claude Code, copy the rule content into your project's custom instructions or follow our Add-Skill CLI guide. This ensures Claude follows your standards during every code generation.

For Cursor & Windsurf

For Cursor or Windsurf, individual skills are best used in the "Rules for AI" section. This specific unit helps the agent avoid workflow & productivity issues, leading to cleaner, more efficient code.

Why the skill format matters: the standardized Agent Skills format lets your AI agent load detailed instructions only when they are relevant, keeping your prompt clean while improving results.

Source & attribution

This skill is categorized under Workflow & Productivity and is published by Softaworks, maintained in softaworks/agent-toolkit.

← Browse All Agent Skills
Sponsored AI assistant. Recommendations may be paid.