# Gstack Openclaw Retro > Retrospectiva semanal de ingeniería: analiza commits, patrones de trabajo y calidad de código con historial persistente, tendencias y análisis por persona con elogios y áreas de mejora. Fuente: https://skillsagentes.com/skills/garrytan/gstack/gstack-openclaw-retro Markdown: https://skillsagentes.com/skills/garrytan/gstack/gstack-openclaw-retro.md Repositorio: https://github.com/garrytan/gstack Autor: garrytan Licencia: MIT Actualizado: hace 7 días Coste de contexto: 74 tok instalada, 2.4k tok al activarse, 2.4k tok con todos los archivos del bundle Bundle: 1 archivo, 9 KB Permisos que pide: ninguno declarado ## Instalación Un skill son archivos markdown: los mismos archivos valen para cualquier agente y lo único que cambia es el directorio de destino, es decir la bandera `--agent`. Añade `-g` para instalarlo en todos los proyectos de la máquina. ```bash # Claude Code npx -y skills add garrytan/gstack --skill gstack-openclaw-retro --agent claude-code # Cursor npx -y skills add garrytan/gstack --skill gstack-openclaw-retro --agent cursor # Codex npx -y skills add garrytan/gstack --skill gstack-openclaw-retro --agent codex # Gemini CLI npx -y skills add garrytan/gstack --skill gstack-openclaw-retro --agent gemini # Windsurf npx -y skills add garrytan/gstack --skill gstack-openclaw-retro --agent windsurf # Cline npx -y skills add garrytan/gstack --skill gstack-openclaw-retro --agent cline ``` ## Qué hace - Analiza el historial de commits de git para generar una retrospectiva semanal de ingeniería - Calcula métricas de código: LOC, ratio de tests, hotspots, tipos de commit, tamaño de PRs - Detecta sesiones de trabajo, patrones horarios y rachas de shipping por persona y por equipo - Genera análisis por persona con elogios y áreas de mejora ancladas en commits reales - Guarda snapshots en memory/ para comparar tendencias semana a semana ## Cuándo usarla - Se pide una retro semanal, qué se envió esta semana, o una retrospectiva de ingeniería - Se quiere comparar la ventana actual contra la semana o periodo anterior (modo compare) ## Qué la activa - "Dame la retro de ingeniería de esta semana" - "¿Qué shippeamos esta semana?" - "Genera la retrospectiva de las últimas 24h" - "Compara esta semana con la anterior" - "Muéstrame la retro de los últimos 14 días" ## Antes de instalar - Requiere estar en un repositorio git con acceso a origin/main y commits en la ventana analizada. - Necesita en el PATH: git ## Archivos - SKILL.md — 9 KB ## SKILL.md Reproducido tal cual desde garrytan/gstack bajo MIT. Esta sección es el documento original y está en inglés. # 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="" --format="%H|%aN|%ae|%ai|%s" --shortstat # Per-commit test vs total LOC breakdown with author git log origin/main --since="" --format="COMMIT:%H|%aN" --numstat # Commit timestamps for session detection and hourly distribution git log origin/main --since="" --format="%at|%aN|%ai|%s" | sort -n # Files most frequently changed (hotspot analysis) git log origin/main --since="" --format="" --name-only | grep -v '^$' | sort | uniq -c | sort -rn # PR numbers from commit messages git log origin/main --since="" --format="%s" | grep -oE '[#!][0-9]+' | sort -t'#' -k1 | uniq # Per-author file hotspots git log origin/main --since="" --format="AUTHOR:%aN" --name-only # Per-author commit counts git shortlog origin/main --since="" -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="" --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. --- ### Step 10: Week-over-Week Trends (if window >= 14d) 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="" --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 ## Dónde encaja - Categoría: [Herramientas para desarrolladores](https://skillsagentes.com/categorias/herramientas-desarrollo.md) — Skills que cambian cómo tu agente escribe, revisa y despliega código. - Creador: [garrytan](https://skillsagentes.com/creators/garrytan.md) — 134 skills en el directorio - [Todas las skills](https://skillsagentes.com/skills.md) - [Ranking de instalaciones](https://skillsagentes.com/ranking.md) ## Otras skills del mismo repositorio - [Browse](https://skillsagentes.com/skills/garrytan/gstack/browse.md): Navegador headless rápido para QA testing y dogfooding de sitios (gstack). - [Ship](https://skillsagentes.com/skills/garrytan/gstack/ship.md): Flujo de ship: detecta y fusiona la rama base, corre tests, revisa el diff, sube VERSION, actualiza CHANGELOG, hace commit, push y crea el PR (gstack). - [Ios Qa](https://skillsagentes.com/skills/garrytan/gstack/ios-qa.md): QA en dispositivo iOS real para apps SwiftUI, con bucle de agente guiado por visión sobre USB (gstack). - [Plan Design Review](https://skillsagentes.com/skills/garrytan/gstack/plan-design-review.md): Revisión de planes con ojo de diseñador — interactiva, al estilo de las revisiones de CEO e Ingeniería. (gstack) - [Plan Eng Review](https://skillsagentes.com/skills/garrytan/gstack/plan-eng-review.md): Revisión de plan en modo gerente de ingeniería: arquitectura, flujo de datos, diagramas, casos límite, cobertura de pruebas y rendimiento. (gstack) ## Skills relacionadas - [Finishing A Development Branch](https://skillsagentes.com/skills/obra/superpowers/finishing-a-development-branch.md): Úsalo cuando la implementación esté completa, todos los tests pasen, y necesites decidir cómo integrar el trabajo. - [Using Git Worktrees](https://skillsagentes.com/skills/obra/superpowers/using-git-worktrees.md): Úsalo al empezar trabajo de feature que necesita aislamiento del workspace actual, o antes de ejecutar planes de implementación: asegura un workspace aislado vía herramientas nativas o fallback a git worktree. - [Writing Skills](https://skillsagentes.com/skills/obra/superpowers/writing-skills.md): Úsala al crear nuevas skills, editar skills existentes o verificar que funcionan antes de desplegarlas. - [Code Review](https://skillsagentes.com/skills/mattpocock/skills/code-review.md): Revisa los cambios desde un punto fijo por dos ejes — Standards (¿sigue los estándares del repo?) y Spec (¿hace lo que pedía el issue?) — en sub-agentes paralelos, y los reporta lado a lado. - [Codebase Design](https://skillsagentes.com/skills/mattpocock/skills/codebase-design.md): Vocabulario compartido para diseñar módulos profundos. Úsalo para diseñar o mejorar la interfaz de un módulo, decidir dónde va un seam, o hacer el código más testeable y navegable para una IA. --- Skills Agentes · [Índice de páginas en markdown](https://skillsagentes.com/sitemap.md) · [Inicio](https://skillsagentes.com/index.md)