Skip to content
Skill Authoring
Skill

/gstack-openclaw-retro

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

From plugin
gstack
133k4 skills
Install
$ npx -y skills add garrytan/gstack --skill gstack-openclaw-retro --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/gstack-openclaw-retro

Context preview

The summary Claude sees to decide when to auto-load this skill.

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

SKILL.md

gstack-openclaw-retro.SKILL.md
name: gstack-openclaw-retro
description: "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."

Weekly Engineering Retrospective

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.

Arguments

  • Default: last 7 days
  • `24h`: last 24 hours
  • `14d`: last 14 days
  • `30d`: last 30 days
  • `compare`: compare current window vs prior same-length window

Instructions

Parse 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"`.

---

Step 1: Gather Raw Data

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
git ls-files 2>/dev/null | grep -E '(\.test\.|\.spec\.|_test\.|_spec\.)' | wc -l

# Test files changed in window
git log origin/main --since="<window>" --format="" --name-only | grep -E '\.(test|spec)\.' | sort -u | wc -l

---

Step 2: Compute Metrics

Calculate and present these metrics in a summary:

  • **Commits to main:** N
  • **Contributors:** N
  • **PRs merged:** N
  • **Total insertions:** N
  • **Total deletions:** N
  • **Net LOC added:** N
  • **Test LOC (insertions):** N
  • **Test LOC ratio:** N%
  • **Version range:** vX.Y.Z → vX.Y.Z
  • **Active days:** N
  • **Detected sessions:** N
  • **Avg LOC/session-hour:** N

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)".

---

Step 3: Commit Time Distribution

Show hourly histogram in local time:

Hour  Commits  ████████████████
 00:    4      ████
 07:    5      █████
 ...

Identify:

  • Peak hours
  • Dead zones
  • Bimodal pattern (morning/evening) vs continuous
  • Late-night coding clusters (after 10pm)

---

Step 4: Work Session Detection

Detect sessions using **45-minute gap** threshold between consecutive commits.

Classify sessions:

  • **Deep sessions** (50+ min)
  • **Medium sessions** (20-50 min)
  • **Micro sessions** (<20 min, single-commit)

Calculate:

  • Total active coding time
  • Average session length
  • LOC per hour of active time

---

Step 5: Commit Type Breakdown

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.

---

Step 6: Hotspot Analysis

Show top 10 most-changed files. Flag:

  • Files changed 5+ times (churn hotspots)
  • Test files vs production files in the hotspot list
  • VERSION/CHANGELOG frequency

---

Step 7: PR Size Distribution

Estimate PR sizes and bucket them:

  • **Small** (<100 LOC)
  • **Medium** (100-500 LOC)
  • **Large** (500-1500 LOC)
  • **XL** (1500+ LOC)

---

Step 8: Focus Score + Ship of the Week

**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.

---

Step 9: Team Member Analysis

For each contributor (including the current user), compute:

1. **Commits and LOC** ... total commits, insertions, deletions, net LOC 2. **Areas of focus** ... which directories/files they touched most (top 3) 3. **Commit type mix** ... their personal feat/fix/refactor/test breakdown 4. **Session patterns** ... when they code (peak hours), session count 5. **Test discipline** ... their personal test LOC ratio 6. **Biggest ship** ... their single highest-impact commit or PR

**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:

  • **Praise** (1-2 sp
Read more
Ships withgstack

"I don't think I've typed like a line of code probably since December, basically, which is an extremely large change." — Andrej Karpathy, No Priors podcast, March 2026 When I heard Karpathy say this, I wanted to find out how.

Get the whole plugin
Stats
133,069
Stars
19,857
Forks
Active
Maintenance
TypeScript
Language
MIT
License
3h ago
Last commit
6mo ago
Created
13d ago
Added

Repo: garrytan/gstack

Other skills on gstack.