/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
Claude Code
$ npx -y skills add garrytan/gstack --skill gstack-openclaw-retro --agent claude-code
Codex
$ npx skills add garrytan/gstack --skill gstack-openclaw-retro -a codex -y
Cursor
$ npx skills add garrytan/gstack --skill gstack-openclaw-retro -a cursor -y
Gemini CLI
$ npx skills add garrytan/gstack --skill gstack-openclaw-retro -a gemini-cli -y
GitHub Copilot
$ npx skills add garrytan/gstack --skill gstack-openclaw-retro -a github-copilot -y
OpenCode
$ npx skills add garrytan/gstack --skill gstack-openclaw-retro -a opencode -y
Windsurf
$ npx skills add garrytan/gstack --skill gstack-openclaw-retro -a windsurf -y
SKILL.md
gstack-openclaw-retro.SKILL.mdname: 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
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
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
Other skills on gstack.
More skills from other plugins.
karpathy-guidelines
Behavioral guidelines to reduce common LLM coding mistakes. Use when writing, reviewing, or refactoring code to avoid…
book-to-skill
Converts books and documents (PDF, EPUB, DOCX, HTML, Markdown, plain text, RTF, MOBI/AZW with Calibre) into structured agent…
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,…
skillopt-sleep
Use when the user wants their Claude agent to self-improve from past usage, asks about a nightly/offline 'sleep' or 'dream'…
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.

