Install
openclaw skills install cm-daily-standup-generatorGenerate structured daily standup reports by analyzing git commits, pull request activity, issue trackers, and project context. Produces yesterday/today/blockers summaries tailored to your team's standup format. Use when asked to prepare a standup, summarize yesterday's work, generate a daily status update, create a standup report, or draft a scrum update. Triggers on "standup", "daily standup", "scrum update", "daily status", "what did I do yesterday", "standup report", "daily report", "status update", "stand-up".
openclaw skills install cm-daily-standup-generatorGenerate comprehensive daily standup reports by analyzing your actual development activity across git history, pull requests, issue trackers, and branch context. Instead of trying to remember what you did yesterday, this skill reads the evidence and builds an accurate, well-structured standup for you.
Invoke this skill when you need to prepare for a daily standup meeting or async status update. The agent examines your recent development activity and produces a structured report.
Basic invocation:
Generate my standup report
With options:
Generate my standup for the last 2 days Generate standup for user "jane.doe" in /path/to/repo Generate standup report covering repos /app and /infrastructure
The agent will ask clarifying questions if needed (which repo, which git author, time range).
The agent determines who the standup is for and what period to cover:
git config user.name and git config user.email in the target repository. Can be overridden if the user specifies a name or email.# The agent runs these to identify context
git config user.name
git config user.email
date +%A # Check day of week for weekend adjustment
The agent collects all commits authored by the developer in the time range:
# Fetch recent commits with full context
git log --author="developer@email.com" --since="yesterday 00:00" \
--format="%h|%s|%b|%ai|%D" --all
# For multi-repo setups, the agent repeats across each repository
git -C /path/to/repo log --author="developer@email.com" \
--since="yesterday 00:00" --format="%h|%s|%b|%ai" --all
The agent then analyzes commits to:
git diff --stat for key commits to understand magnitude# Understand the scope of specific commits
git diff --stat HEAD~5..HEAD --author="developer@email.com"
# Check which files/modules were touched
git log --author="developer@email.com" --since="yesterday 00:00" \
--name-only --format="" | sort -u
The agent checks GitHub/GitLab for PR-related work:
# PRs authored by the developer (opened, merged, updated)
gh pr list --author="@me" --state all --json title,state,url,updatedAt,reviews,labels
# PRs reviewed by the developer
gh pr list --json title,state,url,reviews \
--jq '.[] | select(.reviews[]?.author.login == "username")'
# Recently merged PRs
gh pr list --author="@me" --state merged --json title,url,mergedAt \
--jq '.[] | select(.mergedAt > "2026-04-29T00:00:00Z")'
The agent categorizes PR activity into:
The agent looks for issue movement:
# Issues assigned to the developer
gh issue list --assignee="@me" --state all \
--json title,state,url,labels,updatedAt
# Recently closed issues
gh issue list --assignee="@me" --state closed \
--json title,url,closedAt \
--jq '.[] | select(.closedAt > "2026-04-29T00:00:00Z")'
# Issues with recent comments from the developer
gh issue list --json title,url,comments \
--jq '.[] | select(.comments[-1]?.author.login == "username")'
The agent identifies what the developer is currently working on:
# Current branch
git branch --show-current
# Recent branches with activity
git for-each-ref --sort=-committerdate --count=5 \
--format='%(refname:short)|%(committerdate:relative)|%(subject)' \
refs/heads/
# Uncommitted work (staged and unstaged)
git status --porcelain
# Stashed work
git stash list
This reveals:
The agent proactively identifies potential blockers by checking:
gh pr checks --json name,state,conclusion \
--jq '.[] | select(.conclusion == "failure")'
git log --oneline main..feature-branch | wc -l
git merge-tree $(git merge-base main feature-branch) main feature-branch
The agent compiles everything into a structured standup report with three sections:
The agent groups completed work into logical categories:
Each item includes:
The agent infers planned work from:
The agent surfaces anything that could slow down progress:
The agent produces the standup in the requested format:
Default format (concise bullet points):
## Standup — April 30, 2026
### Yesterday
- Completed authentication token refresh logic (PR #142, merged)
- Fixed race condition in session cleanup (commit a3f9c21)
- Reviewed 2 PRs: #138 (caching layer), #140 (metrics endpoint)
### Today
- Address review feedback on PR #145 (API rate limiting)
- Start work on PROJ-289: user export feature
- Merge PR #142 after CI passes
### Blockers
- PR #145 waiting for review from @backend-team (opened 2 days ago)
- Staging environment down since yesterday — can't test export feature
Verbose format adds context, file lists, and diff stats.
Slack format produces a compact message suitable for async standup channels.
JSON format for integration with standup bots and dashboards.
The agent produces a standup report containing:
The report is written in first person, uses clear non-technical language where possible, and is sized for a 60-second verbal delivery (approximately 150-250 words).
For developers working across multiple repositories, the agent scans each repo and produces a unified standup:
Repos analyzed:
/home/dev/backend-api (12 commits)
/home/dev/infrastructure (3 commits)
/home/dev/shared-libs (1 commit)
Work items from different repos are interleaved chronologically and grouped by logical theme rather than by repository.
When invoked with a team flag, the agent generates standups for all team members:
Generate standup for the whole team in /path/to/repo
This produces individual sections per developer, useful for team leads preparing for standup facilitation. The agent identifies cross-team dependencies (e.g., "Alice's PR #142 blocks Bob's feature branch").
gh CLI is authenticated (gh auth status) for PR and issue data