- .claude/CLAUDE.md - .claude/commands/subagentes.md - .claude/rules/INDEX.md - .mcp.json - bash/functions/cybersecurity/analyze_dns.md - bash/functions/cybersecurity/audit_http_headers.md - bash/functions/cybersecurity/audit_ssh_config.md - bash/functions/cybersecurity/check_firewall.md - bash/functions/cybersecurity/detect_suspicious_users.md - bash/functions/cybersecurity/encrypt_file.md - ... Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
5.6 KiB
description
| description |
|---|
| Recordatorio operativo para usar subagentes fn (constructor/executor/recopilador/analizador/mejorador) y paralelizar trabajo independiente |
/subagentes — usa subagentes fn y paraleliza
Recuerda: antes de escribir codigo nuevo o ejecutar pipelines en serie, delega a subagentes y paraleliza llamadas independientes (un mensaje, varios Agent calls).
Mapa de subagentes fn (ciclo reactivo)
| Fase | Agente | Cuando dispararlo |
|---|---|---|
| 1 CONSTRUIR | fn-constructor |
Falta funcion/tipo/test reutilizable. NUNCA escribir inline en apps/ si es reutilizable |
| 2 EJECUTAR | fn-executor |
Correr pipeline/funcion del registry + registrar ejecucion en operations.db |
| 3 RECOPILAR | fn-recopilador |
Auditar integridad de operations.db. Modo design-e2e <app> propone bloque e2e_checks |
| 4 ANALIZAR | fn-analizador |
Ejecutar e2e_checks de app.md, veredicto pass/fail, persistir en e2e_runs |
| 5 MEJORAR | fn-mejorador |
Convertir fallos de e2e_runs en proposals con evidencia trazable |
| 6 META | fn-orquestador |
Recorrer fases 1-5 solo hasta convergencia. Sandbox auto/<issue>. Issue 0069 |
Pre-condiciones de fn-orquestador (abortara si no se cumplen):
- Migration
fn_operations/migrations/006_task_runs.sqlaplicada - Issue con criterios de aceptacion verificables programaticamente (no "funciona bien")
masterlocal up-to-date conorigin/master- Branch
auto/<issue>NO existe ya (limpiar previo si hace falta) ghautenticado (PR draft al converger)- Tipo soportado:
feature_app_simple,bugfix_with_repro,refactor_safe,add_e2e_check
Aislamiento por worktree: cada run crea /tmp/fn_orq_<issue>_<ts>/ via git worktree add. Working tree principal del usuario queda intacto. N orquestadores paralelos = N worktrees independientes. task_runs persiste en BD del repo principal (auditoria sobrevive aunque borres worktree).
Otros subagentes utiles
Explore— busquedas amplias en codebase (>3 queries) sin contaminar contexto principalgeneral-purpose— research multi-step open-ended
Reglas duras
- Paralelo real: tareas independientes → un mensaje con varios
Agentcalls. NO en serie. - Briefing autocontenido: subagente no ve historial. Pasar paths absolutos, IDs, criterio exito.
- No delegar comprension: nada de "haz lo que veas". Especificar que cambiar, donde, por que.
- Verificar output: leer diff/resultado, no confiar en resumen del subagente.
- No duplicar: si delegas research, no lo repitas tu.
Patrones canonicos de paralelismo
- 3 funciones de registry independientes → 3
fn-constructoren paralelo - Auditar N apps → N
fn-recopiladoren paralelo - Validar varias apps → N
fn-analizadoren paralelo - Build cpp + tests py + audit operations.db → 3 calls paralelos
- Tras
fn-analizadorcon fallos →fn-mejoradorpor cadarun_id - Tarea multi-fase autonoma (issue con criterios verificables) →
fn-orquestador(1 sola run, NO recursivo)
Anti-patrones
- Escribir funcion reutilizable inline en
apps/(debe ir afunctions/viafn-constructor) - Lanzar subagentes en serie cuando son independientes
- Prompt de 1 linea sin contexto ("arregla esto")
- Invocar subagente y luego hacer tu mismo el trabajo
- Spawn
fn-orquestadorsin migration 006 o sin issue verificable (abortara) fn-orquestadorrecursivo (un orquestador no spawn-ea otro)
Checklist pre-respuesta
- ¿>1 tarea independiente? → paralelizar
- ¿Hace falta funcion/tipo nuevo? →
fn-constructor, NO inline - ¿Hay que ejecutar/auditar/validar? → fase 2/3/4 segun toque
- ¿
e2e_runscon fallos? →fn-mejorador - ¿Issue con criterios verificables + tipo soportado? →
fn-orquestador(chequear pre-condiciones) - ¿Research amplio (>3 queries)? →
Explore
Plantilla minima de prompt para subagente
Contexto: <que repo, que app, que objetivo>
Input: <paths absolutos, IDs registry, run_id si aplica>
Tarea: <accion concreta y acotada>
Criterio exito: <como sabe que termino>
Limites: <que NO debe tocar>
Telemetria: tus tool calls quedan registradas en projects/fn_monitoring/apps/call_monitor/operations.db
via hook PostToolUse heredado de settings.local.json. Sigue patrones canonicos
(mcp__registry__fn_*, ./fn run, heredoc importando) — los antipatrones se loguean
como violations.
Telemetria heredada (issue 0085 hardening 5)
Los hooks de .claude/settings.local.json se heredan automaticamente por cada sub-agente que Claude Code lance via la tool Agent. Eso significa:
- Cada Bash, Edit, Write, MultiEdit,
mcp__registry__*del sub-agente disparahook_call_monitor.shexactamente igual que en la sesion principal. - El
session_iddel JSON de input del hook viene del sub-agente, distinto al de la sesion padre. Util para auditar comportamiento por agente. - Las violations detectadas (sqlite3 directo, heredoc reinventando, etc) cuentan tambien para sub-agentes — un
fn-constructorque reescribe inline en lugar de delegar a otrofn-constructorqueda registrado. FN_TELEMETRY=1esta en elenvblock de settings.local.json — los heredocs Python/Bash de sub-agentes ya tienen wrappers activos automaticamente.
Implicacion: NO necesitas pasar flags --telemetry a sub-agentes. Solo asegurate de que el prompt sigue patrones canonicos. La regla .claude/rules/registry_calls.md se aplica igual.
Si un sub-agente abre un proceso hijo que escapa al hook (ej. nohup ... &, daemons), ese subproceso queda fuera de la telemetria — documentalo en el prompt si es un caso valido.