From standup-summary
Generate a summary of GitHub activity for user `$2` in organization `$1` suitable for sharing with the team.
How this command is triggered — by the user, by Claude, or both
Slash command
/standup-summary:standup-userThe summary Claude sees in its command listing — used to decide when to auto-load this command
## Task Generate a summary of GitHub activity for user `$2` in organization `$1` suitable for sharing with the team. ## Step 1: Detect Day of Week First, determine what day of the week it is: ## Step 2: Gather Preferences Use AskUserQuestion with options based on the current day: **If today is Monday (day 1):** Ask which time period to summarize (header: "Time period"): - "Friday" - Just Friday's work - "Weekend" - Saturday and Sunday - "Friday + Weekend" - All three days since last standup - "Yesterday" - Just Sunday **If today is any other weekday (2-5):** Ask which time period to...
Generate a summary of GitHub activity for user $2 in organization $1 suitable for sharing with the team.
First, determine what day of the week it is:
date +%u # 1=Monday, 7=Sunday
Use AskUserQuestion with options based on the current day:
If today is Monday (day 1): Ask which time period to summarize (header: "Time period"):
If today is any other weekday (2-5): Ask which time period to summarize (header: "Time period"):
If today is Saturday or Sunday (6-7): Ask which time period to summarize (header: "Time period"):
Then ask summary length (header: "Length"):
First, calculate the timezone-aware date range. GitHub interprets plain dates in UTC, so we use ISO 8601 datetime format with timezone offset to query local time correctly.
# Get timezone offset and format for ISO 8601
TZ_OFFSET=$(date +%z) # e.g., "-0800"
TZ_FORMATTED="${TZ_OFFSET:0:3}:${TZ_OFFSET:3:2}" # e.g., "-08:00"
# For "Yesterday":
YESTERDAY=$(date -v-1d +%Y-%m-%d)
DATE_RANGE="${YESTERDAY}T00:00:00${TZ_FORMATTED}..${YESTERDAY}T23:59:59${TZ_FORMATTED}"
# For multi-day ranges (e.g., "Friday + Weekend"):
START_DATE=$(...) # Calculate start date
END_DATE=$(...) # Calculate end date
DATE_RANGE="${START_DATE}T00:00:00${TZ_FORMATTED}..${END_DATE}T23:59:59${TZ_FORMATTED}"
Then query with the timezone-aware range and specified username:
# For commits
gh search commits --author=<USER> --owner=<ORG> --committer-date="${DATE_RANGE}" --json repository,sha,commit --limit 100
# For authored PRs
gh search prs --author=<USER> --owner=<ORG> --updated="${DATE_RANGE}" --json title,repository,state,url --limit 50
# For reviewed PRs
gh search prs --reviewed-by=<USER> --owner=<ORG> --updated="${DATE_RANGE}" --json title,repository,state,url --limit 50
Where:
<ORG> = the organization from $1<USER> = the GitHub username from $2DATE_RANGE = timezone-aware datetime range (e.g., 2026-01-22T00:00:00-08:00..2026-01-22T23:59:59-08:00)Analyze the activity and generate a summary with these requirements:
1-2 sentence example:
Yesterday: @username fixed MQTT race conditions across firmware and backend, added real-time device info updates to the full stack, and squashed several iOS bugs.
1 paragraph example:
Yesterday: @username completed a major reliability improvement by fixing MQTT subscription race conditions in both the door firmware (PR #39) and cloud infrastructure (PR #78). They added real-time device info updates across the stack with a new DeviceInfoUpdate message type. Also fixed iOS token refresh errors, device list interaction bugs, and WebRTC reconnection issues.
Copy the final summary to clipboard using pbcopy and confirm to the user.
npx claudepluginhub gotwalt/claude-skills --plugin standup-summary/weekly-summaryGenerates markdown weekly git activity summary with commits, PRs, lines changed, files touched, categorized accomplishments by features/bugs/maintenance/projects across multiple repos.
/summarize-changesSummarizes recent git changes for standup, weekly reports, PRs, or docs based on scope (today|week|branch|pr). Outputs structured sections: Summary, Changes, Files, Impact.
/my-weekGenerates a markdown summary of your accomplishments, collaborations, and key activities over an optional time period (default: past week).