@liriraid/agentflow-ai 1.0.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (110) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +79 -0
  3. package/bin/agentflow.mjs +332 -0
  4. package/orchestrator.js +1585 -0
  5. package/package.json +64 -0
  6. package/scripts/scaffold-agent-configs.mjs +100 -0
  7. package/scripts/scaffold-openspec-change.mjs +84 -0
  8. package/scripts/update-skill-registry.mjs +174 -0
  9. package/src/ink/app.mjs +240 -0
  10. package/src/ink/index.mjs +400 -0
  11. package/templates/en/.atl/skill-registry.md +27 -0
  12. package/templates/en/.claude/README.md +7 -0
  13. package/templates/en/.claude/skills/orchestrator-apply/SKILL.md +31 -0
  14. package/templates/en/.claude/skills/orchestrator-archive/SKILL.md +26 -0
  15. package/templates/en/.claude/skills/orchestrator-design/SKILL.md +27 -0
  16. package/templates/en/.claude/skills/orchestrator-explore/SKILL.md +29 -0
  17. package/templates/en/.claude/skills/orchestrator-init/SKILL.md +32 -0
  18. package/templates/en/.claude/skills/orchestrator-memory/SKILL.md +26 -0
  19. package/templates/en/.claude/skills/orchestrator-openspec/SKILL.md +35 -0
  20. package/templates/en/.claude/skills/orchestrator-propose/SKILL.md +26 -0
  21. package/templates/en/.claude/skills/orchestrator-queue-planning/SKILL.md +31 -0
  22. package/templates/en/.claude/skills/orchestrator-spec/SKILL.md +27 -0
  23. package/templates/en/.claude/skills/orchestrator-tasks/SKILL.md +27 -0
  24. package/templates/en/.claude/skills/orchestrator-verify/SKILL.md +27 -0
  25. package/templates/en/.codex/README.md +7 -0
  26. package/templates/en/.opencode/README.md +7 -0
  27. package/templates/en/AGENT-CONFIG.md +75 -0
  28. package/templates/en/CLAUDE.md +91 -0
  29. package/templates/en/ENGRAM.md +50 -0
  30. package/templates/en/ORCHESTRATOR.md +192 -0
  31. package/templates/en/PROJECT.md +70 -0
  32. package/templates/en/QUEUE.md +17 -0
  33. package/templates/en/README.md +188 -0
  34. package/templates/en/agents/ABACUS.md +36 -0
  35. package/templates/en/agents/BACKEND.md +37 -0
  36. package/templates/en/agents/CODEX.md +45 -0
  37. package/templates/en/agents/CURSOR.md +37 -0
  38. package/templates/en/agents/FRONTEND.md +36 -0
  39. package/templates/en/agents/GEMINI.md +37 -0
  40. package/templates/en/agents/OPENCODE.md +41 -0
  41. package/templates/en/docs/README.md +14 -0
  42. package/templates/en/docs/agents.md +33 -0
  43. package/templates/en/docs/architecture.md +43 -0
  44. package/templates/en/docs/components.md +14 -0
  45. package/templates/en/docs/engram.md +16 -0
  46. package/templates/en/docs/openspec.md +32 -0
  47. package/templates/en/docs/usage.md +66 -0
  48. package/templates/en/openspec/FLOW.md +24 -0
  49. package/templates/en/openspec/README.md +29 -0
  50. package/templates/en/openspec/changes/.gitkeep +1 -0
  51. package/templates/en/openspec/changes/archive/.gitkeep +1 -0
  52. package/templates/en/openspec/specs/.gitkeep +1 -0
  53. package/templates/en/openspec/templates/archive-report.md +21 -0
  54. package/templates/en/openspec/templates/change-metadata.yaml +9 -0
  55. package/templates/en/openspec/templates/design.md +26 -0
  56. package/templates/en/openspec/templates/proposal.md +27 -0
  57. package/templates/en/openspec/templates/spec.md +18 -0
  58. package/templates/en/openspec/templates/tasks.md +14 -0
  59. package/templates/en/openspec/templates/verify-report.md +21 -0
  60. package/templates/en/orchestrator.config.json +99 -0
  61. package/templates/es/.atl/skill-registry.md +133 -0
  62. package/templates/es/.claude/README.md +7 -0
  63. package/templates/es/.claude/skills/orchestrator-apply/SKILL.md +32 -0
  64. package/templates/es/.claude/skills/orchestrator-archive/SKILL.md +28 -0
  65. package/templates/es/.claude/skills/orchestrator-design/SKILL.md +32 -0
  66. package/templates/es/.claude/skills/orchestrator-explore/SKILL.md +31 -0
  67. package/templates/es/.claude/skills/orchestrator-init/SKILL.md +32 -0
  68. package/templates/es/.claude/skills/orchestrator-memory/SKILL.md +31 -0
  69. package/templates/es/.claude/skills/orchestrator-openspec/SKILL.md +55 -0
  70. package/templates/es/.claude/skills/orchestrator-propose/SKILL.md +33 -0
  71. package/templates/es/.claude/skills/orchestrator-queue-planning/SKILL.md +35 -0
  72. package/templates/es/.claude/skills/orchestrator-spec/SKILL.md +28 -0
  73. package/templates/es/.claude/skills/orchestrator-tasks/SKILL.md +32 -0
  74. package/templates/es/.claude/skills/orchestrator-verify/SKILL.md +31 -0
  75. package/templates/es/.codex/README.md +7 -0
  76. package/templates/es/.opencode/README.md +7 -0
  77. package/templates/es/AGENT-CONFIG.md +83 -0
  78. package/templates/es/CLAUDE.md +136 -0
  79. package/templates/es/ENGRAM.md +70 -0
  80. package/templates/es/ORCHESTRATOR.md +199 -0
  81. package/templates/es/PROJECT.md +237 -0
  82. package/templates/es/QUEUE.md +17 -0
  83. package/templates/es/README.md +568 -0
  84. package/templates/es/agents/ABACUS.md +25 -0
  85. package/templates/es/agents/BACKEND.md +28 -0
  86. package/templates/es/agents/CODEX.md +37 -0
  87. package/templates/es/agents/CURSOR.md +27 -0
  88. package/templates/es/agents/FRONTEND.md +29 -0
  89. package/templates/es/agents/GEMINI.md +26 -0
  90. package/templates/es/agents/OPENCODE.md +32 -0
  91. package/templates/es/docs/README.md +12 -0
  92. package/templates/es/docs/agents.md +57 -0
  93. package/templates/es/docs/architecture.md +41 -0
  94. package/templates/es/docs/components.md +33 -0
  95. package/templates/es/docs/engram.md +30 -0
  96. package/templates/es/docs/openspec.md +34 -0
  97. package/templates/es/docs/usage.md +54 -0
  98. package/templates/es/openspec/FLOW.md +139 -0
  99. package/templates/es/openspec/README.md +77 -0
  100. package/templates/es/openspec/changes/.gitkeep +1 -0
  101. package/templates/es/openspec/changes/archive/.gitkeep +1 -0
  102. package/templates/es/openspec/specs/.gitkeep +1 -0
  103. package/templates/es/openspec/templates/archive-report.md +23 -0
  104. package/templates/es/openspec/templates/change-metadata.yaml +9 -0
  105. package/templates/es/openspec/templates/design.md +33 -0
  106. package/templates/es/openspec/templates/proposal.md +36 -0
  107. package/templates/es/openspec/templates/spec.md +33 -0
  108. package/templates/es/openspec/templates/tasks.md +22 -0
  109. package/templates/es/openspec/templates/verify-report.md +24 -0
  110. package/templates/es/orchestrator.config.json +99 -0
@@ -0,0 +1,55 @@
1
+ ---
2
+ name: orchestrator-openspec
3
+ description: >
4
+ Abre, crea o actualiza artefactos de OpenSpec para cambios grandes o de varias fases.
5
+ license: MIT
6
+ metadata:
7
+ owner: agentflow
8
+ version: "0.1"
9
+ ---
10
+
11
+ # Skill: orchestrator-openspec
12
+
13
+ Trigger: "crea un change", "abre openspec", "haz proposal", "haz spec", "haz design", "prepara tasks del cambio"
14
+
15
+ ## Propósito
16
+
17
+ Usar `openspec/` como capa persistente para cambios relevantes antes de delegar implementación al motor.
18
+
19
+ ## Cuándo usar esta skill
20
+
21
+ - Cuando el cambio tiene varias fases o varios agentes
22
+ - Cuando el usuario pide proposal, spec, design o tasks explícitamente
23
+ - Cuando el cambio es lo bastante grande para no dejarlo solo en conversación
24
+ - Cuando hace falta mantener trazabilidad durable del cambio
25
+
26
+ ## Reglas críticas
27
+
28
+ - Si no existe un change para el trabajo actual, crea uno en `openspec/changes/<change-name>/`.
29
+ - Usa nombres de change claros, en kebab-case y alineados con el objetivo del usuario.
30
+ - Usa `openspec/FLOW.md` como guía de fases y criterio de avance.
31
+ - Mantén consistencia entre:
32
+ - `proposal.md`
33
+ - `specs/spec.md`
34
+ - `design.md`
35
+ - `tasks.md`
36
+ - `verify-report.md`
37
+ - Mantén `.openspec.yaml` actualizado con `status`, `current_phase` y `queue_synced` cuando el change evolucione.
38
+ - `tasks.md` debe poder traducirse luego a `QUEUE.md`.
39
+ - No llenes `QUEUE.md` de implementación grande sin haber aterrizado primero el cambio en OpenSpec cuando el trabajo lo justifique.
40
+ - Si el cambio es pequeño y directo, no fuerces OpenSpec innecesariamente.
41
+
42
+ ## Flujo recomendado
43
+
44
+ 1. Definir o confirmar el `change-name`
45
+ 2. Crear el change con `npm run openspec:new -- <change-name>` si no existe
46
+ 3. Completar o actualizar `proposal.md`
47
+ 4. Completar o actualizar `specs/spec.md`
48
+ 5. Completar o actualizar `design.md` si el cambio lo requiere
49
+ 6. Completar o actualizar `tasks.md`
50
+ 7. Convertir las tareas listas en entradas concretas para `QUEUE.md`
51
+ 8. Actualizar `verify-report.md` y `archive-report.md` cuando el cambio madure o cierre
52
+
53
+ ## Resultado esperado
54
+
55
+ Un change de OpenSpec coherente, reutilizable y listo para alimentar el flujo de delegación del orquestador.
@@ -0,0 +1,33 @@
1
+ ---
2
+ name: orchestrator-propose
3
+ description: >
4
+ Crea o actualiza la propuesta inicial de un cambio grande antes de delegar implementación.
5
+ Trigger: "haz proposal", "crea propuesta", "propone este cambio", "documenta el alcance"
6
+ license: MIT
7
+ metadata:
8
+ owner: agentflow
9
+ version: "1.0"
10
+ ---
11
+
12
+ # Skill: orchestrator-propose
13
+
14
+ ## Propósito
15
+
16
+ Crear la propuesta base del cambio para que el orquestador tenga claro qué se quiere hacer, por qué y con qué alcance.
17
+
18
+ ## Reglas críticas
19
+
20
+ - Lee primero el contexto del usuario, `ORCHESTRATOR.md`, `QUEUE.md` y `openspec/FLOW.md` si existe.
21
+ - Si el cambio aún no tiene `change-name`, propón uno en kebab-case claro y estable.
22
+ - Crea o actualiza `openspec/changes/<change-name>/proposal.md`.
23
+ - La propuesta debe dejar claro:
24
+ - objetivo
25
+ - alcance
26
+ - restricciones
27
+ - riesgos iniciales
28
+ - qué no entra en este cambio
29
+ - Si el cambio es pequeño y directo, no fuerces una propuesta demasiado larga.
30
+
31
+ ## Resultado esperado
32
+
33
+ Una propuesta clara que permita pasar a spec o design sin ambigüedad.
@@ -0,0 +1,35 @@
1
+ ---
2
+ name: orchestrator-queue-planning
3
+ description: >
4
+ Convierte contexto y hallazgos en tareas concretas para QUEUE.md, con prioridades, agente objetivo y dependencias claras.
5
+ Trigger: "crea tareas", "planifica en queue", "divide el trabajo", "delegar tareas", "llenar queue"
6
+ license: MIT
7
+ metadata:
8
+ owner: agentflow
9
+ version: "0.1"
10
+ ---
11
+
12
+ # Orchestrator Queue Planning
13
+
14
+ ## Propósito
15
+
16
+ Traducir una necesidad del usuario o hallazgos de exploración en tareas concretas para el motor del orquestador.
17
+
18
+ ## Reglas críticas
19
+
20
+ - Escribe TASKs pequeñas, concretas y ejecutables.
21
+ - Cada tarea debe tener agente, prioridad, repo y descripción clara.
22
+ - Usa dependencias `> after:TASK-NNN` cuando una tarea no pueda arrancar todavía.
23
+ - Prioriza mantener ocupados los agentes permitidos por defecto sin inventar trabajo fuera del alcance.
24
+ - Si el trabajo es exploratorio, usa primero `OpenCode`; si es ejecución estructurada, reparte según el dominio.
25
+ - Cuando haya 3 o más tareas independientes, intenta crear una primera tanda con al menos una TASK para un Claude-Worker (`Backend` o `Frontend`), una para `Codex` y una para `OpenCode`.
26
+ - `OpenCode` puede implementar código cuando la tarea esté clara; no lo limites a lectura o auditoría si la cola necesita ejecución.
27
+ - Codex puede trabajar en `repo=frontend`, pero con menor permisividad: úsalo para apoyo acotado y verificable; deja los cambios amplios de FE al agente `Frontend` de Claude.
28
+ - Si Codex u OpenCode fallan por cuota, tokens, rate limit o indisponibilidad persistente, crea o reasigna una TASK de fallback a un Claude-Worker.
29
+ - Si existe un `openspec/changes/<change-name>/tasks.md`, usa ese archivo como fuente de verdad para traducirlo a `QUEUE.md`.
30
+ - No sobrecargues una sola IA con demasiadas tareas si puedes paralelizar sin riesgo.
31
+ - Mantén `QUEUE.md` coherente con el objetivo actual del usuario.
32
+
33
+ ## Resultado esperado
34
+
35
+ Una cola clara y accionable que el motor pueda despachar de inmediato.
@@ -0,0 +1,28 @@
1
+ ---
2
+ name: orchestrator-spec
3
+ description: >
4
+ Crea o actualiza la especificación funcional del cambio con requerimientos y escenarios.
5
+ Trigger: "haz spec", "crea especificación", "documenta requerimientos", "define escenarios"
6
+ license: MIT
7
+ metadata:
8
+ owner: agentflow
9
+ version: "1.0"
10
+ ---
11
+
12
+ # Skill: orchestrator-spec
13
+
14
+ ## Propósito
15
+
16
+ Traducir la propuesta del cambio en una especificación clara para que la implementación y la verificación tengan una referencia estable.
17
+
18
+ ## Reglas críticas
19
+
20
+ - Lee la propuesta antes de escribir la spec.
21
+ - Crea o actualiza `openspec/changes/<change-name>/specs/spec.md`.
22
+ - Expresa requerimientos y escenarios de forma verificable.
23
+ - No mezcles demasiado diseño técnico dentro de la spec salvo que sea necesario para entender el comportamiento.
24
+ - Si faltan datos del usuario, deja explícitas las suposiciones.
25
+
26
+ ## Resultado esperado
27
+
28
+ Una spec que permita pasar a design, tasks o verify sin depender de la conversación.
@@ -0,0 +1,32 @@
1
+ ---
2
+ name: orchestrator-tasks
3
+ description: >
4
+ Descompone un cambio en tareas de implementación concretas y listas para traducirse a QUEUE.md.
5
+ Trigger: "haz tasks", "descompón el cambio", "crea tareas del cambio", "plan de tareas"
6
+ license: MIT
7
+ metadata:
8
+ owner: agentflow
9
+ version: "1.0"
10
+ ---
11
+
12
+ # Skill: orchestrator-tasks
13
+
14
+ ## Propósito
15
+
16
+ Convertir la propuesta, la spec y el diseño en tareas claras que el orquestador pueda delegar a agentes concretos.
17
+
18
+ ## Reglas críticas
19
+
20
+ - Lee propuesta, spec y design antes de escribir tareas.
21
+ - Crea o actualiza `openspec/changes/<change-name>/tasks.md`.
22
+ - Las tareas deben ser:
23
+ - pequeñas
24
+ - delegables
25
+ - ordenables
26
+ - entendibles por un agente sin contexto infinito
27
+ - Marca si `tasks.md` ya fue traducido a `QUEUE.md`.
28
+ - Si el usuario quiere ejecución inmediata, el siguiente paso natural es `orchestrator-queue-planning`.
29
+
30
+ ## Resultado esperado
31
+
32
+ Una lista de tareas lista para convertirse en cola viva del motor.
@@ -0,0 +1,31 @@
1
+ ---
2
+ name: orchestrator-verify
3
+ description: >
4
+ Verifica que la implementación realmente cumpla la propuesta, la spec, el diseño y las tareas definidas.
5
+ Trigger: "verifica", "valida el cambio", "review contra spec", "confirma la implementación"
6
+ license: MIT
7
+ metadata:
8
+ owner: agentflow
9
+ version: "1.0"
10
+ ---
11
+
12
+ # Skill: orchestrator-verify
13
+
14
+ ## Propósito
15
+
16
+ Validar que lo implementado coincide con lo que el orquestador planeó y que Claude lo puede aceptar con criterio.
17
+
18
+ ## Reglas críticas
19
+
20
+ - Lee proposal, spec, design, tasks y el estado real de implementación.
21
+ - Crea o actualiza `openspec/changes/<change-name>/verify-report.md`.
22
+ - Clasifica hallazgos como:
23
+ - crítico
24
+ - advertencia
25
+ - sugerencia
26
+ - Si el resultado no está alineado, no lo cierres como correcto.
27
+ - Claude debe seguir siendo quien valida si el resultado coincide con lo pedido en la task.
28
+
29
+ ## Resultado esperado
30
+
31
+ Un verify-report útil para decidir si el cambio se acepta, se corrige o se archiva.
@@ -0,0 +1,7 @@
1
+ # Codex Local Config
2
+
3
+ Esta carpeta reserva la configuración local del proyecto para Codex.
4
+
5
+ - hoy se usa como base reusable del proyecto
6
+ - mañana puede alojar prompts, perfiles, reglas o plugins locales
7
+ - no debe depender solo de configuración global del usuario
@@ -0,0 +1,7 @@
1
+ # OpenCode Local Config
2
+
3
+ Esta carpeta reserva la configuración local del proyecto para OpenCode.
4
+
5
+ - hoy se usa como base reusable del proyecto
6
+ - mañana puede alojar reglas, prompts o convenciones específicas
7
+ - no debe depender solo de configuración global del usuario
@@ -0,0 +1,83 @@
1
+ # Agent Config
2
+
3
+ Este archivo define la capa de configuración por agente del orquestador reusable.
4
+
5
+ ## Objetivo
6
+
7
+ Separar dos niveles:
8
+
9
+ 1. **Runtime config**
10
+ Vive en `orchestrator.config.json` bajo `agents` y `repos`.
11
+ Controla qué agentes puede lanzar el motor y cómo se conectan a los repos.
12
+
13
+ 2. **Agent profile config**
14
+ Vive en `orchestrator.config.json` bajo `agentProfiles`.
15
+ Controla cómo se organiza la configuración local por CLI o familia de agente.
16
+
17
+ Esto permite:
18
+
19
+ - usar solo 1 agente
20
+ - usar 3 agentes como base (`claude`, `codex`, `opencode`)
21
+ - o escalar a más agentes sin rediseñar el config
22
+
23
+ ## Regla de diseño
24
+
25
+ - `agents` = instancias operativas visibles para el motor
26
+ - `agentProfiles` = configuración reusable por tipo de agente
27
+
28
+ Ejemplo:
29
+
30
+ - `Backend` y `Frontend` pueden compartir el profile `claude`
31
+ - `Codex` usa el profile `codex`
32
+ - `OpenCode` usa el profile `opencode`
33
+
34
+ ## Claude-Orquestador vs Claude-Worker
35
+
36
+ El profile `claude` puede aparecer en dos formas operativas:
37
+
38
+ - **Claude-Orquestador**: sesión interactiva que lee `ORCHESTRATOR.md`, mantiene `QUEUE.md`, delega y revisa.
39
+ - **Claude-Worker**: agentes como `Backend` y `Frontend`, lanzados por la TUI, que sí pueden implementar código cuando tienen una TASK asignada.
40
+
41
+ La sesión orquestadora no modifica el repo real directamente. Si Claude debe trabajar en código, se le asigna una TASK a `Backend` o `Frontend`.
42
+
43
+ Cuando haya varias tareas independientes, el reparto recomendado es mantener ocupados a `Claude-Worker`, `Codex` y `OpenCode` en paralelo antes de acumular varias tareas en un solo agente.
44
+
45
+ ## Campos sugeridos de `agentProfiles`
46
+
47
+ | Campo | Requerido | Propósito |
48
+ | --------------------- | --------- | ------------------------------------------ |
49
+ | `enabled` | No | Si este profile está activo en el proyecto |
50
+ | `localConfigDir` | No | Carpeta local del proyecto para ese agente |
51
+ | `skillsDir` | No | Carpeta local de skills si aplica |
52
+ | `primary` | No | Si es el agente principal del flujo |
53
+ | `useForOrchestration` | No | Si puede actuar como orquestador |
54
+ | `notes` | No | Notas o restricciones operativas |
55
+
56
+ ## Convención inicial
57
+
58
+ Para este proyecto reusable:
59
+
60
+ - `claude` es el profile principal
61
+ - `codex` y `opencode` son profiles de apoyo
62
+ - otros profiles pueden existir, aunque no estén habilitados por defecto
63
+
64
+ ## Directorios locales sugeridos
65
+
66
+ - `.claude/`
67
+ - `.codex/`
68
+ - `.opencode/`
69
+
70
+ Estos directorios no tienen que ser iguales a los del home del usuario. Son la capa local del proyecto.
71
+
72
+ ## Prioridad
73
+
74
+ Si existe configuración global del agente en el home del usuario y también una local del proyecto:
75
+
76
+ - la local del proyecto debe ganar en el flujo del orquestador reusable
77
+
78
+ ## Relación con skills
79
+
80
+ - `Claude` usa `.claude/skills/` como base principal del proyecto
81
+ - `Codex` y `OpenCode` pueden tener configuración local propia aunque hoy no usen el mismo modelo de skills
82
+ - `OpenCode` no es solo auditor: puede explorar, auditar e implementar cuando la TASK esté clara
83
+ - el diseño debe permitir que mañana también tengan una capa local más rica
@@ -0,0 +1,136 @@
1
+ # Claude Project Routing
2
+
3
+ Este archivo define cómo **Claude Code** debe comportarse dentro de este repo y qué skills locales debe priorizar.
4
+
5
+ ## Prioridad de resolución
6
+
7
+ 1. Prioriza siempre las skills locales de este repo en `./.claude/skills/`
8
+ 2. Usa `.atl/skill-registry.md` como catálogo de skills del proyecto
9
+ 3. Usa `ENGRAM.md` como convención local para memoria persistente
10
+ 4. No dependas de `~/.claude/skills/` para el flujo principal del orquestador
11
+ 5. Si existe una skill global con el mismo nombre, la **local** del proyecto gana
12
+ 6. Si existe `openspec/`, úsalo como capa persistente para cambios grandes antes de delegar implementación amplia
13
+
14
+ ## Routing automático de intención -> skill
15
+
16
+ ### Inicio del orquestador
17
+
18
+ Si el usuario dice algo como:
19
+
20
+ - `lee ORCHESTRATOR.md y arranca`
21
+ - `arranca el orquestador`
22
+ - `inicia el orquestador`
23
+ - `start orchestrator`
24
+
25
+ usa la skill:
26
+
27
+ - `orchestrator-init`
28
+
29
+ ### Exploración / análisis / investigación
30
+
31
+ Si el usuario dice algo como:
32
+
33
+ - `explora este proyecto`
34
+ - `analiza estos archivos`
35
+ - `investiga este flujo`
36
+ - `revisa esto antes de implementar`
37
+
38
+ usa la skill:
39
+
40
+ - `orchestrator-explore`
41
+
42
+ ### Proposal / spec / design / tasks
43
+
44
+ Si el usuario dice algo como:
45
+
46
+ - `haz proposal`
47
+ - `haz spec`
48
+ - `haz design`
49
+ - `haz tasks`
50
+ - `documentemos este cambio`
51
+ - `prepara el cambio antes de implementarlo`
52
+
53
+ usa la skill:
54
+
55
+ - `orchestrator-propose`
56
+ - `orchestrator-spec`
57
+ - `orchestrator-design`
58
+ - `orchestrator-tasks`
59
+
60
+ ### Planificación de cola / delegación
61
+
62
+ Si el usuario dice algo como:
63
+
64
+ - `crea tareas`
65
+ - `divide el trabajo`
66
+ - `llena la queue`
67
+ - `deleguemos esto`
68
+ - `planifica las tasks`
69
+
70
+ usa la skill:
71
+
72
+ - `orchestrator-queue-planning`
73
+
74
+ ### OpenSpec / cambios grandes
75
+
76
+ Si el usuario dice algo como:
77
+
78
+ - `crea un change`
79
+ - `abre openspec`
80
+ - `documentemos este cambio antes de implementarlo`
81
+
82
+ usa la skill:
83
+
84
+ - `orchestrator-openspec`
85
+
86
+ ### Apply / verify / archive
87
+
88
+ Si el usuario dice algo como:
89
+
90
+ - `implementa este cambio`
91
+ - `aplica las tareas`
92
+ - `verifica la implementación`
93
+ - `archiva el cambio`
94
+
95
+ usa la skill:
96
+
97
+ - `orchestrator-apply`
98
+ - `orchestrator-verify`
99
+ - `orchestrator-archive`
100
+
101
+ ### Memoria / continuidad / recordatorios
102
+
103
+ Si el usuario dice algo como:
104
+
105
+ - `recuerda qué hicimos`
106
+ - `cómo quedó esto`
107
+ - `guarda este contexto`
108
+ - `haz un resumen de sesión`
109
+ - `trae el contexto anterior`
110
+
111
+ usa la skill:
112
+
113
+ - `orchestrator-memory`
114
+
115
+ ## Reglas operativas
116
+
117
+ - Si hay ambigüedad entre explorar y planificar, explora primero.
118
+ - Si el usuario pide iniciar sesión del orquestador, arranca con `orchestrator-init` antes de cualquier otra cosa.
119
+ - Si el trabajo es grande, multifase o involucra varios agentes, pasa por `orchestrator-propose` / `orchestrator-spec` / `orchestrator-design` / `orchestrator-tasks` antes de llenar `QUEUE.md`.
120
+ - Si una exploración ya produjo suficiente contexto, el siguiente paso natural es `orchestrator-propose` o `orchestrator-tasks`, según el nivel de claridad.
121
+ - Si el usuario pide continuidad o recordar trabajo previo, usa `orchestrator-memory`.
122
+ - Si el usuario pide proposal/spec/design/tasks de un cambio, usa las skills `orchestrator-*` correspondientes.
123
+ - Mantén la lógica del orquestador alineada con `ORCHESTRATOR.md`.
124
+ - Mantén la memoria alineada con `ENGRAM.md`.
125
+ - Respeta las restricciones de agentes por defecto del proyecto.
126
+
127
+ ## Archivos clave
128
+
129
+ - `ORCHESTRATOR.md` — rol y reglas del orquestador
130
+ - `ENGRAM.md` — convención local de memoria persistente
131
+ - `.atl/skill-registry.md` — catálogo local de skills
132
+ - `.claude/skills/*/SKILL.md` — skills locales del proyecto
133
+ - `docs/components.md` — mapa de componentes implementados
134
+ - `docs/usage.md` — flujo recomendado de uso
135
+ - `openspec/` — artefactos persistentes para cambios grandes
136
+ - `QUEUE.md` — cola activa del motor
@@ -0,0 +1,70 @@
1
+ # Engram Memory Convention
2
+
3
+ Este archivo define cómo usar **Engram** dentro de este proyecto para no depender solo del contexto corto de sesión.
4
+
5
+ ## Objetivo
6
+
7
+ Guardar y recuperar:
8
+
9
+ - decisiones de arquitectura
10
+ - hallazgos de exploración
11
+ - bugs y su causa raíz
12
+ - preferencias del usuario
13
+ - estado de cambios importantes
14
+ - resúmenes de sesión
15
+
16
+ ## Reglas de uso
17
+
18
+ ### Al iniciar una sesión del orquestador
19
+
20
+ - Busca memoria reciente del proyecto antes de asumir que todo empieza desde cero.
21
+ - Si existe contexto anterior relevante, úsalo para no repetir exploración innecesaria.
22
+ - Si el usuario menciona “recuerda”, “qué hicimos” o “cómo quedó”, consulta primero Engram.
23
+
24
+ ### Durante el trabajo
25
+
26
+ Guarda en Engram cuando ocurra cualquiera de estas cosas:
27
+
28
+ - una decisión importante
29
+ - un hallazgo técnico no obvio
30
+ - una convención nueva
31
+ - un bug con causa identificada
32
+ - un cambio de flujo del orquestador
33
+ - una preferencia explícita del usuario
34
+
35
+ ### Al terminar la sesión
36
+
37
+ - Guarda un resumen de sesión con lo hecho, lo descubierto y lo que sigue.
38
+ - El objetivo es que la próxima sesión no empiece ciega.
39
+
40
+ ## Topic keys recomendados
41
+
42
+ - `orchestrator/session-summary`
43
+ - `orchestrator/routing`
44
+ - `orchestrator/skills`
45
+ - `orchestrator/engram`
46
+ - `orchestrator/tui`
47
+ - `orchestrator/queue-workflow`
48
+
49
+ Para cambios por feature:
50
+
51
+ - `feature/<nombre-del-cambio>`
52
+ - `bug/<nombre-del-bug>`
53
+ - `decision/<tema>`
54
+
55
+ ## Regla de prioridad
56
+
57
+ - Usa Engram como memoria persistente.
58
+ - Usa `.atl/skill-registry.md` como catálogo local de skills.
59
+ - Usa `ORCHESTRATOR.md` y `CLAUDE.md` como reglas activas del proyecto.
60
+
61
+ ## Importante
62
+
63
+ Engram es una ayuda para continuidad, no reemplaza:
64
+
65
+ - `QUEUE.md`
66
+ - `ORCHESTRATOR.md`
67
+ - `handoffs/`
68
+ - el estado visible en la TUI
69
+
70
+ La memoria debe complementar el flujo del orquestador, no ocultarlo.