.claude/skills/code-improvement-loop/SKILL.md
Bucle autónomo de mejora continua de código — detecta oportunidades, aplica mejoras, genera PRs pendientes de revisión
npx skillsauth add gonzalezpazmonica/pm-workspace code-improvement-loopInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Regla de seguridad:
@docs/rules/domain/autonomous-safety.md— NUNCA merge, SIEMPRE PR Draft con reviewer humano. Inspirado en: autoresearch — patrón modificar → medir → mantener/descartar.
AUTONOMOUS_REVIEWERoutput/improvement-results-{YYYYMMDD}.tsvoutput/improvement-opportunities-{YYYYMMDD}.mdoutput/agent-runs/improvement-{YYYYMMDD}-audit.log1. AUTONOMOUS_REVIEWER configurado → si no: ❌ ABORT
2. Tests pasan (baseline sano) → si no: ❌ ABORT
3. Métricas baseline capturadas → si no: capturar antes de empezar
4. Auto Mode activado (claude --enable-auto-mode) → si no: ⚠️ warning, continuar
Auto Mode: activar claude --enable-auto-mode en la sesión que invoque esta
skill — añade classifier pre-tool-call complementario a autonomous-safety.md.
Humano ejecuta /code-improve [--scope {path}] [--tipo {coverage|complexity|lint|deps|todos}]
↓
Validar prerequisitos
↓
Capturar métricas baseline:
- Cobertura de tests (%)
- Complejidad ciclomática (promedio y max)
- Warnings de linter (count)
- TODOs sin ticket (count)
- Dependencias desactualizadas (count)
↓
Detectar oportunidades de mejora → mostrar lista → PEDIR CONFIRMACIÓN
↓
[Humano confirma]
↓
LOOP (por cada oportunidad, hasta max_tasks o max_failures):
↓
Crear rama: agent/improve-{tipo}-{id}
↓
Crear worktree aislado
↓
Aplicar mejora (time-box: AGENT_TASK_TIMEOUT_MINUTES)
↓
Ejecutar tests + capturar métricas post-cambio
↓
Comparar métricas:
¿Tests siguen pasando?
¿Métrica objetivo mejoró?
¿Ninguna otra métrica degradó significativamente?
↓
TODO SÍ → Crear PR Draft con:
- Título: "agent(improve): {descripción}"
- Body: métricas antes/después, ficheros modificados, riesgo estimado
- Reviewer: AUTONOMOUS_REVIEWER
- Registrar como "pr-created" en results.tsv
↓
ALGO NO → Descartar rama (git branch -D) → registrar como "discarded"
↓
Siguiente oportunidad
↓
Generar informe resumen con todas las mejoras propuestas
--tipo coverage)--tipo complexity)--tipo lint)--tipo deps)--tipo todos)timestamp tipo fichero rama status metrica_antes metrica_despues delta pr_url descripcion
2026-03-12T02:00:00 coverage src/auth/ agent/improve-coverage-auth pr-created 62.3% 78.1% +15.8% https://... Add tests for login flow
2026-03-12T02:18:00 complexity src/api/handler.ts agent/improve-complexity-handler pr-created 14.2 8.7 -5.5 https://... Extract methods from handler
2026-03-12T02:35:00 lint src/ agent/improve-lint-warnings discarded 23 25 +2 - Fix introduced new warnings
NUNCA → Hacer merge de un PR
NUNCA → Aprobar un PR
NUNCA → Hacer commit en rama de humano
NUNCA → Cambiar la API pública de un módulo
NUNCA → Modificar tests existentes (solo AÑADIR nuevos)
NUNCA → Aplicar mejoras que degraden CUALQUIER métrica
SIEMPRE → PR en Draft con AUTONOMOUS_REVIEWER
SIEMPRE → Métricas antes/después en el body del PR
SIEMPRE → Ramas agent/improve-*
SIEMPRE → Un PR por mejora (atómico, fácil de revisar)
testing
Create new skills, modify and improve existing skills, and measure skill performance. Use when users want to create a skill from scratch, edit, or optimize an existing skill, run evals to test a skill, benchmark skill performance with variance analysis, or optimize a skill's description for better triggering accuracy.
tools
Guide for creating high-quality MCP (Model Context Protocol) servers that enable LLMs to interact with external services through well-designed tools. Use when building MCP servers to integrate external APIs or services, whether in Python (FastMCP) or Node/TypeScript (MCP SDK).
tools
Sistema proactivo de bienestar individual
development
Search the web to resolve context gaps — documentation, versions, CVEs, best practices. Auto-starts SearxNG Docker if available, falls back to WebSearch.