Daily Standup Automation with Claude (2026)

Daily standups are a cornerstone of agile development, but manually compiling status updates eats into valuable coding time. With Claude skills, you can automate this ritual, transforming how your team captures and shares progress. This guide walks through building a practical daily standup automation workflow using Claude’s specialized capabilities.

Claude skills are Markdown files stored in ~/.claude/skills/ and invoked with /skill-name inside a Claude Code session. Skills give Claude specific instructions and context for recurring tasks, they’re not Python packages or shell commands.

Why Automate Standups with Claude Skills

Developers spend an average of 10–15 minutes each morning crafting standup messages, time that compounds across a team. Rather than treating standups as a chore, automation lets you capture what actually matters: blockers, progress, and upcoming priorities.

The real power comes from treating your development activity as structured data. Git commits, issue trackers, and project management tools all contain the information your standup needs. Claude Code sessions can execute shell commands to pull this data, and skills provide the formatting and synthesis instructions.

Core Skills You Will Need

Several Claude skills work together to make this workflow function:

  • supermemory. Maintains context about your projects, tasks, and ongoing work across sessions
  • tdd. Helps structure testable code and tracks development progress
  • pdf. Generates formatted standup documents when needed

Each skill plays a specific role in the pipeline, from data collection to final output.

Building the Automation Pipeline

Step 1: Configure Data Sources

Your standup needs three types of information: what you completed yesterday, what you’re working on today, and any blockers. For GitHub-based projects, fetch recent activity via the shell:

Fetch your commits from yesterday
gh api search/commits --method GET -f query="repo:yourorg/project author:@me" --jq '.items[] | {sha: .sha[0:7], message: .commit.message}'

Store project configurations in a YAML file your standup skill can reference:

standup-config.yaml
data_sources:
 github:
 org: yourorg
 projects:
 - backend-api
 - frontend-app
 linear:
 team_id: engineering
 jira:
 project_key: PROJ

Step 2: Create the Standup Generator Skill

Build a custom skill at ~/.claude/skills/standup-generator.md:

Standup Generator
Generate a daily standup report from development activity.
Instructions

1. Run `git log --since="yesterday" --author="$(git config user.email)" --oneline` in each configured project directory
2. Fetch open issues labeled "in-progress" from the configured issue tracker
3. Ask the user if there are any blockers not captured in the tracker
4. Format the results as a standup message using the template below
Output Template
Daily Standup - {date}
Yesterday
- {bullet per commit or completed task}
Today
- {bullet per open in-progress issue}
Blockers
- {bullet per blocker, or "None"}

Invoke it each morning with:

/standup-generator

Claude executes the shell commands, fetches the relevant data, and produces the formatted standup.

Step 3: Example Output

Once your skill collects the data, it produces a clean standup format:

Daily Standup - March 13, 2026
Yesterday
- Completed PR #247: Add user authentication flow
- Fixed bug in payment processing API
- Code review for team member's feature branch
Today
- Working on implementing rate limiting for API endpoints
- Starting integration tests for user profile module
Blockers
- Waiting on design specs for new dashboard components
- Need access to staging environment for testing

Step 4: Delivery Integration

Automate delivery to your team’s communication channel using a webhook script:

import os
import requests
def deliver_standup(message: str, webhook_url: str) -> bool:
 """Send standup to team channel via webhook."""
 payload = {
 "text": message,
 "username": "Standup Bot",
 "icon_emoji": ":robot_face:"
 }
 response = requests.post(webhook_url, json=payload)
 return response.status_code == 200
if __name__ == "__main__":
 webhook = os.environ.get("SLACK_WEBHOOK_URL")
 standup_message = os.environ.get("STANDUP_MESSAGE")
 deliver_standup(standup_message, webhook)

Schedule this with a cron job or GitHub Actions workflow that runs every morning at your team’s standup time.

Advanced Enhancements

Using supermemory for Context

The supermemory skill maintains long-term context about your projects. Use it to track recurring blockers that span multiple days:

/supermemory store: 2026-03-12 blocker - waiting on design specs for dashboard, still unresolved
/supermemory What unresolved blockers do you have from this week?

When generating standups, supermemory surfaces blockers that are still open, ensuring nothing falls through the cracks.

Handling Multiple Projects

If you work across several projects, modify your standup skill to aggregate activity per project:

Collect commits from multiple repos
for project in backend-api frontend-app mobile-app; do
 echo "## $project"
 cd ~/projects/$project
 git log --since="yesterday" --author="$(git config user.email)" --oneline
done

Pass this output to Claude with your /standup-generator skill for formatting.

PDF Generation for Records

For teams that maintain meeting records, the pdf skill generates formal standup documents:

/pdf
Convert this standup message into a formatted PDF document titled "Daily Standup - March 13, 2026" and save it to standups/2026-03-13.pdf

Store these in a shared drive for historical reference and sprint reviews.

Common Pitfalls and Solutions

Problem: The generated standup includes irrelevant commits.

Solution: Add filtering in your git log command. Exclude dependency updates and chore commits using grep -v "chore\|deps\|bump".

Problem: Webhook delivery fails silently.

Solution: Implement error handling with retry logic and notify via email when the primary delivery method fails.

Problem: Standup feels too generic.

Solution: Add a manual override step. After /standup-generator produces the draft, review and append custom notes before running the delivery script.

Putting It All Together

The complete workflow runs in under a minute once configured. Each morning, invoke /standup-generator in Claude Code. Claude pulls your development activity via shell commands, filters and formats it, and produces a polished standup. Run the delivery script to post it to your team channel.

This automation pairs well with the tdd skill, test-driven development produces well-structured commits that translate directly into clear progress updates. Pair the two workflows, and standups become a byproduct of good development practices rather than an extra task.


Try it: Paste your error into our Error Diagnostic for an instant fix.

This site was built by 5 autonomous agents running in tmux while I was in Bali. 2,500 articles. Zero manual work. 100% quality gate pass rate. The orchestration configs, sprint templates, and quality gates that made that possible are in the Zovo Lifetime bundle. Along with 16 CLAUDE.md templates and 80 tested prompts. **[See how the pipeline works →](https://zovo.one/lifetime?utm_source=ccg&utm_medium=cta-skills&utm_campaign=claude-skills-daily-standup-automation-workflow)** $99 once. I'm a solo dev in Da Nang. This is how I scale.

Related Reading

Built by theluckystrike. More at zovo.one

Find the right skill → Browse 155+ skills in our Skill Finder.