Agent skill

Weekly Engineering Retro

by garrytan in garrytan/gstack

Builds a weekly engineering retrospective from git history: commit counts, per-person contributions, work patterns and code quality numbers over a chosen window.

MITAuto-check passedProduct & Project Management

Install Weekly Engineering Retro

skills CLI
$ npx skills add garrytan/gstack --skill gstack-openclaw-retro -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install garrytan/gstack gstack-openclaw-retro --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/garrytan/gstack.git skills-src && mkdir -p .claude/skills && cp -r skills-src/openclaw/skills/gstack-openclaw-retro .claude/skills/gstack-openclaw-retro && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
gstack-openclaw-retro
GitHub stars
136k
Token cost
~2.4k tokens
SKILL.md length
968 words
Files
1
Skills in repo
57
Repo updated
First seen
Licence
MIT

At a glance

Builds a weekly engineering retrospective from git history: commit counts, per-person contributions, work patterns and code quality numbers over a chosen window.

  • Works in 12 steps: Gather Raw Data → Compute Metrics → Commit Time Distribution → …
  • Writing a weekly engineering retrospective for the team
  • SKILL.md covers Arguments, Instructions, Compare Mode and Important Rules
  • Calls git

What it does

The skill has your agent read the git log of origin/main over a time window and write up what the team shipped. The window defaults to the last 7 days; you can pass 24h, 14d or 30d, or compare to set the current period against the previous one of the same length. Day windows start at local midnight and every time is reported in your local timezone.

It works out who you are from git config, then covers every contributor. The metrics summary lists commits to main, contributors, pull requests merged, lines added and removed, the share of test code, the version range, active days and detected work sessions, followed by a leaderboard sorted by commits with you listed first. A commit-time histogram points out peak hours, quiet stretches and late-night clusters. The description also promises per-person praise and growth areas and saved history for trend tracking, but the excerpt stops before those steps.

When your agent uses it

  • Writing a weekly engineering retrospective for the team
  • Summarizing what shipped over the last week or two
  • Comparing this period's output against the previous period
  • Checking commit patterns such as late-night work clusters

Example prompts

  • “Run a weekly retro for the last 7 days.”
  • “What did we ship this week? Compare it with the week before.”
  • “Give me a 30d engineering retrospective with a per-person breakdown.”

Requirements

  • A git repository with an origin remote and a main branch

Workflow steps

12 steps, taken from the step headings in SKILL.md.

  1. Gather Raw Data
  2. Compute Metrics
  3. Commit Time Distribution
  4. Work Session Detection
  5. Commit Type Breakdown
  6. Hotspot Analysis
  7. PR Size Distribution
  8. Focus Score + Ship of the Week
  9. Team Member Analysis
  10. Week-over-Week Trends (if window >= 14d)
  11. Streak Tracking
  12. Load History & Compare

What it can do on your machine

Read from SKILL.md and the folder at commit f67c478. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • git

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Weekly Engineering Retro loads about 2.4k tokens when it runs. Until then it costs about 80 tokens; SKILL.md has 968 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~80
When it runs · the whole SKILL.md, loaded when a task matches
~2.4k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from garrytan/gstack at commit f67c478, republished under its MIT licence (© garrytan). 968 words, ~2,391 tokens.

Download SKILL.mdSave it as .claude/skills/gstack-openclaw-retro/SKILL.md (or your agent's skills folder).
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:

bash
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):

bash
# 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 specific things): Anchor in actual commits. Not "great work" ... say exactly what was good.
  • Opportunity for growth (1 specific thing): Frame as leveling-up, not criticism. Anchor in actual data.

If solo repo: Skip team breakdown.

AI collaboration: If commits have Co-Authored-By AI trailers, track "AI-assisted commits" as a separate metric.


Show full SKILL.md (379 more words)Show less

Split into weekly buckets and show trends:

  • Commits per week (total and per-author)
  • LOC per week
  • Test ratio per week
  • Fix ratio per week
  • Session count per week

Step 11: Streak Tracking

Count consecutive days with at least 1 commit, going back from today:

bash
# Team streak
git log origin/main --format="%ad" --date=format:"%Y-%m-%d" | sort -u

# Personal streak
git log origin/main --author="<user_name>" --format="%ad" --date=format:"%Y-%m-%d" | sort -u

Display both:

  • "Team shipping streak: 47 consecutive days"
  • "Your shipping streak: 32 consecutive days"

Step 12: Load History & Compare

Check for prior retro history in memory/:

If prior retros exist, load the most recent one and calculate deltas:

                    Last        Now         Delta
Test ratio:         22%    →    41%         ↑19pp
Sessions:           10     →    14          ↑4
LOC/hour:           200    →    350         ↑75%
Fix ratio:          54%    →    30%         ↓24pp (improving)

If no prior retros exist, note "First retro recorded, run again next week to see trends."


Step 13: Save Retro History

Save a JSON snapshot to memory/retro-YYYY-MM-DD.json with metrics, authors, version range, streak, and tweetable summary.


Step 14: Write the Narrative

Format for Telegram (bullets, bold, no markdown tables in the final output).

Structure:

Tweetable summary (first line):

Week of Mar 1: 47 commits (3 contributors), 3.2k LOC, 38% tests, 12 PRs, peak: 10pm | Streak: 47d

Then sections:

  • Summary ... key metrics
  • Trends vs Last Retro ... deltas (skip if first retro)
  • Time & Session Patterns ... when the team codes, session lengths, deep vs micro
  • Shipping Velocity ... commit types, PR sizes, fix-chain detection
  • Code Quality Signals ... test ratio, hotspots, churn
  • Focus & Highlights ... focus score, ship of the week
  • Your Week ... personal deep-dive for the current user
  • Team Breakdown ... per-teammate analysis with praise + growth (skip if solo)
  • Top 3 Team Wins ... highest-impact things shipped
  • 3 Things to Improve ... specific, actionable, anchored in commits
  • 3 Habits for Next Week ... small, practical, realistic (<5 min to adopt)

Compare Mode

When the user says "compare":

  • Run the retro for the current window
  • Run the retro for the prior same-length window
  • Present side-by-side metrics with arrows showing improvement/regression
  • Brief narrative on biggest changes

Important Rules

  • All times in local timezone. Never set TZ.
  • Format for Telegram. Use bullets and bold. Avoid markdown tables in the final output.
  • Praise anchored in commits. Never say "great work" without naming what was good.
  • Growth areas anchored in data. Never criticize without evidence.
  • Save history. Every retro saves to memory/ for trend tracking.
  • Completion status:
    • DONE ... retro generated, history saved
    • DONE_WITH_CONCERNS ... generated but missing data (e.g., no prior retros for comparison)
    • BLOCKED ... not in a git repo or no commits in window

© garrytan, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in openclaw/skills/gstack-openclaw-retro of garrytan/gstack.

Open the folder on GitHubat commit f67c478

Compare with similar skills

Weekly Engineering Retro next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Weekly Engineering Retro compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Weekly Engineering Retro this skillgarrytan/gstack136k—~2.4kAutomated safety check: PassMIT
Reviewfossasia/eventyay-interpretation1.6k35 repos~996Automated safety check: PassApache-2.0
Engineering RetroMathews-Tom/armory328—~2.3kAutomated safety check: PassMIT
Gitea Workflowjwynia/agent-skills166—~3.8kAutomated safety check: PassMIT
Reflectno-session/pstack134—~13kAutomated safety check: NotesMIT
Retromr-daedalium/ostack-saas1141 repos~11kAutomated safety check: NotesMIT

Similar skills

  • Review

    fossasia/eventyay-interpretation

    Review the changes since a fixed point (commit, branch, tag, or merge-base) along two axes — Standards (does the code follow this repo's documented coding standards?) and Spec (does the code match…

    1.6k GitHub starsUsed in 35 repos~996 tokens
    Product & Project ManagementAuto-check passed
  • Engineering Retro

    Mathews-Tom/armory

    Git-based engineering retrospective analyzing commits, PRs, and velocity over configurable windows with monorepo path scoping.

    328 GitHub stars~2.3k tokensUpdated 2 days ago
    Product & Project ManagementAuto-check passed
  • Gitea Workflow

    jwynia/agent-skills

    Orchestrate agile development workflows for Gitea repositories using the tea CLI.

    166 GitHub stars~3.8k tokensUpdated 7 mo ago
    Product & Project ManagementAuto-check passed
  • Reflect

    no-session/pstack

    Weekly engineering retrospective. An agent skill from no-session/pstack.

    134 GitHub stars~13k tokensUpdated 6 mo ago
    Product & Project ManagementAuto-check: notes
  • Retro

    mr-daedalium/ostack-saas

    Weekly engineering retrospective. An agent skill from mr-daedalium/ostack-saas.

    114 GitHub starsUsed in 1 repo~11k tokens
    Product & Project ManagementAuto-check: notes
  • Dough Story Wrap Up

    terryyin/lizard

    Closes one completed feature story, bounded retrospective correction, or context-only planless execution using available execution context.

    2.5k GitHub stars~4.3k tokensUpdated yesterday
    Product & Project ManagementAuto-check passed

More from garrytan/gstack

All 57 skills in this repo
  • Gstack Skill Router

    garrytan/gstack

    Router for the gstack skill suite. (gstack)

    136k GitHub stars~4k tokensUpdated today
    Auto-check: notes
  • Root Cause Debugging

    garrytan/gstack

    Investigates bugs, errors and stack traces in phases and requires a root-cause hypothesis to be confirmed before any fix is written.

    136k GitHub stars~1.4k tokensUpdated today
    Auto-check passed
  • Aside Browser Driver

    garrytan/gstack

    Drives a real browser through Aside so the agent can open a page, read it, click through a flow, take screenshots and check console errors.

    136k GitHub stars~8.5k tokensUpdated today
    Auto-check: notes
  • Launches a visible AI-controlled Chromium window with a sidebar extension, so you can watch each agent action in a live activity feed and chat panel.

    136k GitHub starsUsed in 1 repo~4.6k tokens
    Auto-check: notes
  • Live-Device iOS QA

    garrytan/gstack

    Tests a SwiftUI app on a real iPhone connected by USB, reading the Swift source and then looping through screenshot, analysis and action to find bugs.

    136k GitHub stars~10k tokensUpdated today
    Auto-check: notes
  • Cross-Model Benchmark

    garrytan/gstack

    Sends one prompt to Claude, GPT through the Codex CLI and Gemini, then tabulates response time, token use and cost, with an optional judged quality score.

    136k GitHub stars~4k tokensUpdated today
    Auto-check: notes

Works with

Questions about Weekly Engineering Retro

What does Weekly Engineering Retro do?

Builds a weekly engineering retrospective from git history: commit counts, per-person contributions, work patterns and code quality numbers over a chosen window. The skill has your agent read the git log of origin/main over a time window and write up what the team shipped. The window defaults to the last 7 days; you can pass 24h, 14d or 30d, or compare to set the current period against the previous one of the same length.

When should I use Weekly Engineering Retro?

Weekly Engineering Retro fits situations like: writing a weekly engineering retrospective for the team; summarizing what shipped over the last week or two; comparing this period's output against the previous period; checking commit patterns such as late-night work clusters.

How do I install Weekly Engineering Retro in Claude Code?

Run `npx skills add garrytan/gstack --skill gstack-openclaw-retro -a claude-code`. Or copy the skill folder (openclaw/skills/gstack-openclaw-retro in garrytan/gstack) into .claude/skills/gstack-openclaw-retro in your project. Claude Code loads it when a task matches its description.

How do I install Weekly Engineering Retro in Codex?

Run `npx skills add garrytan/gstack --skill gstack-openclaw-retro -a codex`. Or copy the skill folder (openclaw/skills/gstack-openclaw-retro in garrytan/gstack) into .agents/skills/gstack-openclaw-retro in your project. Codex loads it when a task matches its description.

Can I use Weekly Engineering Retro in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add garrytan/gstack --skill gstack-openclaw-retro -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/gstack-openclaw-retro, .gemini/skills/gstack-openclaw-retro, .github/skills/gstack-openclaw-retro and .opencode/skills/gstack-openclaw-retro in your project.

What does Weekly Engineering Retro need to run?

Going by SKILL.md and its folder, Weekly Engineering Retro needs the command-line tools its instructions call (git). Our summary lists: A git repository with an origin remote and a main branch.

Does Weekly Engineering Retro access the network?

SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Weekly Engineering Retro safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Weekly Engineering Retro use?

Weekly Engineering Retro is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Weekly Engineering Retro use?

About 2.4k tokens (SKILL.md is roughly 9.6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Weekly Engineering Retro?

Skills that share tags, products or a category with Weekly Engineering Retro: Review (fossasia/eventyay-interpretation, 1.6k stars), Engineering Retro (Mathews-Tom/armory, 328 stars), Gitea Workflow (jwynia/agent-skills, 166 stars) and Reflect (no-session/pstack, 134 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Weekly Engineering Retro?

garrytan (a GitHub user) maintains it in garrytan/gstack, which has 135,723 GitHub stars. The repository holds 57 skills in this directory. The repository was last updated on October 8, 2026.

Source: garrytan/gstack on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.