From my-mac-claude
Weekly engineering retrospective. Analyzes commit history, work patterns, and code quality metrics with persistent history and trend tracking. Team-aware with per-person contributions, praise, and growth areas. Use when asked for weekly retro, what shipped this week, or engineering retrospective.
npx claudepluginhub yashs33244/claude-god-setup --plugin gstackThis skill uses the workspace's default tool permissions.
Generates a comprehensive engineering retrospective analyzing commit history, work patterns, and code quality metrics. Team-aware: identifies the user running the command, then analyzes every contributor with per-person praise and growth opportunities.
Mandates invoking relevant skills via tools before any response in coding sessions. Covers access, priorities, and adaptations for Claude Code, Copilot CLI, Gemini CLI.
Share bugs, ideas, or general feedback.
Generates a comprehensive engineering retrospective analyzing commit history, work patterns, and code quality metrics. Team-aware: identifies the user running the command, then analyzes every contributor with per-person praise and growth opportunities.
24h: last 24 hours14d: last 14 days30d: last 30 dayscompare: compare current window vs prior same-length windowParse the argument to determine the time window. Default to 7 days. All times should be reported in the user's local timezone.
Midnight-aligned windows: For day units, compute an absolute start date at local midnight. For example, if today is 2026-03-18 and the window is 7 days, the start date is 2026-03-11. Use --since="2026-03-11T00:00:00" for git log queries. For hour units, use --since="N hours ago".
First, fetch origin and identify the current user:
git fetch origin main --quiet
git config user.name
git config user.email
The name returned by git config user.name is "you" ... the person reading this retro. All other authors are teammates.
Run ALL of these git commands (they are independent):
# All commits with timestamps, subject, hash, author, files changed
git log origin/main --since="<window>" --format="%H|%aN|%ae|%ai|%s" --shortstat
# Per-commit test vs total LOC breakdown with author
git log origin/main --since="<window>" --format="COMMIT:%H|%aN" --numstat
# Commit timestamps for session detection and hourly distribution
git log origin/main --since="<window>" --format="%at|%aN|%ai|%s" | sort -n
# Files most frequently changed (hotspot analysis)
git log origin/main --since="<window>" --format="" --name-only | grep -v '^$' | sort | uniq -c | sort -rn
# PR numbers from commit messages
git log origin/main --since="<window>" --format="%s" | grep -oE '[#!][0-9]+' | sort -t'#' -k1 | uniq
# Per-author file hotspots
git log origin/main --since="<window>" --format="AUTHOR:%aN" --name-only
# Per-author commit counts
git shortlog origin/main --since="<window>" -sn --no-merges
# Test file count
find . -name '*.test.*' -o -name '*.spec.*' -o -name '*_test.*' -o -name '*_spec.*' 2>/dev/null | grep -v node_modules | wc -l
# Test files changed in window
git log origin/main --since="<window>" --format="" --name-only | grep -E '\.(test|spec)\.' | sort -u | wc -l
Calculate and present these metrics in a summary:
Then show a per-author leaderboard immediately below:
Contributor Commits +/- Top area
You (garry) 32 +2400/-300 browse/
alice 12 +800/-150 app/services/
bob 3 +120/-40 tests/
Sort by commits descending. The current user always appears first, labeled "You (name)".
Show hourly histogram in local time:
Hour Commits ████████████████
00: 4 ████
07: 5 █████
...
Identify:
Detect sessions using 45-minute gap threshold between consecutive commits.
Classify sessions:
Calculate:
Categorize by conventional commit prefix (feat/fix/refactor/test/chore/docs). Show as percentage bar:
feat: 20 (40%) ████████████████████
fix: 27 (54%) ███████████████████████████
refactor: 2 ( 4%) ██
Flag if fix ratio exceeds 50% ... signals a "ship fast, fix fast" pattern that may indicate review gaps.
Show top 10 most-changed files. Flag:
Estimate PR sizes and bucket them:
Focus score: Percentage of commits touching the single most-changed top-level directory. Higher = deeper focused work. Lower = scattered context-switching.
Ship of the week: The single highest-LOC PR in the window. Highlight PR number, LOC changed, and why it matters.
For each contributor (including the current user), compute:
For the current user ("You"): Deepest treatment. Include all session analysis, time patterns, focus score. Frame in first person.
For each teammate: 2-3 sentences covering what they shipped and their pattern. Then:
If solo repo: Skip team breakdown.
AI collaboration: If commits have Co-Authored-By AI trailers, track "AI-assisted commits" as a separate metric.
Split into weekly buckets and show trends:
Count consecutive days with at least 1 commit, going back from today:
# Team streak
git log origin/main --format="%ad" --date=format:"%Y-%m-%d" | sort -u
# Personal streak
git log origin/main --author="<user_name>" --format="%ad" --date=format:"%Y-%m-%d" | sort -u
Display both:
Check for prior retro history in memory/:
If prior retros exist, load the most recent one and calculate deltas:
Last Now Delta
Test ratio: 22% → 41% ↑19pp
Sessions: 10 → 14 ↑4
LOC/hour: 200 → 350 ↑75%
Fix ratio: 54% → 30% ↓24pp (improving)
If no prior retros exist, note "First retro recorded, run again next week to see trends."
Save a JSON snapshot to memory/retro-YYYY-MM-DD.json with metrics, authors, version range, streak, and tweetable summary.
Format for Telegram (bullets, bold, no markdown tables in the final output).
Structure:
Tweetable summary (first line):
Week of Mar 1: 47 commits (3 contributors), 3.2k LOC, 38% tests, 12 PRs, peak: 10pm | Streak: 47d
Then sections:
When the user says "compare":
TZ.memory/ for trend tracking.