Install
$ agentstack add skill-darkroomengineering-cc-settings-retro ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Engineering Retrospective
Before starting work, create a marker: mkdir -p ~/.claude/tmp && echo "retro" > ~/.claude/tmp/heavy-skill-active && date -u +"%Y-%m-%dT%H:%M:%SZ" >> ~/.claude/tmp/heavy-skill-active
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
Validation: Only accept arguments matching \d+[dhw], compare, or compare \d+[dhw]. 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 -u
Replace WINDOW_START with the appropriate --since value for the requested window.
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 | 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 | = 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 -u
Walk 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 -1
If 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/retros
Schema:
{
"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)
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")
- Round LOC/hour to nearest 50
- Treat merge commits as PR boundaries
- This skill is self-contained — do not read CLAUDE.md or other docs
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: darkroomengineering
- Source: darkroomengineering/cc-settings
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.