# Hook: Retrospectiva de sesión (Stop)

Al final de cada sesión de Claude Code, solicita automáticamente a Claude que resuma lo que se aprendió y lo categorice en actualizaciones de CLAUDE.md, nuevas reglas, ideas de habilidades y ADRs.

## Qué hace

- Se activa en el evento `Stop`
- Escribe un archivo de solicitud retrospectiva en `.claude/retro-pending.md`
- En tu próxima sesión, puedes ejecutar `/retro` para procesar los aprendizajes
- Captura: nuevos patrones descubiertos, bugs encontrados, decisiones tomadas, mejoras para hacer

## Entrada en settings.json

```json
{
  "hooks": {
    "Stop": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "bash ~/.claude/hooks/session-retro.sh"
          }
        ]
      }
    ]
  }
}
```

## Script del hook: session-retro.sh

```bash
#!/usr/bin/env bash
# Stop hook: write session retrospective prompt for next session
set -euo pipefail

INPUT=$(cat)
CWD=$(echo "$INPUT" | jq -r '.cwd // "."')
STOP_REASON=$(echo "$INPUT" | jq -r '.stop_reason // "normal"')
TIMESTAMP=$(date '+%Y-%m-%d %H:%M')
TOTAL_COST=$(echo "$INPUT" | jq -r '.total_cost_usd // 0')

# Only write retro for meaningful sessions (not immediate exits)
if [[ "$STOP_REASON" == "interrupt" ]]; then
  exit 0
fi

RETRO_FILE="$CWD/.claude/retro-pending.md"
mkdir -p "$(dirname "$RETRO_FILE")"

cat > "$RETRO_FILE" << EOF
# Session Retrospective — ${TIMESTAMP}
Cost: \$${TOTAL_COST} | Reason: ${STOP_REASON}

## Retrospective prompt (run at start of next session)

Ask Claude:
"Review the recent session history. Identify and categorise any learnings:

1. **CLAUDE.md updates** — new project conventions, commands, or context that should be persistent
2. **New rules** — coding standards or patterns worth adding to rules/
3. **Skill ideas** — repetitive workflows that deserve a /skill
4. **ADRs** — architecture decisions made that should be documented
5. **Bugs discovered** — issues found that aren't yet fixed

Format each item as a specific, actionable addition. Skip categories with nothing to add."

---
*Generated by session-retro hook. Delete this file after processing.*
EOF

echo "📝 Retrospective queued: $RETRO_FILE" >&2
exit 0
```

## Configuración

```bash
mkdir -p ~/.claude/hooks
cp session-retro.sh ~/.claude/hooks/session-retro.sh
chmod +x ~/.claude/hooks/session-retro.sh

# Añade .claude/retro-pending.md a gitignore
echo ".claude/retro-pending.md" >> .gitignore
```

## Procesar la retrospectiva

Al inicio de tu próxima sesión:
```bash
# Verifica si hay una retro pendiente
cat .claude/retro-pending.md

# Luego en Claude Code, pega la solicitud y procesa los aprendizajes
# Después de procesar, elimina el archivo:
rm .claude/retro-pending.md
```
