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
138k4 skills

Claude Code

$ npx -y skills add garrytan/gstack --skill gstack-openclaw-retro --agent claude-code

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
@garrytan
Ships withgstack

gstack turns Claude Code (and other coding agents) into a virtual engineering team: a CEO who rethinks the product, an eng manager who locks architecture, a designer who catches AI slop, a reviewer who finds production bugs, a QA lead who opens a real

Stars on GitHub

Momentum

stars in total
138.4k
Star history of garrytan/gstack on GitHub, a chart by star-history.com

Other skills on gstack.

gstack-openclaw-ceo-review

gstack-openclaw-ceo-re…

Use when asked to review a plan, challenge a proposal, run a CEO review, poke holes in an approach, think bigger about scope, or…

@garrytan@garrytanInstall Skill
gstack-openclaw-investigate

gstack-openclaw-invest…

Use when asked to debug, fix a bug, investigate an error, or do root cause analysis, and when users report errors, stack traces,…

@garrytan@garrytanInstall Skill

More skills from other plugins.

book-to-skill

book-to-skill

Converts books and documents (PDF, EPUB, DOCX, HTML, Markdown, plain text, RTF, MOBI/AZW with Calibre) into structured agent…

@virgiliojr94@virgiliojr94Install Skill
distilly

distilly

Set up the owner profile so a personal agent knows who it works for (first-run setup, \"get to know me\"), or distill colleague,…

@titanwings@titanwingsInstall Skill
skillopt-sleep

skillopt-sleep

Use when the user wants their Claude agent to self-improve from past usage, asks about a nightly/offline 'sleep' or 'dream'…

skillopt13d19k
@microsoft@microsoftInstall Skill

Questions about gstack-openclaw-retro.

Which coding agents can use gstack-openclaw-retro?
gstack-openclaw-retro installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.