Agentes-IA · Patrones de Bucles Autónomos

Arsenal Pipeline — CULTIVA IA

Selección y diseño de arquitectura de bucle autónomo para publicación semanal de skills

Repo: cultivaia/arsenal
Budget: $30 / semana
Timeout: 4 horas
Plataforma: Claude Code + CI
Arquitectura recomendada para el caso CULTIVA IA
Patrón base
Continuous Claude PR Loop
Add-on calidad
De-Sloppify Pattern
Generación paralela
Infinite Agentic Loop
Razonamiento
Escalabilidad + CI gate + $30 budget

El pipeline procesa 50 skills/semana en 3 capas: Infinite Loop genera las skills en paralelo (N=5 por wave), De-Sloppify elimina duplicados y contenido de baja calidad, y Continuous Claude crea PRs, espera CI y publica automáticamente con gate humano opcional por PR.

Espectro completo de patrones — Análisis de idoneidad para el caso
# Patrón Complejidad Mejor para ¿Útil aquí? Rol en el pipeline
1
S Sequential Pipeline
claude -p encadenados
Baja
Pasos diarios, flujos con script fijo Parcial Base para cada skill individual dentro del loop mayor
2
N NanoClaw REPL
Sesión persistente interactiva
Baja
Exploración interactiva, sesiones con contexto acumulado No aplica Requiere interacción humana; CI es no-interactivo
3
Infinite Agentic Loop
Orquestador + N sub-agentes paralelos
Media
Generación paralela de variaciones desde spec ★ Clave Genera las 50 skills en waves de 5, garantizando unicidad
4
PR Continuous Claude PR Loop
Loop iterativo con CI y merge automático
Media
Proyectos iterativos multi-día con CI gates ★ Base PR por lote de skills, espera CI, auto-merge al catálogo
5
DS De-Sloppify Pattern
Paso de limpieza post-implementación
Add-on
Limpieza de calidad tras cualquier implementador ★ Add-on Elimina duplicados, SKILL.md con slop, ejemplos vacíos
6
DAG Ralphinho / RFC-Driven DAG
Multi-agente con merge queue y pipeline por tier
Alta
Features grandes, multi-unidad interdependientes Exceso Overhead alto; las skills son independientes entre sí
Árbol de decisión — Camino elegido
¿La tarea es un único cambio enfocado? ├─ Sí → Sequential Pipeline / NanoClaw └─ No → ¿Hay un spec/RFC escrito? ├─ Sí → ¿Se necesita implementación paralela? │ ├─ Sí → Ralphinho (DAG) ← NO (skills independientes) │ └─ No → ¿Muchas variaciones del mismo tipo? │ ├─ Sí → ★ Infinite Agentic Loop │ │ + Continuous Claude (PR gate) │ │ + De-Sloppify (calidad) │ └─ No → Sequential + De-Sloppify └─ No → Sequential Pipeline
Diagrama de arquitectura combinada
CSV (50 skills) → spec.md │ ▼ ┌─────────────────────────────────────────┐ │ INFINITE AGENTIC LOOP (Orquestador) │ │ Lee spec.md, escanea /skills existente │ │ Divide en waves de 5 sub-agentes │ │ │ │ Wave 1: skills 01-05 (paralelo) │ │ Wave 2: skills 06-10 (paralelo) │ │ ... Wave 10: skills 46-50 │ └────────────────┬────────────────────────┘ │ 50 SKILL.md + ejemplo/ generados ▼ ┌─────────────────────────────────────────┐ │ DE-SLOPPIFY PASS (claude -p) │ │ Revisa: duplicados, ejemplos vacíos, │ │ metadata incompleta, slop en notas │ └────────────────┬────────────────────────┘ │ Skills limpias ▼ ┌─────────────────────────────────────────┐ │ CONTINUOUS CLAUDE PR LOOP │ │ Lote de 10 skills por PR │ │ Crea branch → commit → gh pr create │ │ Espera CI (lint + schema validate) │ │ CI fail → auto-fix pass → re-push │ │ CI pass → squash merge → catálogo │ └─────────────────────────────────────────┘ │ ▼ cultivaia.com/arsenal ✓
Script de implementación — arsenal-weekly.sh
1
Preparar spec desde CSV
Convierte el CSV semanal de 50 skills en un spec.md que el Infinite Loop puede consumir. Define formato SKILL.md, campos obligatorios y criterios de unicidad.
claude -p "Lee skills-candidatas-semana-$(date +%V).csv. Genera docs/skills-spec.md con: - Lista de 50 skills a generar (nombre, slug, servicio, descripción) - Formato de SKILL.md a seguir (frontmatter + secciones) - Criterios de unicidad (sin duplicar slugs existentes en /skills) No generes las skills todavía."
2
Infinite Agentic Loop — Generación en waves
El orquestador lanza waves de 5 sub-agentes paralelos. Cada agente genera su SKILL.md + ejemplo/ con datos sintéticos realistas del dominio CULTIVA IA.
/project:infinite docs/skills-spec.md skills/ 50 # Internamente el orquestador: # 1. Lee spec, escanea skills/ existentes # 2. Asigna a cada agente: skill_id, servicio, dirección creativa única # 3. Lanza waves de 5 hasta completar 50 # 4. Cada sub-agente → SKILL.md + ejemplo/resultado.html + ejemplo/brief.md
3
De-Sloppify Pass — Control de calidad
Agente dedicado revisa todas las skills generadas. Elimina: duplicados exactos, SKILL.md sin ejemplos concretos, metadata faltante, descripciones genéricas.
claude -p "Revisa todas las skills en skills/ generadas en esta sesión. Elimina o marca para rechazo: - SKILL.md con ejemplos vacíos o placeholders (ej: '[descripción aquí]') - Skills con slug duplicado respecto a las ya publicadas en skills/publicadas/ - Frontmatter sin campos obligatorios: id, slug, servicio, acceso, precio_eur - Descripciones genéricas de menos de 50 palabras Genera un report: skills/QA-report.md con lista de aprobadas/rechazadas. NO modifiques las aprobadas. NO borres nada todavía."
4
Continuous Claude PR Loop — Publicación por lotes
Publica las skills aprobadas en lotes de 10 por PR. CI valida schema JSON, links, y que cada skill tenga su ejemplo. Auto-merge en squash si CI pasa.
continuous-claude \ --prompt "Lee skills/QA-report.md. Publica el siguiente lote de 10 skills aprobadas: 1. Mueve cada skill de skills/ a skills/publicadas/ 2. Actualiza _ARSENAL/_render/catalogue.json con las nuevas entradas 3. Regenera el índice skills/README.md Lee SHARED_TASK_NOTES.md para saber qué lotes ya se publicaron." \ --review-prompt "Valida que cada skill movida tiene: SKILL.md, ejemplo/, QA aprobada en report" \ --max-runs 5 \ --max-cost 15.00 \ --max-duration 2h \ --merge-strategy squash \ --completion-signal "ARSENAL_WEEKLY_COMPLETE" \ --completion-threshold 2
Configuración Continuous Claude
--max-runs5 (5 lotes × 10 skills)
--max-cost$15.00 (50% del budget)
--max-duration2h
--merge-strategysquash
--completion-signalARSENAL_WEEKLY_COMPLETE
--completion-threshold2 iteraciones
--ci-retry-max2
--review-promptValidación schema + ejemplo
SHARED_TASK_NOTES.md — Puente de contexto
## Arsenal Weekly — Semana 25/2026 ## Progreso de lotes - [x] Lote 1: skills 01-10 → PR #142 mergeado - [x] Lote 2: skills 11-20 → PR #143 mergeado - [ ] Lote 3: skills 21-30 → en proceso - [ ] Lote 4: skills 31-40 → pendiente - [ ] Lote 5: skills 41-50 → pendiente ## Skills rechazadas (QA) - email-automation-v2 (duplicado de email-sequence) - seo-basico (descripción < 50 palabras) ## Siguiente paso Continuar con lote 3. Branch: arsenal/lote-3 CI check: lint + schema-validate
Anti-patrones a evitar
Loop sin exit condition
Siempre: --max-cost $30 + --max-duration 4h en la llamada raíz
Sin puente de contexto
Siempre: SHARED_TASK_NOTES.md leído al inicio de cada iteración
Instrucción negativa al generador
No "no pongas placeholders". Sí: paso De-Sloppify separado que los elimina
Ralphinho para skills independientes
DAG es overkill; las skills no tienen dependencias entre sí, Infinite Loop es suficiente