retro
Skill52 starsChanged 49 days agoMITView on GitHub
Weekly engineering retrospective with persistent metrics, or a PR friction retro of where fix effort went. Triggers "retro", "weekly review", "how was my week", "what did I ship", "PR retro", "friction retro", "where did our fixes go".
193 other projects use a version of this.
Adopted by
Most recently taken up by
- rodeyseijkens/skillstheir own version, first seen Nov 8, 2026
- Yesterday-AI/ytstacktheir own version, first seen Nov 8, 2026
- gaoyu06/harnesstheir own version, first seen Nov 8, 2026
- Schepetkov/claude-skills-game-UEtheir own version, first seen Nov 8, 2026
- tornikegomareli/Skillstheir own version, first seen Nov 8, 2026
- devjiwonchoi/skillstheir own version, first seen Nov 8, 2026
Used with
Projects with it also use plan-tune, ios-clean and 10 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
ShreyRaviSkillplan-tune
Self-tuning question sensitivity + developer psychographic for gstack (v1: observational). Review which AskUserQuestion prompts fire across gstack skills, set per-question preferences (never-ask / always-ask / ask-only-for-one-way), inspect the dual-track profile (what you declared vs what your behavior suggests), and enable/disable question tuning. Conversational interface — no CLI syntax required.
Also in 9 projects that use this
Saqlain-811Skillios-clean
Remove the DebugBridge SPM package and all #if DEBUG wiring from an iOS app. (gstack)
Also in 5 projects that use this
Saqlain-811Skillios-fix
Autonomous iOS bug fixer. (gstack)
Also in 5 projects that use this
seek888Skillpair-agent
Pair a remote AI agent with your browser. One command generates a setup key and prints instructions the other agent can follow to connect. Works with OpenClaw, Hermes, Codex, Cursor, or any agent that can make HTTP requests. The remote agent gets its own tab with scoped access (read+write by default, admin on request). Use when asked to "pair agent", "connect agent", "share browser", "remote browser", "let another agent use my browser", or "give browser access". (gstack) Voice triggers (speech-to-text aliases): "pair agent", "connect agent", "share my browser", "remote browser access".
Also in 11 projects that use this
ShreyRaviSkilllanding-report
Read-only queue dashboard for workspace-aware ship. Shows which VERSION slots are currently claimed by open PRs, which sibling Conductor workspaces have WIP work likely to ship soon, and what slot /ship would pick next. No mutations — just a snapshot. Use when asked to "landing report", "what's in the queue", "show me open PRs", or "which version do I claim next". (gstack)
Also in 8 projects that use this
timurgaleevSkilldocument-generate
Generate missing docs for a feature, module or project as tutorials, how-tos, reference and explanation.
Also in 7 projects that use this
- +1 more from Saqlain-811
- +2 more from ShreyRavi
Other versions193 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 193
- mattpocock/skills★ 309ksame name
- garrytan/gstack★ 141ksame name
- formbricks/formbricks★ 13ksame name
- ArcReel/ArcReel★ 6.3ksame name
- vinvcn/mattpocock-skills-zh-CN★ 5.5ksame name
- withcoral/coral★ 4.9ksame name
- bergside/awesome-design-skills★ 2.9ksame name
- MiniMax-AI/minimax-code★ 2.2ksame name
- DenchHQ/DenchClaw★ 1.7ksame name
- DenchHQ/ironclaw★ 1.7ksame name
183 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository27 other files it gives its agents.
- AGENTS.mdAGENTS.md
- .claude/AGENTS.mdAGENTS.md
- auditSkill
- autoresearchSkill
- buildSkill
- case-studySkill
- ccSkill
- codexSkill
- componentSkill
- context-docSkill
- dr-initSkill
- dr-reviewSkill
- fixSkill
- freezeSkill
- handoffSkill
- harvestSkill
- hookSkill
- orchestrateSkill
- poke-holesSkill
- proof-of-workSkill
- refactorSkill
- review-batchSkill
- share-learningSkill
- shipSkill
- storiesSkill
- triageSkill
- zero-tech-debtSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
15 rules. 0 are common, 11 are distinctive, and 4 are very specific to this project.
0
Common
Most of the 171 edited versions we read keep these.
11
Distinctive
This author's own choices. Worth a look.
4
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 30
This skill is self-contained: Do not read CLAUDE.md or agent definitions.
- Very specific: line 40
Validation: Only accept arguments matching \d+[dhw], compare, compare \d+[dhw], or prs followed by the options above.
- Distinctive: line 77
If this prints stats (not "no telemetry yet"), include the act-rate in the report — see Step 13.
- Distinctive: line 124
Use a 45-minute gap threshold to detect session boundaries.
- Distinctive: line 196
Test ratio per week
- Distinctive: line 218
Check for prior retro snapshots:
- Distinctive: line 224
If found, load the most recent and calculate deltas:
- Distinctive: line 232
If none exist, note "First retro recorded."
- Very specific: line 294
When /retro compare is used:
- Very specific: line 298
Use --since and --until to avoid overlap
- Distinctive: line 300
Only save the CURRENT window snapshot to history
- Distinctive: line 311
Use markdown tables + prose
- Very specific: line 317
Always use origin/main — local-only commits are not shipped
- Distinctive: line 318
Use local timezone for display (detect from system)
- Distinctive: line 320
Treat merge commits as PR boundaries
“Common” is measured: kept by at least 6 in 10 of the 171 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Engineering Retrospective
Product-aware helper
# Claude Code
ESCALATE_STATS_RUNNER="$HOME/.claude/src/scripts/escalate-stats.ts"
CC_STATE_ROOT="$HOME/.claude"
# Standalone Codex would resolve the helper as:
# ESCALATE_STATS_RUNNER="${CODEX_HOME:-$HOME/.codex}/darkroom/source/src/scripts/escalate-stats.ts"Codex must skip this Claude escalation telemetry entirely because the plugin does not expose a reliable manual state path. Do not infer or report an act-rate in Codex.
This skill is self-contained. Do not read CLAUDE.md or agent definitions.
Arguments
/retro— last 7 days (default)/retro 24hor/retro 14dor/retro 30d— custom window/retro compare— current 7d vs prior 7d/retro compare 14d— current 14d vs prior 14d/retro prs [owner/name] [N | YYYY-MM-DD..YYYY-MM-DD] [buckets=a,b] [path=/abs]— PR friction retro: classify corrective work in merged PRs by stack bucket. Readreferences/prs.mdand follow it instead of the steps below.
Validation: Only accept arguments matching \d+[dhw], compare, compare \d+[dhw], or prs followed by the options above. Reject anything else with usage instructions.
Step 1: Gather Raw Data
Fetch latest from remote, then run 5 parallel git commands:
# Fetch latest
git fetch origin main 2>/dev/null
# 1. Commits with timestamps, subject, hash, and stats
git log origin/main --since="WINDOW_START" --format="%H|%aI|%s" --shortstat
# 2. Per-commit numstat for test vs production LOC breakdown
# Test files: paths matching test/|spec/|__tests__|*.test.|*.spec.
git log origin/main --since="WINDOW_START" --format="%H" --numstat
# 3. Sorted commit timestamps for session detection (local timezone)
git log origin/main --since="WINDOW_START" --format="%aI" | sort
# 4. Hotspot analysis (most frequently changed files)
git log origin/main --since="WINDOW_START" --format="" --name-only | sort | uniq -c | sort -rn | head -20
# 5. PR number extraction from commit messages (#NNN patterns)
git log origin/main --since="WINDOW_START" --format="%s" | grep -oE '#[0-9]+' | sort -uReplace WINDOW_START with the appropriate --since value for the requested window.
In Claude only, also run the escalate-advisory telemetry if present:
CC_SETTINGS_HOME="$CC_STATE_ROOT" bun "$ESCALATE_STATS_RUNNER" --days 7If this prints stats (not "no telemetry yet"), include the act-rate in the report — see Step 13. Standalone Codex omits the telemetry and act-rate section.
Step 2: Compute Metrics
Build a summary table:
| Metric | Value |
|-----------------------|----------------|
| Commits to main | N |
| PRs merged | N |
| Total insertions | +N lines |
| Total deletions | -N lines |
| Net LOC | +/-N |
| Test LOC | N lines |
| Test ratio | N% |
| Active days | N/7 |
| Detected sessions | N |
| Avg LOC/session-hour | ~N |Step 3: Commit Time Distribution
Build an hourly histogram using local timezone. Identify:
- Peak hours — when most commits land
- Dead zones — hours with zero activity
- Late-night clusters — commits after 10pm (flag for sustainability)
- Bimodal patterns — morning + evening sessions
Hour | Commits
------|---------
8:00 | ###
9:00 | ######
10:00 | ########
...Step 4: Work Session Detection
Use a 45-minute gap threshold to detect session boundaries. Classify sessions:
| Type | Duration | Description |
| Deep | 50+ min | Sustained focused work |
| Medium | 20-50 min | Moderate task work |
| Micro | <20 min | Quick fixes, reviews |
Calculate:
- Total active coding time
- Average session length
- LOC per hour (round to nearest 50)
- Ratio of deep sessions to total
Step 5: Commit Type Breakdown
Categorize by conventional commit prefix:
feat: N% (N commits)
fix: N% (N commits)
refactor: N% (N commits)
test: N% (N commits)
chore: N% (N commits)
docs: N% (N commits)
other: N% (N commits)Flag: Fix ratio > 50% may indicate a review gap or instability.
Step 6: Hotspot Analysis
Top 10 most-changed files. For each:
- Change count
- Whether it's a test or production file
- Churn flag at 5+ changes — may indicate the file needs refactoring or splitting
Step 7: PR Size Distribution
Bucket PRs by total LOC changed:
| Size | LOC Range | Count | Notes |
| Small | <100 | N | Ideal for review |
| Medium | 100-500 | N | Acceptable |
| Large | 500-1500 | N | Consider splitting |
| XL | 1500+ | N | Flag with file count |
Step 8: Focus Score + Ship of the Week
Focus Score: Percentage of commits touching the single most-changed top-level directory. Higher = more focused work.
Ship of the Week: The highest-LOC PR with:
- PR number and title (from commit message)
- Total LOC changed
- Inferred significance
Step 9: Week-over-Week Trends (if window >= 14d)
Split the window into weekly buckets. Track:
- Commits per week
- LOC per week
- Test ratio per week
- Fix ratio per week
- Session count per week
Show as a compact table with trend arrows.
Step 10: Streak Tracking
Count consecutive days with at least 1 commit to origin/main, going back from today. Use full git history — no cutoff.
git log origin/main --format="%ad" --date=short | sort -uWalk backward from today counting consecutive days.
Step 11: Load History & Compare
Check for prior retro snapshots:
ls .context/retros/*.json 2>/dev/null | sort | tail -1If found, load the most recent and calculate deltas:
- Test ratio change
- Session count change
- LOC/hour change
- Fix ratio change
- Commit count change
- Deep session count change
If none exist, note "First retro recorded."
Step 12: Save Retro Snapshot
Save JSON to .context/retros/YYYY-MM-DD.json:
mkdir -p .context/retrosSchema:
{
"date": "YYYY-MM-DD",
"window": "7d",
"metrics": {
"commits": 0,
"prs": 0,
"insertions": 0,
"deletions": 0,
"net_loc": 0,
"test_loc": 0,
"test_ratio": 0.0,
"active_days": 0,
"sessions": 0,
"deep_sessions": 0,
"avg_session_minutes": 0,
"loc_per_session_hour": 0,
"feat_pct": 0.0,
"fix_pct": 0.0,
"peak_hour": 0,
"streak_days": 0
},
"summary": "Tweetable summary here"
}Step 13: Write the Narrative
Structure:
- Tweetable summary (first line — one sentence capturing the week)
- Summary Table (from Step 2)
- Trends vs Last Retro (deltas from Step 11, or "First retro")
- Time & Session Patterns — narrative prose about when and how you work
- Shipping Velocity — commit type mix, PR size discipline, fix-chain detection
- Code Quality Signals — test ratio, hotspots, XL PRs
- Focus & Highlights — focus score, ship of the week
- Top 3 Wins — best things that shipped
- 3 Things to Improve — concrete, specific, actionable
- 3 Habits for Next Week — small behavioral changes
- Week-over-Week Trends (if applicable, from Step 9)
- Escalate Advisory Act-Rate (if the escalate-stats helper printed stats in Step 1 — otherwise omit this section)
Compare Mode
When /retro compare is used:
- Compute metrics for the CURRENT window (e.g., last 7 days)
- Compute metrics for the PRIOR window of same length (e.g., 7 days before that)
- Use
--sinceand--untilto avoid overlap - Present side-by-side comparison table with deltas
- Only save the CURRENT window snapshot to history
Tone
- Encouraging but candid — no coddling, no generic praise
- Say exactly what was good and why
- Frame improvements as leveling up, not criticism
- Anchor everything in actual commits — no speculation
- ~2500-3500 words total
- Use markdown tables + prose
Rules
- Always use
origin/main— local-only commits are not shipped - Use local timezone for display (detect from system)
- Handle zero-commit windows gracefully ("No commits in this window")
- Treat merge commits as PR boundaries
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

