Skip to content
Automation
Command

/retro

[advanced] Generate engineering retrospectives from git history with trends and team analysis

From plugin
octo
4.3k53 skills49 agents53 commands18 hooks
> /plugin marketplace add nyldn/claude-octopus

Command definition

retro.md
command: retro
disable-model-invocation: true
description: "[advanced] Generate engineering retrospectives from git history with trends and team analysis"
allowed-tools: Bash, Read, Glob, Grep, Write

Retro — Engineering Retrospective from Git History

**Your first output line MUST be:** `🐙 Octopus Retrospective`

Generate data-driven engineering retrospectives by mining git history. Surfaces commit patterns, contributor breakdown, hotspots, session analysis, and AI-assisted commit tracking.

Usage

/octo:retro              # Last 7 days (default)
/octo:retro 24h          # Last 24 hours
/octo:retro 14d          # Last 14 days
/octo:retro 30d          # Last 30 days

Instructions

When the user invokes `/octo:retro`, you MUST follow these steps exactly.

1. Parse Time Window

Accept an optional argument for the time window. Default to `7d` if none provided.

Supported formats:

  • `24h` — last 24 hours (`--since='24 hours ago'`)
  • `7d` — last 7 days (`--since='7 days ago'`)
  • `14d` — last 14 days (`--since='14 days ago'`)
  • `30d` — last 30 days (`--since='30 days ago'`)

Map the argument to a git `--since` value. If the argument does not match a supported format, warn the user and fall back to `7d`.

2. Gather Git Data

Run the following git commands to collect raw data. Each command MUST be executed — do NOT skip any.

**Commit list:**

git log --oneline --since='<window>' --no-merges

**LOC changes (lines added/removed per file):**

git log --numstat --since='<window>' --no-merges --format=''

**Contributor leaderboard:**

git shortlog -sn --since='<window>' --no-merges

**Hotspot analysis (files modified most often):**

git log --format='' --name-only --since='<window>' --no-merges | sort | uniq -c | sort -rn | head -20

**PR merge count (merge commits):**

git log --oneline --since='<window>' --merges | wc -l

**Commit timestamps for session detection:**

git log --format='%at %H %s' --since='<window>' --no-merges

**AI-assisted commit detection:**

git log --since='<window>' --no-merges --format='%b' | grep -ci 'Co-Authored-By:'

**Current user identification:**

git config user.name

3. Compute and Display Results

Present the retrospective in this structured format:

Summary Table

| Metric | Value | |--------|-------| | Time window | `<window>` | | Total commits | N | | Lines added | +N | | Lines removed | -N | | Net change | +/-N | | PRs merged | N | | Contributors | N | | AI-assisted commits | N (X%) |

Per-Contributor Breakdown

For each contributor from `git shortlog`, show:

  • Commit count
  • Lines added / removed
  • Label the current user (from `git config user.name`) as **"You"**

Format as a table sorted by commit count descending.

Commit Type Breakdown

Parse commit messages for conventional commit prefixes. Count each type:

  • `feat:` / `feature:` — Features
  • `fix:` — Bug fixes
  • `refactor:` — Refactoring
  • `test:` — Tests
  • `chore:` — Chores
  • `docs:` — Documentation
  • `perf:` — Performance
  • `ci:` — CI/CD
  • Other — anything that does not match

Calculate the **test ratio**: test commits / total commits.

Display as a table with counts and percentages.

Hotspot Analysis

Show the top 10 most-changed files from the hotspot data. These are files modified across the most commits (not by LOC). Flag any file appearing in more than 30% of commits as a potential refactoring candidate.

Session Detection

Analyze commit timestamps to detect work sessions. A gap of 45 minutes or more between consecutive commits marks a new session.

For each detected session, show:

  • Session number
  • Start time — end time
  • Duration
  • Commit count in session

Show total session count and average session length.

4. Save JSON Snapshot

Save a structured JSON snapshot to `.claude-octopus/retros/<date>.json` (where `<date>` is today in YYYY-MM-DD format).

mkdir -p .claude-octopus/retros

The JSON MUST include these fields:

{
  "date": "YYYY-MM-DD",
  "window": "<window>",
  "total_commits": N,
  "lines_added": N,
  "lines_removed": N,
  "prs_merged": N,
  "contributors": N,
  "ai_assisted_commits": N,
  "test_ratio": 0.XX,
  "top_hotspots": ["file1", "file2", ...],
  "sessions": N,
  "avg_session_minutes": N,
  "commit_types": {
    "feat": N,
    "fix": N,
    "refactor": N,
    "test": N,
    "chore": N,
    "docs": N,
    "other": N
  }
}

5. Compare with Prior Snapshot

After saving, check if a prior snapshot exists in `.claude-octopus/retros/`. If one is found:

  • Load the most recent prior JSON
  • Compare key metrics: commits, LOC, test ratio, sessions, AI-assisted %
  • Show a delta table with arrows indicating direction of change

Example:

Compared to <prior-date>:
  Commits:     42 → 58 (+38%)  ↑
  Test ratio:  0.12 → 0.18     ↑
  Sessions:    8 → 11          ↑
  AI-assisted: 24% → 31%       ↑

If no prior snapshot exists, note that this is the first retrospective and future runs will include comparisons.

What You Get

  • Data-driven view of engineering activity
  • Contributor visibility (with privacy — current user labeled as "You")
  • Commit hygiene metrics (conventional commit adherence, test ratio)
  • Hotspot warnings for over-touched files
  • Work pattern analysis via session detection
  • AI adoption tracking via Co-Authored-By detection
  • Trend comparison across retrospectives

Cost

Retro uses only local git commands and Claude (included with Claude Code). No external provider costs.

Read more
@nyldn
Ships withocto

Every AI model has blind spots. Claude Octopus supports twelve external provider integrations — Codex, Antigravity CLI, Copilot, Qwen, Ollama, Perplexity, OpenRouter, OrcaRouter, OpenCode, Cursor CLI, Grok, and Kimi Code — alongside the built-in Claude Code

4.3k70 skills49 agents
Get the whole plugin

Stars on GitHub

Momentum

stars in total
4.3k
Star history of nyldn/claude-octopus on GitHub, a chart by star-history.com

Other commands on octo.

auto

auto

Command

Smart router - Single entry point with natural language intent detection

@nyldn@nyldnInstall Command
brainstorm

brainstorm

Command

Start a creative thought partner brainstorming session

@nyldn@nyldnInstall Command
budget-mode

budget-mode

Command

Switch Octopus model routing to the configured budget tier

@nyldn@nyldnInstall Command
careful

careful

Command

[advanced] Activate destructive command warnings for the session

@nyldn@nyldnInstall Command
costs

costs

Command

[advanced] Compatibility view of the deterministic Octopus usage report

@nyldn@nyldnInstall Command
council

council

Command

Multi-LLM council for advice, decision support, implementation plans, and gated implementation

@nyldn@nyldnInstall Command

More commands from other plugins.

plan

plan

Command

Plan n8n Linear ticket implementation

n8n11d209k
@n8n-io@n8n-ioInstall Command
setup

setup

Command

One-time setup after installing ARIS as a Claude Code plugin — registers the Codex reviewer MCP server from the plugin directory…

aris12d18k
@wanshuiyin@wanshuiyinInstall Command
agent
Auto-invoked

agent

Command

name: sc:agent description: SC Agent — session controller that orchestrates investigation, implementation, and review category:…

@galaxy-dawn@galaxy-dawnInstall Command