本文へ移動
cccskills
無料GitHub で公開

retro

Engineering retrospective. Analyzes commit history, work patterns, and code quality metrics with trend tracking. Per-person breakdowns, shipping streaks, and actionable improvements. Use when asked for "retro", "weekly review", "what did we ship", or "engineering retrospective".

インストール方法を見る

含まれるファイル(1)

  • SKILL.md16.6 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

retro

Purpose

Engineering retrospective engine. Analyzes git history, work patterns, and code quality signals to produce actionable retrospectives with per-person breakdowns, shipping streaks, and concrete improvement habits. Fills a gap in the Rune ecosystem — cook builds, review checks, but nothing reflects on HOW the team works.

<HARD-GATE> Retro is READ-ONLY. It analyzes and reports — it does NOT modify code, create PRs, or change any files except its own output artifacts (.rune/retros/). Retro is ENCOURAGING but CANDID. Every critique is anchored in specific commits, not vague impressions. </HARD-GATE>

Triggers

  • /rune retro — default 7-day retrospective
  • /rune retro 24h — daily standup review
  • /rune retro 14d — sprint retro (2 weeks)
  • /rune retro 30d — monthly review
  • /rune retro compare — current vs previous period side-by-side
  • /rune retro --business — cross-domain executive retrospective with HTML report (Business tier)
  • Called by audit (L2) for engineering health dimension
  • Auto-suggest: end of work week (Friday sessions)

Calls (outbound)

  • scout (L2): scan codebase for test file counts, project structure
  • plan (L2): when retro identifies systemic bottlenecks — hand findings to plan for next sprint (e.g., "fix ratio >50% → allocate debugging time in next phase")
  • journal (L3): retro findings → ADR entries for recurring team patterns
  • neural-memory (L3): recall past retro insights for trend comparison; save this retro's key insights for future sessions

Called By (inbound)

  • audit (L2): engineering velocity and health dimension
  • cook (L1): optional — after completing a multi-phase feature, suggest retro
  • rescue (L1): post-rescue retrospective
  • launch (L1): post-launch retrospective
  • User: /rune retro direct invocation

Data Flow

Feeds Into →

  • plan (L2): retro insights inform future sprint planning (e.g., "fix ratio too high → allocate debugging time")
  • journal (L3): retro findings → ADR entries for team patterns
  • neural-memory (external): retro insights → persistent cross-session memory

Fed By ←

  • git history: commits, authors, timestamps, file changes
  • .rune/retros/ history: previous retro JSON for trend comparison
  • neural-memory (external): past retro insights for pattern recognition

Feedback Loops ↻

  • retro ↔ plan: retro identifies bottlenecks → plan adjusts estimation and phase sizing → next retro measures improvement

Execution

Step 1 — Gather Raw Data

Run these git commands to collect metrics for the specified time window:

# Core metrics (run in parallel)
git log --since="<window-start>" --format="%H|%an|%ae|%aI|%s" --shortstat
git log --since="<window-start>" --format="%H" --numstat
git log --since="<window-start>" --format="%aI" # timestamps for session detection
git log --since="<window-start>" --format="%an" | sort | uniq -c | sort -rn  # per-author
git shortlog --since="<window-start>" -sn  # author leaderboard

Time window alignment: For day/week units, align to midnight: --since="YYYY-MM-DDT00:00:00". This prevents partial-day skew.

Identify "You": git config user.name = current user. All others are teammates.

Also gather:

  • Test file count: find . -name "*.test.*" -o -name "*.spec.*" -o -name "*_test.*" | wc -l
  • .rune/retros/ for prior retro history (if exists)
  • TODOS.md for backlog health

Step 2 — Compute Summary Metrics

MetricHow to compute
CommitsCount from git log
ContributorsUnique authors
LOC added/removedSum from numstat
Test LOC ratiotest files LOC / total LOC changed
Active daysUnique dates with commits
SessionsDetected via 45-min gap threshold (Step 4)
LOC/session-hourTotal LOC / total session hours
Fix ratiofix: commits / total commits

Step 3 — Hourly Activity Histogram

Build an ASCII bar chart showing commit distribution by hour (local timezone):

Hour  Commits
 06   ██ 3
 07   ████ 7
 08   ██████ 12
 ...

Identify: peak hours, dead zones, bimodal patterns (morning + evening coder).

Step 4 — Session Detection

Group commits into sessions using a 45-minute gap threshold:

  • Commits within 45 min of each other = same session
  • Gap > 45 min = new session

Classify sessions:

  • Deep (50+ min): focused work blocks
  • Medium (20-50 min): moderate focus
  • Micro (<20 min): quick fixes, drive-bys

Step 5 — Commit Type Breakdown

Parse conventional commit prefixes and show percentage bar:

feat ████████████████ 45%
fix  ████████         22%
ref  ████             11%
test ████             11%
docs ██                5%
chore██                6%

Flag: if fix ratio > 50% → "High fix ratio suggests reactive mode. Consider investing in test coverage."

Step 6 — Hotspot Analysis

Top 10 most-changed files in the window:

FileChangesTest Coverage
src/auth/login.ts8✅
src/api/users.ts6❌

Flag: files with 5+ changes = churn hotspot — candidate for refactoring. Flag: hotspot files without test coverage = risk.

Step 7 — Focus Score & Ship of the Week

  • Focus Score = % of commits in top-changed directory. High focus (>60%) = deep work. Low focus (<30%) = context switching.
  • Ship of the Week = highest-LOC commit/PR with feat: prefix. Celebrate it.

Step 8 — Per-Person Breakdown

For each contributor:

Current user (deepest treatment):

  • Commits, LOC, areas of focus
  • Commit type mix (builder vs fixer vs maintainer)
  • Session patterns (deep vs micro ratio)
  • Test discipline (% of feat commits with corresponding test commits)
  • Biggest ship

Teammates (2-3 sentences each):

  • Summary of work areas and volume
  • Specific praise — anchored in actual commits (e.g., "Your auth refactor in 3 commits was surgically clean")
  • One growth opportunity — constructive, based on patterns (e.g., "8 of 12 commits were fixes — consider adding tests alongside features")

Step 9 — Trend Tracking (if prior retros exist)

Read most recent .rune/retros/*.json. Compute deltas:

MetricPreviousCurrentDelta
Commits4552+15% ↑
Test ratio0.180.24+33% ↑
Fix ratio0.550.38-31% ↓ (improving)
Deep sessions812+50% ↑

Step 10 — Shipping Streak

Query full history for consecutive days with at least 1 commit:

  • Team streak: any contributor committed
  • Personal streak: current user committed

Step 11 — Save Retro History

Write JSON snapshot to .rune/retros/{YYYY-MM-DD}.json:

{
  "date": "2026-03-20",
  "window": "7d",
  "metrics": {
    "commits": 52, "contributors": 3, "loc_added": 1850,
    "loc_removed": 620, "test_ratio": 0.24, "fix_ratio": 0.38,
    "active_days": 5, "sessions": 14, "deep_sessions": 8
  },
  "authors": ["user1", "user2"],
  "streak": { "team": 12, "personal": 5 },
  "summary": "Shipped auth overhaul + 3 bug fixes. Test ratio improving."
}

Step 12 — Write Narrative Report

Structure (~800-1500 words — concise, not a novel):

  1. Tweetable summary (1 sentence, <280 chars)
  2. Summary table (Step 2 metrics)
  3. Time & session patterns (Steps 3-4)
  4. Shipping velocity (Step 5 commit types)
  5. Code quality signals (Step 6 hotspots, test ratio)
  6. Focus & highlights (Step 7)
  7. Your week (current user deep dive from Step 8)
  8. Team breakdown (Step 8 teammates)
  9. Top 3 wins (specific, anchored in commits)
  10. 3 things to improve (specific, actionable)
  11. 3 habits for next week (concrete daily practices)
  12. Trends (Step 9, if available)

Tone: Encouraging but candid. Specific and concrete. Anchored in actual commits, not vague impressions. Every critique paired with a specific suggestion.

Milestone Progressive Analysis

At specific project milestones, retro automatically generates a deeper analysis with a different focal point per milestone. This goes beyond the standard weekly retro — it's a reflective checkpoint on the project's evolution.

Milestone Detection

Count total retro snapshots in .rune/retros/ (each represents ~1 retro session). Trigger milestone analysis when count reaches:

MilestoneRetro CountFocal PointDepth
First Month4Foundations — Are conventions solid? Is the architecture scaling? Are early decisions holding?Standard + foundation review
Quarter12Patterns — What recurring themes emerged? Which areas churn most? Is technical debt growing or shrinking?Standard + theme extraction
Half Year24Growth — How has the codebase evolved? Are the original architectural bets paying off? What would you do differently?Standard + architecture review
One Year50Maturity — Full project health assessment. Velocity trends over time. Team growth patterns. Knowledge distribution.Standard + full evolution timeline

Milestone Execution

When a milestone is detected (retro count matches a threshold for the first time):

  1. Announce: "🏁 Milestone: [name] ([count] retros). Generating deep analysis..."
  2. Load history: Read ALL .rune/retros/*.json snapshots (not just the most recent)
  3. Compute evolution metrics: Plot key metrics over time (commits/week, test ratio, fix ratio, session depth)
  4. Focal analysis: Generate the milestone-specific analysis based on the focal point column above
  5. Trend narrative: Write a 300-500 word narrative on how the project has evolved, anchored in actual data
  6. Save: Write milestone report to .rune/retros/{YYYY-MM-DD}-milestone-{name}.md

Milestone Report Structure

## Milestone: [name] — [date]

### Evolution Timeline
[ASCII chart or table showing key metrics across all retro snapshots]

### [Focal Point] Analysis
[300-500 words anchored in data — specific commits, files, metrics]

### What's Working
- [pattern that's improving, with evidence]

### What Needs Attention
- [pattern that's degrading, with evidence]

### Recommendations
- [1-3 concrete actions based on the focal analysis]

Rules

  • Milestone analysis is additive — it runs ON TOP of the standard retro, not instead of it
  • Each milestone triggers ONCE — check if .rune/retros/*-milestone-{name}.md already exists before generating
  • If retro history is sparse (gaps >30 days), note this in the report — trends may be unreliable
  • Milestone analysis does NOT count toward the retro's normal output — it's a separate artifact

Compare Mode

When invoked as /rune retro compare:

  1. Compute current period metrics (same as above)
  2. Compute previous same-length period (e.g., if current = 7d, previous = 7d before that)
  3. Side-by-side delta table
  4. Highlight biggest improvements and regressions
  5. Save only current-period snapshot

Self-Validation

SELF-VALIDATION (run before emitting report):
- [ ] All metrics computed from actual git data — no assumptions or estimates
- [ ] Per-person praise is anchored in specific commits (not generic "great work")
- [ ] Improvement suggestions are actionable (not "write more tests" but "add tests for the 3 hotspot files without coverage")
- [ ] Retro JSON saved to .rune/retros/ for trend tracking
- [ ] No code was modified — retro is read-only

Business Mode (--business)

When invoked as /rune retro --business, generate a cross-domain executive retrospective with HTML output. Requires Business tier (.rune/org/org.md should exist).

Business Data Sources

Pull from all installed domain packs:

  • Engineering: git history (commits, velocity, test ratio, fix ratio, hotspots)
  • Revenue (@rune-pro/sales): pipeline metrics, deal velocity, churn risk
  • Support (@rune-pro/support): ticket volume, SLA compliance, CSAT
  • Finance (@rune-pro/finance): burn rate, runway, budget variance
  • Compliance (@rune-pro/legal): framework status, audit dates, open items

Business Execution Steps

  1. Gather: Run standard retro Steps 1-10 for engineering data
  2. Org Context: Read .rune/org/org.md for team structure and governance level
  3. Cross-Domain KPIs: Aggregate metrics from domain signal history (.rune/signals/)
  4. Team Health: Score each team from org config on velocity, quality, morale
  5. Compliance: Check compliance frameworks from org security policies
  6. HTML Render: Load report-templates/retro-business.html from Business pack and populate all {{placeholder}} fields with computed data
  7. Save: Write HTML to .rune/retros/{YYYY-MM-DD}-business.html
  8. Also save JSON snapshot (same as standard retro) for trend tracking

Business Output

.rune/retros/2026-03-30-business.html  — Self-contained HTML report
.rune/retros/2026-03-30.json           — Machine-readable metrics

The HTML report includes: KPI cards with trend deltas, domain performance bars (engineering, revenue, support, finance), team health table, compliance status, key insights (wins + risks), and is printable to PDF via Ctrl+P.

Graceful Degradation

  • If no Business pack installed: skip business mode, fall back to standard retro
  • If domain data unavailable: show "No data" for that domain, don't fail
  • If .rune/org/org.md missing: use generic team structure, WARN in report

Constraints

  1. MUST NOT modify any code — retro is read-only analysis
  2. MUST anchor all observations in specific commits — no vague impressions
  3. MUST include per-person breakdown for teams with 2+ contributors
  4. MUST save JSON snapshot for trend tracking across retros
  5. MUST flag churn hotspots (5+ changes to same file)
  6. MUST flag high fix ratio (>50%) as reactive mode signal
  7. MUST include actionable habits — "test the hotspots" not "write more tests"

Sharp Edges

Failure ModeSeverityMitigation
Generic praise not anchored in commitsHIGHEvery praise MUST reference a specific commit or PR — "great auth refactor in 3 commits" not "good job this week"
Vague improvement suggestionsHIGH"Add tests for src/api/users.ts (6 changes, 0 tests)" not "consider writing more tests"
Counting merge commits as real workMEDIUMUse --no-merges flag to exclude merge commits from metrics
Timezone skew in hourly histogramMEDIUMConvert all timestamps to local timezone before bucketing
Retro on empty window (no commits)LOWDetect early and report: "No commits in the last {window}. Nothing to retro."
Discouraging tone for struggling weeksHIGHEven bad weeks have wins. Find the smallest positive signal and lead with it

Output Format

## Engineering Retro: [date range]

> [tweetable summary]

### Summary
| Metric | Value |
|--------|-------|
| Commits | N |
| ...     | ... |

### [remaining sections per Step 12]

### Top 3 Wins
1. [specific win anchored in commit]
2. [specific win]
3. [specific win]

### 3 Things to Improve
1. [specific, actionable]
2. [specific, actionable]
3. [specific, actionable]

### 3 Habits for Next Week
1. [concrete daily practice]
2. [concrete daily practice]
3. [concrete daily practice]

Done When

  • All git metrics gathered for specified time window
  • Summary metrics computed (commits, LOC, test ratio, fix ratio, sessions)
  • Per-person breakdown with specific praise and growth areas
  • Top 3 wins and 3 improvements identified (commit-anchored)
  • Retro JSON saved to .rune/retros/ for trend tracking
  • Narrative report emitted
  • No code was modified

Returns

ArtifactFormatLocation
Retrospective narrative reportMarkdown (~800-1500 words)inline
Retro JSON snapshotJSON.rune/retros/{YYYY-MM-DD}.json
Per-person breakdownMarkdown sectionsinline
Action items + habitsOrdered listsinline

Cost Profile

~3000-5000 tokens input (git history parsing), ~2000-4000 tokens output (narrative). Sonnet for analysis quality. Runs infrequently (weekly/sprint cadence).

Scope guardrail: retro is read-only — it analyzes and reports. It does NOT modify code, create PRs, or change any files except its own output artifacts in .rune/retros/.

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

adversary

無料

Pre-implementation red-team analysis. Use when a plan is high-risk, critical path, or expensive to reverse. Challenges plans before code is written — finds edge cases, security holes, scalability bottlenecks, error propagation risks, and integration conflicts. Catches flaws at plan time (10x cheaper than post-implementation).

日本語の概要は準備中です。原文の説明を表示しています。

Rune-kit/rune862026年8月16日 更新

Creates code-based visual assets — SVG icons, OG image HTML templates, social banners, and icon sets. Use when generating visuals as code (vector/HTML), NOT raster images — for raster generation see @rune-pro/media. Outputs files with usage instructions.

日本語の概要は準備中です。原文の説明を表示しています。

Rune-kit/rune862026年8月16日 更新

audit

無料

Comprehensive project audit — security, dependencies, code quality, architecture, performance, infra, docs, and mesh analytics. Use when needing a full 8-dimension health-score snapshot before a major release, M&A diligence, or quarterly review. Delegates to specialist skills (sentinel, dependency-doctor, perf, autopsy, etc.).

日本語の概要は準備中です。原文の説明を表示しています。

Rune-kit/rune862026年8月16日 更新

autopsy

無料

Full codebase health assessment. Use when diagnosing project health or starting a rescue workflow on legacy code — OR when evaluating an external GitHub repo for dependency / fork / contribution decisions (--external mode). Analyzes complexity, dependencies, dead code, tech debt, and git hotspots. Produces a health score and rescue plan.

日本語の概要は準備中です。原文の説明を表示しています。

Rune-kit/rune862026年8月16日 更新

ba

無料

Business Analyst agent. Use when starting a new feature requiring requirements elicitation BEFORE plan or cook. Asks probing questions, identifies hidden requirements, maps stakeholders, defines scope boundaries, and produces a structured Requirements Document that plan and cook consume.

日本語の概要は準備中です。原文の説明を表示しています。

Rune-kit/rune862026年8月16日 更新

Creative ideation and solution exploration. Generates multiple approaches with trade-offs, uses structured frameworks (SCAMPER, First Principles), and hands off to plan for structuring.

日本語の概要は準備中です。原文の説明を表示しています。

Rune-kit/rune862026年8月16日 更新

Rune-kit のスキルをすべて見る

このスキルの問題を報告する