@tacuchi/agent-workflow-cli 6.1.0 → 7.0.0

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 (191) hide show
  1. package/README.md +65 -12
  2. package/dist/application/profile/profile-service.d.ts +53 -0
  3. package/dist/application/profile/profile-service.d.ts.map +1 -0
  4. package/dist/application/profile/profile-service.js +210 -0
  5. package/dist/application/profile/profile-service.js.map +1 -0
  6. package/dist/application/render/history-row.d.ts.map +1 -1
  7. package/dist/application/render/history-row.js +5 -0
  8. package/dist/application/render/history-row.js.map +1 -1
  9. package/dist/application/self/bootstrap.js +2 -1
  10. package/dist/application/self/bootstrap.js.map +1 -1
  11. package/dist/application/self/detect-hosts.d.ts +18 -0
  12. package/dist/application/self/detect-hosts.d.ts.map +1 -0
  13. package/dist/application/self/detect-hosts.js +37 -0
  14. package/dist/application/self/detect-hosts.js.map +1 -0
  15. package/dist/application/self/install-hooks.d.ts +30 -0
  16. package/dist/application/self/install-hooks.d.ts.map +1 -0
  17. package/dist/application/self/install-hooks.js +253 -0
  18. package/dist/application/self/install-hooks.js.map +1 -0
  19. package/dist/application/self/install-skill.d.ts +2 -0
  20. package/dist/application/self/install-skill.d.ts.map +1 -1
  21. package/dist/application/self/install-skill.js +69 -3
  22. package/dist/application/self/install-skill.js.map +1 -1
  23. package/dist/application/session-close-service.d.ts +10 -0
  24. package/dist/application/session-close-service.d.ts.map +1 -1
  25. package/dist/application/session-close-service.js +87 -10
  26. package/dist/application/session-close-service.js.map +1 -1
  27. package/dist/cli/commands/self.d.ts.map +1 -1
  28. package/dist/cli/commands/self.js +9 -1
  29. package/dist/cli/commands/self.js.map +1 -1
  30. package/dist/cli/commands/session-close.d.ts.map +1 -1
  31. package/dist/cli/commands/session-close.js +11 -0
  32. package/dist/cli/commands/session-close.js.map +1 -1
  33. package/dist/cli/tui/tabs/skills-tab.d.ts.map +1 -1
  34. package/dist/cli/tui/tabs/skills-tab.js +100 -24
  35. package/dist/cli/tui/tabs/skills-tab.js.map +1 -1
  36. package/package.json +2 -2
  37. package/skills/agent-workflow/commands/README.md +24 -0
  38. package/skills/agent-workflow/commands/agent-workflow-compact.md +24 -0
  39. package/skills/agent-workflow/commands/agent-workflow-doctor.md +100 -0
  40. package/skills/agent-workflow/commands/agent-workflow-export-arq.md +77 -0
  41. package/skills/agent-workflow/commands/agent-workflow-export-conclusions.md +78 -0
  42. package/skills/agent-workflow/commands/agent-workflow-export-plan.md +74 -0
  43. package/skills/agent-workflow/commands/agent-workflow-export-qa-note.md +30 -0
  44. package/skills/agent-workflow/commands/agent-workflow-export-report.md +78 -0
  45. package/skills/agent-workflow/commands/agent-workflow-export-requirement.md +30 -0
  46. package/skills/agent-workflow/commands/agent-workflow-export-scripts.md +92 -0
  47. package/skills/agent-workflow/commands/agent-workflow-export-tech-manuals.md +75 -0
  48. package/skills/agent-workflow/commands/agent-workflow-export-tech-note.md +30 -0
  49. package/skills/agent-workflow/commands/agent-workflow-hub-init.md +82 -0
  50. package/skills/agent-workflow/commands/agent-workflow-migrate.md +56 -0
  51. package/skills/agent-workflow/commands/agent-workflow-project-init.md +60 -0
  52. package/skills/agent-workflow/commands/agent-workflow-resume.md +22 -0
  53. package/skills/agent-workflow/commands/agent-workflow-rules.md +40 -0
  54. package/skills/agent-workflow/commands/agent-workflow-session.md +35 -0
  55. package/skills/agent-workflow/doctrine/README.md +15 -0
  56. package/skills/agent-workflow/doctrine/compact/SKILL.md +145 -0
  57. package/skills/agent-workflow/doctrine/doctor/SKILL.md +86 -0
  58. package/skills/agent-workflow/doctrine/doctor/SKILL.md.tmp +0 -0
  59. package/skills/agent-workflow/doctrine/hub-init/SKILL.md +157 -0
  60. package/skills/agent-workflow/doctrine/hub-init/SKILL.md.tmp +0 -0
  61. package/skills/agent-workflow/doctrine/hub-init/references/multiroot-manual.md +51 -0
  62. package/skills/agent-workflow/doctrine/implement/SKILL.md +290 -0
  63. package/skills/agent-workflow/doctrine/implement/references/branch-verification.md +16 -0
  64. package/skills/agent-workflow/doctrine/implement/references/design-md-template.md +108 -0
  65. package/skills/agent-workflow/doctrine/implement/references/rollback-guide.md +81 -0
  66. package/skills/agent-workflow/doctrine/migrate/SKILL.md +281 -0
  67. package/skills/agent-workflow/doctrine/migrate/SKILL.md.tmp +0 -0
  68. package/skills/agent-workflow/doctrine/project-init/SKILL.md +100 -0
  69. package/skills/agent-workflow/doctrine/project-init/SKILL.md.tmp +0 -0
  70. package/skills/agent-workflow/doctrine/refactor/SKILL.md +208 -0
  71. package/skills/agent-workflow/doctrine/refactor/references/refactor-md-template.md +108 -0
  72. package/skills/agent-workflow/doctrine/refactor/references/strangler-checklist.md +116 -0
  73. package/skills/agent-workflow/doctrine/resume/SKILL.md +199 -0
  74. package/skills/agent-workflow/doctrine/rules/SKILL.md +224 -0
  75. package/skills/agent-workflow/doctrine/rules/SKILL.md.tmp +0 -0
  76. package/skills/agent-workflow/doctrine/session/SKILL.md +383 -0
  77. package/skills/agent-workflow/doctrine/session/references/auto-plan-rules.md +63 -0
  78. package/skills/agent-workflow/doctrine/session/references/backlog-template.md +95 -0
  79. package/skills/agent-workflow/doctrine/session/references/branch-verification.md +198 -0
  80. package/skills/agent-workflow/doctrine/session/references/commits-policy.md +111 -0
  81. package/skills/agent-workflow/doctrine/session/references/communication-style.md +50 -0
  82. package/skills/agent-workflow/doctrine/session/references/graduacion-routing.md +88 -0
  83. package/skills/agent-workflow/doctrine/session/references/lifecycle-deep.md +160 -0
  84. package/skills/agent-workflow/doctrine/session/references/prompts/C1-specialty-selection.md +11 -0
  85. package/skills/agent-workflow/doctrine/session/references/prompts/C2-cost-guard.md +14 -0
  86. package/skills/agent-workflow/doctrine/session/references/prompts/M1-closure-commit-prompt.md +104 -0
  87. package/skills/agent-workflow/doctrine/session/references/prompts/M10-next-step.md +17 -0
  88. package/skills/agent-workflow/doctrine/session/references/prompts/M11-context.md +16 -0
  89. package/skills/agent-workflow/doctrine/session/references/prompts/M2-branch-caso-A.md +14 -0
  90. package/skills/agent-workflow/doctrine/session/references/prompts/M3-branch-caso-C.md +33 -0
  91. package/skills/agent-workflow/doctrine/session/references/prompts/M4-cross-source-hard-gate.md +33 -0
  92. package/skills/agent-workflow/doctrine/session/references/prompts/M5-modality-analyze.md +15 -0
  93. package/skills/agent-workflow/doctrine/session/references/prompts/M6-phase-gate.md +31 -0
  94. package/skills/agent-workflow/doctrine/session/references/prompts/M7-refactor-legacy-detected.md +28 -0
  95. package/skills/agent-workflow/doctrine/session/references/prompts/M8-refactor-cleanup.md +16 -0
  96. package/skills/agent-workflow/doctrine/session/references/prompts/M9-contract-review.md +39 -0
  97. package/skills/agent-workflow/doctrine/session/references/prompts/S1-type-design.md +15 -0
  98. package/skills/agent-workflow/doctrine/session/references/prompts/S2-topic-change-detection.md +14 -0
  99. package/skills/agent-workflow/doctrine/session/references/prompts/S3-flow-detection.md +28 -0
  100. package/skills/agent-workflow/doctrine/session/references/prompts/S4-resume.md +27 -0
  101. package/skills/agent-workflow/doctrine/session/references/prompts/S5-post-compact.md +17 -0
  102. package/skills/agent-workflow/doctrine/session/references/prompts/S6-scope.md +16 -0
  103. package/skills/agent-workflow/doctrine/session/references/prompts/S7-design-review.md +37 -0
  104. package/skills/agent-workflow/doctrine/session/references/prompts-catalog.md +210 -0
  105. package/skills/agent-workflow/doctrine/session/references/sandbox-readonly-rules.md +82 -0
  106. package/skills/agent-workflow/doctrine/session/references/specialty-decision-tree.md +56 -0
  107. package/skills/agent-workflow/doctrine/session/references/topic-change-rules.md +67 -0
  108. package/skills/agent-workflow/exports/README.md +15 -0
  109. package/skills/agent-workflow/exports/export-arq/SKILL.md +229 -0
  110. package/skills/agent-workflow/exports/export-arq/SKILL.md.tmp +0 -0
  111. package/skills/agent-workflow/exports/export-arq/references/lexico-tecnico.md +94 -0
  112. package/skills/agent-workflow/exports/export-arq/references/template-c4.md +293 -0
  113. package/skills/agent-workflow/exports/export-arq/references/template-plantuml.puml +77 -0
  114. package/skills/agent-workflow/exports/export-arq/references/template-structurizr.dsl +72 -0
  115. package/skills/agent-workflow/exports/export-arq/references/validations.md +231 -0
  116. package/skills/agent-workflow/exports/export-conclusions/SKILL.md +169 -0
  117. package/skills/agent-workflow/exports/export-conclusions/references/dedup-rules.md +154 -0
  118. package/skills/agent-workflow/exports/export-conclusions/references/template-conclusions.md +158 -0
  119. package/skills/agent-workflow/exports/export-plan/SKILL.md +225 -0
  120. package/skills/agent-workflow/exports/export-plan/references/state-transitions.md +141 -0
  121. package/skills/agent-workflow/exports/export-plan/references/template-plan.md +132 -0
  122. package/skills/agent-workflow/exports/export-qa-note/SKILL.md +31 -0
  123. package/skills/agent-workflow/exports/export-report/SKILL.md +262 -0
  124. package/skills/agent-workflow/exports/export-report/SKILL.md.tmp +0 -0
  125. package/skills/agent-workflow/exports/export-report/references/lexico.md +174 -0
  126. package/skills/agent-workflow/exports/export-report/references/template-a.md +95 -0
  127. package/skills/agent-workflow/exports/export-report/references/template-b.md +221 -0
  128. package/skills/agent-workflow/exports/export-report/references/template-c.md +180 -0
  129. package/skills/agent-workflow/exports/export-report/references/validations.md +255 -0
  130. package/skills/agent-workflow/exports/export-requirement/SKILL.md +31 -0
  131. package/skills/agent-workflow/exports/export-scripts/SKILL.md +324 -0
  132. package/skills/agent-workflow/exports/export-scripts/references/code-scan-recommendations.md +83 -0
  133. package/skills/agent-workflow/exports/export-scripts/references/deprecation-plan.md +80 -0
  134. package/skills/agent-workflow/exports/export-scripts/references/lexico-tecnico.md +80 -0
  135. package/skills/agent-workflow/exports/export-scripts/references/manifest-template.md +253 -0
  136. package/skills/agent-workflow/exports/export-scripts/references/readme-template.md +79 -0
  137. package/skills/agent-workflow/exports/export-scripts/references/theme-handling.md +168 -0
  138. package/skills/agent-workflow/exports/export-scripts/references/validations.md +242 -0
  139. package/skills/agent-workflow/exports/export-tech-manuals/SKILL.md +214 -0
  140. package/skills/agent-workflow/exports/export-tech-manuals/references/lexico-tecnico.md +97 -0
  141. package/skills/agent-workflow/exports/export-tech-manuals/references/template-index.md +123 -0
  142. package/skills/agent-workflow/exports/export-tech-manuals/references/template-manual.md +143 -0
  143. package/skills/agent-workflow/exports/export-tech-manuals/references/validations.md +211 -0
  144. package/skills/agent-workflow/exports/export-tech-note/SKILL.md +31 -0
  145. package/skills/agent-workflow/hooks/README.md +15 -0
  146. package/skills/agent-workflow/hooks/hooks.template.json +90 -0
  147. package/skills/agent-workflow/references/README.md +12 -0
  148. package/skills/agent-workflow/references/legacy-anchors.md +50 -0
  149. package/skills/agent-workflow/references/profile-parametrization.md +88 -0
  150. package/skills/agent-workflow/specialties/README.md +14 -0
  151. package/skills/agent-workflow/specialties/analyze-conclude/SKILL.md +175 -0
  152. package/skills/agent-workflow/specialties/analyze-conclude/references/incident-classification.md +61 -0
  153. package/skills/agent-workflow/specialties/analyze-investigate/SKILL.md +148 -0
  154. package/skills/agent-workflow/specialties/analyze-investigate/SKILL.md.tmp +0 -0
  155. package/skills/agent-workflow/specialties/analyze-investigate/references/cost-guard.md +85 -0
  156. package/skills/agent-workflow/specialties/analyze-synthesize/SKILL.md +127 -0
  157. package/skills/agent-workflow/specialties/design-brief/SKILL.md +90 -0
  158. package/skills/agent-workflow/specialties/design-deliver/SKILL.md +121 -0
  159. package/skills/agent-workflow/specialties/design-develop/SKILL.md +115 -0
  160. package/skills/agent-workflow/specialties/design-discover/SKILL.md +103 -0
  161. package/skills/agent-workflow/standards/README.md +12 -0
  162. package/skills/agent-workflow/standards/coding-standards/SKILL.md +102 -0
  163. package/skills/agent-workflow/standards/coding-standards/SKILL.md.tmp +0 -0
  164. package/skills/agent-workflow/standards/coding-standards/references/angular-typescript.md +266 -0
  165. package/skills/agent-workflow/standards/coding-standards/references/database-conventions.md +170 -0
  166. package/skills/agent-workflow/standards/coding-standards/references/fe-be-integration.md +300 -0
  167. package/skills/agent-workflow/standards/coding-standards/references/frontend-structure.md +182 -0
  168. package/skills/agent-workflow/standards/coding-standards/references/java-spring.md +244 -0
  169. package/skills/agent-workflow/standards/coding-standards/references/project-structure.md +197 -0
  170. package/skills/agent-workflow/standards/frontend-design/SKILL.md +62 -0
  171. package/skills/agent-workflow/standards/frontend-design/references/feedback-toasts-patterns.md +249 -0
  172. package/skills/agent-workflow/standards/frontend-design/references/form-patterns.md +278 -0
  173. package/skills/agent-workflow/standards/frontend-design/references/list-patterns.md +256 -0
  174. package/skills/agent-workflow/standards/frontend-design/references/modal-patterns.md +220 -0
  175. package/skills/agent-workflow/standards/frontend-design/references/navigation-patterns.md +224 -0
  176. package/skills/agent-workflow/standards/redaccion-simple/SKILL.md +128 -0
  177. package/skills/agent-workflow/standards/sql-rollback-generator/SKILL.md +197 -0
  178. package/skills/agent-workflow/standards/sql-rollback-generator/references/irreversible-checklist.md +161 -0
  179. package/skills/agent-workflow/standards/sql-rollback-generator/references/release-rollback.md +131 -0
  180. package/skills/agent-workflow/standards/sql-rollback-generator/references/rollback-patterns.md +255 -0
  181. package/skills/agent-workflow/standards/sql-script-organizer/SKILL.md +244 -0
  182. package/skills/agent-workflow/standards/sql-script-organizer/references/bundle-readme-template.md +82 -0
  183. package/skills/agent-workflow/standards/sql-script-organizer/references/categorization-rules.md +122 -0
  184. package/skills/agent-workflow/standards/sql-script-organizer/references/consolidation-cross-session.md +125 -0
  185. package/skills/agent-workflow/standards/sql-script-organizer/references/scripts-sql-format.md +140 -0
  186. package/skills/agent-workflow/standards/testing-strategy/SKILL.md +113 -0
  187. package/skills/agent-workflow/standards/testing-strategy/references/test-levels.md +255 -0
  188. package/skills/agent-workflow/workflows/README.md +12 -0
  189. package/skills/agent-workflow/workflows/analyze-workflow/SKILL.md +107 -0
  190. package/skills/agent-workflow/workflows/design-workflow/SKILL.md +100 -0
  191. package/skills/agent-workflow/workflows/dev-workflow/SKILL.md +195 -0
@@ -0,0 +1,60 @@
1
+ ---
2
+ description: Inicializa el bloque AW-PROJECT en CLAUDE.md y AGENTS.md del proyecto con las 4 secciones gestionadas (Proyecto, Fuentes, Stack, Status). Para workspaces multi-repo usar `/agent-workflow:hub-init`.
3
+ argument-hint: (opcional) --proyecto "descripción" | --fuente alias:path[:rama] | --main-branch <rama>
4
+ allowed-tools:
5
+ [
6
+ "Read",
7
+ "Write",
8
+ "Bash",
9
+ "AskUserQuestion",
10
+ ]
11
+ ---
12
+
13
+ # Project Init (agent-workflow)
14
+
15
+ Inicializa o reinicia el bloque `<!-- AW-PROJECT-START -->` en `CLAUDE.md` y `AGENTS.md` del directorio actual. Ese bloque es la memoria permanente del proyecto: quién es, qué repos tiene, qué stack, qué sesiones hay activas.
16
+
17
+ **Se ejecuta una vez por proyecto.** Después, `/agent-workflow:session` (en sus variantes: crear, retomar, cerrar) actualiza el bloque automáticamente vía `agent-workflow project-md-upsert`.
18
+
19
+ > Este comando vive en agent-workflow (Fase B; antes en qtc-core v2.5+, previamente en qtc-dev). Es agnóstico al flow — no requiere tener qtc-dev instalado. Para workspaces que coordinan **múltiples repos** (≥2 fuentes), usar `/agent-workflow:hub-init` que valida cross-fuente y persiste el marcador `Mode: hub`.
20
+
21
+ ## Flujo
22
+
23
+ 1. Ejecutar `agent-workflow project-md-upsert --read` (lee con cache si está disponible).
24
+ 2. Si ya existe un bloque AW-PROJECT válido, mostrarlo al usuario y preguntar si quiere **reiniciarlo** (sobreescritura) o **abortar**.
25
+ 3. Si no existe:
26
+ - Pedir al usuario la descripción del proyecto (qué es + por qué existe) con `AskUserQuestion` o campo libre.
27
+ - Preguntar por la fuente afectada: `alias`, `path` local al repo. La rama principal default es `certificacion` (constante interna del CLI) salvo override con `--main-branch`.
28
+ - Si el usuario declara ≥2 fuentes en este flujo → sugerir cambiar a `/agent-workflow:hub-init` que está pensado para hub workspaces y captura ramas de trabajo cross-fuente.
29
+ - Auto-detectar el stack con `agent-workflow stack` — mostrarlo al usuario y confirmar antes de escribirlo.
30
+ - Invocar:
31
+ ```
32
+ agent-workflow project-md-upsert --init \
33
+ --mode project \
34
+ --proyecto "<descripción>" \
35
+ --fuente "alias:path"
36
+ ```
37
+ 4. Si existe bloque `<!-- QTC-WORKFLOW-START -->` legacy en los mismos archivos, avisar al usuario y recomendar ejecutar `/agent-workflow:migrate --upgrade-topology` antes de continuar. No borrar el legacy automáticamente.
38
+
39
+ ## Qué NO hace
40
+
41
+ - No crea `.workflow/sessions/`. Eso es responsabilidad de `/agent-workflow:session <descripción>`.
42
+ - No escribe en repos fuera del CWD — sólo en `CLAUDE.md` y `AGENTS.md` del directorio actual.
43
+ - No ejecuta `git` ni valida ramas — eso lo hace `/agent-workflow:session` al crear/retomar.
44
+ - No persiste `Mode: hub` (eso lo hace `/agent-workflow:hub-init`).
45
+
46
+ ## Argumentos
47
+
48
+ Sin argumentos: flujo interactivo (pregunta todo).
49
+
50
+ Con argumentos: no-interactivo cuando se pasan todos los datos.
51
+
52
+ - `--proyecto "<texto>"` — descripción del proyecto.
53
+ - `--fuente "alias:path[:rama]"` — declarar la fuente. Repetible (pero ≥2 sugiere `/hub-init`).
54
+ - `--main-branch <rama>` — override del default `certificacion` (raro).
55
+
56
+ **Argumentos:** $ARGUMENTS
57
+
58
+ ## Skill asociada
59
+
60
+ Ver `skills/project-init/SKILL.md` para el detalle del flujo, validaciones y manejo de bloques pre-existentes.
@@ -0,0 +1,22 @@
1
+ ---
2
+ description: Lee CHECKPOINT.md de la sesión activa y presenta resumen para retomar el trabajo. Fallback a session-resume base si no hay checkpoint.
3
+ argument-hint: (sin args)
4
+ allowed-tools:
5
+ [
6
+ "Bash",
7
+ "Read",
8
+ ]
9
+ ---
10
+
11
+ # Resume — agent-workflow
12
+
13
+ Invoca el skill `resume` (canónico de agent-workflow).
14
+
15
+ ## Acción
16
+
17
+ 1. Detectar sesión(es) activa(s) via `resume-summary`.
18
+ 2. Leer CHECKPOINT.md si existe; fallback a `session-resume`.
19
+ 3. Presentar resumen estructurado al usuario.
20
+ 4. Preguntar si continúa.
21
+
22
+ Ver `skills/resume/SKILL.md` para detalles.
@@ -0,0 +1,40 @@
1
+ ---
2
+ description: Bundle invokable de reglas transversales agent-workflow-* — carga los 7 anchors canónicos (commits, sandbox plan-mode, MCP read-only, redacción, coding-standards, graduación, branch verification) en un solo entry point. No requiere sesión activa.
3
+ argument-hint: (sin args)
4
+ allowed-tools:
5
+ [
6
+ "Read",
7
+ ]
8
+ ---
9
+
10
+ # Rules — Reglas transversales agent-workflow-*
11
+
12
+ Invoca el skill `rules` (canónico de agent-workflow).
13
+
14
+ ## Cuándo correrlo
15
+
16
+ - Antes de un commit ad-hoc fuera de `/agent-workflow:session close` (para refrescar política).
17
+ - Antes de editar código en una fuente agent-workflow-* sin sesión activa.
18
+ - Antes de ejecutar una query vía MCP `<mcp-cert>`/`<mcp-prod>` (read-only canon).
19
+ - Durante onboarding de un usuario nuevo a agent-workflow-*.
20
+ - En conversaciones largas donde el contexto qtc se diluyó.
21
+
22
+ ## Qué carga
23
+
24
+ Los 7 anchors canónicos del runtime agent-workflow-*:
25
+
26
+ 1. `agent-workflow:commits-policy` — formato y prohibiciones de commits.
27
+ 2. `agent-workflow:sandbox-readonly` — comportamiento en plan mode.
28
+ 3. `agent-workflow:mcp-readonly` — política SELECT-only para MCP.
29
+ 4. `agent-workflow:redaccion-simple` — estilo transversal para prosa agent-workflow-*.
30
+ 5. `agent-workflow:coding-standards` — estándares por stack + FE-BE R1-R6 + seguridad.
31
+ 6. `agent-workflow:graduacion-routing` — 6 kinds graduables + routing hub vs project.
32
+ 7. `agent-workflow:branch-verification` — gate de rama por fuente + hard gate cross-fuente.
33
+
34
+ ## Plan mode
35
+
36
+ Read-only. Skill imprime el bundle sin ejecutar nada.
37
+
38
+ ## Recursos
39
+
40
+ Ver `skills/rules/SKILL.md` para el contenido extendido de cada anchor.
@@ -0,0 +1,35 @@
1
+ ---
2
+ description: Lifecycle universal de sesiones agent-workflow-* (4 fases: planning → execution → validation → closure). Crea, retoma, lista o cierra sesiones componiendo skills de especialidad según el OBJECTIVE.
3
+ argument-hint: (sin args | <slug-objetivo> | sessionXXX | XXX | list | close)
4
+ allowed-tools:
5
+ [
6
+ "Bash",
7
+ "Read",
8
+ "Write",
9
+ "Edit",
10
+ "Glob",
11
+ "Grep",
12
+ ]
13
+ ---
14
+
15
+ # Session — Lifecycle universal agent-workflow-*
16
+
17
+ Invoca el skill `session` (canónico de agent-workflow) con `$ARGUMENTS`.
18
+
19
+ ## Resolución de intención
20
+
21
+ El skill evalúa `$ARGUMENTS` en orden:
22
+
23
+ 1. `close` → flujo de cierre.
24
+ 2. `list` → flujo de listado.
25
+ 3. Matchea `sessionXXX` o `XXX` (3 dígitos) → flujo de retomar.
26
+ 4. Texto descriptivo → flujo de crear (con prompts adicionales para slug + ramas).
27
+ 5. Sin args → escanear estado y proponer.
28
+
29
+ ## Plan mode
30
+
31
+ Skill resuelve la intención normalmente y describe acciones en el plan file en lugar de ejecutarlas.
32
+
33
+ ## Recursos
34
+
35
+ Ver `skills/session/SKILL.md` para el árbol de decisión completo y los recursos de referencia.
@@ -0,0 +1,15 @@
1
+ # doctrine/
2
+
3
+ Reglas universales del lifecycle que aplican siempre, agnóstico de empresa.
4
+
5
+ Contenido esperado (T2 PR2):
6
+
7
+ - `commits-policy.md` — propose-then-execute, M1, sin firmas auto, ≤72 chars.
8
+ - `branch-verification.md` — gate de rama por fuente (casos A/B/C).
9
+ - `redaccion-simple.md` — estilo de prosa para artefactos.
10
+ - `sandbox-readonly-rules.md` — plan mode = sin mutaciones.
11
+ - `mcp-readonly.md` — MCP SELECT/EXPLAIN sí, DDL/DML no.
12
+ - `graduacion-routing.md` — defaults por kind + hub vs fuente.
13
+ - `prompts-catalog.md` — M1/M10/S2/S3/S6/S7 prompts canónicos.
14
+
15
+ Refs cruzadas (`[[name]]`) entre archivos permitidas. Léxico empresa-específico se inyecta vía `profile.lexicon_path`.
@@ -0,0 +1,145 @@
1
+ ---
2
+ name: compact
3
+ description: Persiste estado de la sesión activa en CHECKPOINT.md y dispara /compact host. Invocado vía /agent-workflow:compact, NL como compactá/guardá estado/checkpoint, automáticamente desde el SessionEnd hook al cerrar el cliente, o como último paso del cierre de sesión.
4
+ version: 2.4.0
5
+ ---
6
+
7
+ # Compact — qtc v2.2
8
+
9
+ Persiste el estado de la sesión activa antes de un compact del contexto. Combina:
10
+
11
+ 1. **Auto-extracción** (CLI `agent-workflow checkpoint-write`): phase, TASKS counts, decisiones recientes, archivos tocados, branches.
12
+ 2. **Síntesis del AI**: "Last action", "Next step", "Critical context to resume" (legacy ES: "Lo último que hice", "Próximo paso", "Contexto crítico para retomar").
13
+ 3. **Hand-off al host**: `/compact` nativo de Claude Code/Codex.
14
+
15
+ El resultado: `.workflow/sessions/<folder>/CHECKPOINT.md` escrito + contexto liberado.
16
+
17
+ ## Dos caminos al compact
18
+
19
+ Hay dos formas de compactar contexto en CC/Codex y producen calidad de síntesis distinta:
20
+
21
+ | Camino | Cuándo usar | Síntesis | Calidad |
22
+ |---|---|---|---|
23
+ | `/agent-workflow:compact` (skill) | Antes de un compact planeado, cuando querés cierre limpio. | **Pre-compact con contexto vivo**: el AI rellena placeholders mirando la conversación entera + diffs + decisiones. | Alta — el AI tiene todo. |
24
+ | `/compact` directo (host) | Compact ad-hoc o automático por umbral de contexto. | **Post-compact con `resume-summary`**: el AI rellena placeholders después del compact, leyendo el JSON del hook + CHECKPOINT.md draft + TASKS.md + DECISIONS.md de disco. | Reducida — el AI ya no ve la conversación previa, solo lo que quedó persistido en disco. |
25
+
26
+ **Regla**: si para algún placeholder en el camino post-compact no tenés info suficiente, escribí `_(sin info — completar al retomar)_` en lugar de inventar. El usuario completa al hacer `/agent-workflow:resume` si necesita.
27
+
28
+ El camino post-compact lo coordinan los hooks `PreCompact` y `PostCompact` del plugin (ver `hooks/hooks.json`). Importante: por bug del host ([anthropics/claude-code#13572](https://github.com/anthropics/claude-code/issues/13572)) el `PreCompact` puede no disparar en `/compact` manual. El `PostCompact` mitiga este caso: si `checkpoint_status == "missing"` el AI regenera el draft via `checkpoint-write` y luego rellena.
29
+
30
+ ## Triggers
31
+
32
+ - **Slash explícito**: `/agent-workflow:compact`.
33
+ - **NL del usuario**: "compactá", "guardá estado", "checkpoint", "vamos a compactar".
34
+ - **Automático en SessionEnd hook**: al cerrar Claude Code/Codex, el hook escribe CHECKPOINT.md (no dispara `/compact` host porque la sesión ya termina).
35
+ - **Automático en cierre de qtc-session**: el último paso de la skill `session` (closure) invoca `compact`.
36
+ - **AI auto-trigger por contexto >75%**: cuando el AI estima carga de contexto >75% del modelo activo (heurística manual, no medición exacta), disparar `AskUserQuestion` con spec de M11 (`../session/references/prompts-catalog.md#M11`). Header `context`, 3 opciones (Compact ahora / Seguir, compact después / Cerrar sesión). Si elige "Compact ahora" → continuar con los pasos 1-5 abajo. Si elige otra → respetar la elección y dejar nota informal en CHECKPOINT.md cuando corresponda. **Si la sesión está en `closure`**: skip M11 (closure ya dispara compact opcional). NO narrar la pregunta en texto plano.
37
+
38
+ ## Acción
39
+
40
+ ### 1. Detectar sesión activa
41
+
42
+ ```
43
+ agent-workflow project-md-upsert --read
44
+ ```
45
+
46
+ Si no hay activa → mensaje "no hay sesión activa para checkpointar" y stop.
47
+
48
+ Si hay UNA → continuar.
49
+
50
+ Si hay VARIAS → preguntar al usuario cuál (o hacer una por una).
51
+
52
+ ### 2. Escribir draft auto-extraído
53
+
54
+ ```
55
+ agent-workflow checkpoint-write --code <CODE> --force
56
+ ```
57
+
58
+ `--force` asegura draft fresco aunque exista un CHECKPOINT.md sintetizado previo (su síntesis estaría desactualizada respecto al estado actual de la sesión).
59
+
60
+ Esto crea `.workflow/sessions/<folder>/CHECKPOINT.md` con:
61
+
62
+ - Header con timestamp, fase, avance %.
63
+ - Decisión más reciente (si hay).
64
+ - Archivos tocados (git diff vs HEAD).
65
+ - Refs (origen, ramas, artefactos presentes).
66
+
67
+ Y deja **placeholders** `_[AI: …]_` en los campos que requieren juicio:
68
+
69
+ - "Last action"
70
+ - "Next step"
71
+ - "Critical context to resume"
72
+ - Propósito de cada archivo tocado
73
+ - Skills usadas en la sesión
74
+
75
+ ### 3. Completar los placeholders
76
+
77
+ El AI lee el CHECKPOINT.md draft y reemplaza CADA placeholder con texto sintetizado de la conversación reciente:
78
+
79
+ - **Last action** (legacy ES: "Lo último que hice"): 1-3 oraciones del último avance concreto. Mirá los últimos diffs aplicados, la última entrada de DECISIONS.md.
80
+ - **Next step** (legacy ES: "Próximo paso"): 1-2 oraciones de qué falta. Mirá el primer item abierto de TASKS.md y cualquier blocker mencionado.
81
+ - **Critical context to resume** (legacy ES: "Contexto crítico para retomar"): 2-3 párrafos con info mínima para continuar sin re-explorar. Qué descubriste, qué decisiones tomadas, qué tener presente.
82
+ - **Propósito de archivos**: 1 línea por archivo tocado.
83
+ - **Skills usadas**: lista de skills invocadas durante la sesión (implement, coding-standards, sql-script-organizer, etc.).
84
+
85
+ Editá el archivo con `Edit` tool — preservá la estructura, sólo cambiá el placeholder por el contenido real.
86
+
87
+ ### 4. Disparar /compact host
88
+
89
+ Tras editar el CHECKPOINT.md:
90
+
91
+ > Decir al usuario: "Estado guardado en `.workflow/sessions/<folder>/CHECKPOINT.md`. Ahora corro `/compact` para liberar contexto."
92
+
93
+ Y ejecutar `/compact` (comando nativo).
94
+
95
+ Si el trigger fue **SessionEnd hook**, **NO disparar /compact** — la sesión ya termina; sólo escribir y salir.
96
+
97
+ ### 5. Resumir al usuario
98
+
99
+ 1-2 líneas. Path del CHECKPOINT, fase actual, próximo paso. Útil si está por cerrar la PC.
100
+
101
+ ## Ejemplo de invocación
102
+
103
+ Usuario: "compactá"
104
+
105
+ AI:
106
+ 1. Detecta `session046-dev-jobs-async` activa.
107
+ 2. Corre `agent-workflow checkpoint-write --code 046`. Output:
108
+ ```json
109
+ {
110
+ "session": "session046-dev-jobs-async",
111
+ "checkpoint_path": ".workflow/sessions/session046-dev-jobs-async/CHECKPOINT.md",
112
+ "phase": "execution",
113
+ "progress_pct": 60,
114
+ "tasks_open": 2,
115
+ "tasks_closed": 3,
116
+ "files_touched_count": 4
117
+ }
118
+ ```
119
+ 3. Lee el CHECKPOINT.md draft, edita los placeholders con síntesis.
120
+ 4. Confirma al usuario: "Estado guardado. Disparo `/compact`."
121
+ 5. Corre `/compact`.
122
+
123
+ ## Política — sin fallback al CLI
124
+
125
+ Si `agent-workflow checkpoint-write` o `agent-workflow project-md-upsert` falla (no está en PATH, comando no reconocido, exit code != 0), **cortá la acción y reportá al usuario**: pedile que verifique `npm install -g @tacuchi/agent-workflow-cli`. No hay flujo alternativo Python.
126
+
127
+ ## Sandbox read-only
128
+
129
+ Reglas universales en `../session/references/sandbox-readonly-rules.md` (canon agent-workflow).
130
+
131
+ En plan mode esta skill **no ejecuta** `agent-workflow checkpoint-write`, ni `Edit` sobre CHECKPOINT.md, ni `/compact`. Describe en el plan file:
132
+
133
+ - `.workflow/sessions/<folder>/CHECKPOINT.md` — crearía/sobrescribiría con formato §17 shared-contract. Resumir: timestamp, fase, avance %, lo último (sintetizado por AI), próximo paso, contexto crítico, refs.
134
+ - Síntesis del AI a aplicar a placeholders: enumerar campos (`Last action`, `Next step`, `Critical context to resume`, propósito de archivos tocados, skills usadas).
135
+ - Confirmación de que se dispararía `/compact` host (o NO si el trigger es SessionEnd hook).
136
+
137
+ No invocar el sub-comando `checkpoint-write` ni siquiera con `--dry-run` salvo que el comando expusiera ese flag explícitamente — hoy no lo expone, así que abstenerse.
138
+
139
+ ## Recursos
140
+
141
+ - `agent-workflow checkpoint-{read,write}` — comandos CLI que leen/escriben el CHECKPOINT.md.
142
+ - shared-contract.md §17 — formato canónico de CHECKPOINT.md.
143
+ - shared-contract.md §18 — close-triggers-compact convention.
144
+ - **`agent-workflow:redaccion-simple`** — guía de redacción para los placeholders `_[AI: ...]_` de CHECKPOINT.md. Aplicar al rellenar (frases cortas, sin párrafos, sin relleno).
145
+ - **`../session/references/commits-policy.md`** — el `compact` **no commitea** CHECKPOINT.md por iniciativa propia; el commit (si aplica) lo dispara el closure de `session` o el usuario explícitamente.
@@ -0,0 +1,86 @@
1
+ ---
2
+ name: doctor
3
+ description: "Health check read-only de la familia qtc-*. Orquesta `agent-workflow plugin-doctor` por fuente declarada en `agent-workflow sources` (hub mode) o sobre el cwd (single-repo). Default scope = all en hub, cwd en single-repo. Reporta versión del manifest, integridad de hooks, presencia de SKILL.md con frontmatter completo, runtime.json instalado y MCP config si aplica. Sin acciones ni mutaciones — sólo diagnóstico."
4
+ version: 1.0.0
5
+ ---
6
+
7
+ > **Profile parametrization**: lee `mcp_databases[]` de `profile.json` (resuelto vía cascade 5 capas). Ver [`references/profile-parametrization.md`](../../references/profile-parametrization.md) para el contrato completo y comportamiento por defecto cuando el profile está vacío.
8
+
9
+ # Doctor — qtc-* health check (orquestador)
10
+
11
+ Skill canónica del comando `/agent-workflow:doctor`. Orquesta diagnósticos read-only sobre los plugins qtc-* declarados en el workspace. El trabajo pesado lo hace el CLI runtime (`@tacuchi/agent-workflow-cli`); esta skill resuelve el scope, llama al CLI por plugin y agrega los resultados.
12
+
13
+ ## Cuándo se invoca
14
+
15
+ - Comando `/agent-workflow:doctor` (tanto Claude Code como Codex).
16
+ - NL: "¿está sano el plugin?", "diagnóstico de qtc", "doctor de plugins", "health check del hub".
17
+ - Pre-release: antes de publicar el plugin se chequea con `--scope <plugin>`.
18
+
19
+ ## Scope resolution
20
+
21
+ 1. Leer args:
22
+ - `--scope <alias|all>` explícito.
23
+ - `--plugin-root PATH` directo (single-repo o testing).
24
+ 2. Si no hay args: `agent-workflow workspace-mode`. Si retorna `hub` → `--scope all`. Si `project` → `--plugin-root <cwd>`.
25
+ 3. `--scope all` (hub): `agent-workflow sources` → filtrar fuentes con manifest `.claude-plugin/plugin.json` o `.codex-plugin/plugin.json` y aplicar `plugin-doctor` a cada path.
26
+
27
+ ## Ejecución por plugin
28
+
29
+ ```
30
+ agent-workflow plugin-doctor --plugin-root <path>
31
+ ```
32
+
33
+ Output esperado (por plugin):
34
+
35
+ - `status` ∈ `ok` | `warn` | `error`.
36
+ - `plugin_version` desde el manifest.
37
+ - `manifests` = comparación claude vs codex (versiones coincidentes).
38
+ - `hooks` = parseo de `hooks/hooks.json` y `codex-hooks/hooks.json`.
39
+ - `skills` = barrer `skills/*/SKILL.md`, validar frontmatter (`name`, `description`, `version` semver) y matching `name == dirname`.
40
+ - `runtime` = presencia de `~/.workflow/agent-workflow/runtime.json` (agent-workflow only).
41
+ - `mcp_config` = `.mcp.json` si aplica.
42
+ - `errors[]` y `warnings[]`.
43
+
44
+ ## Salida
45
+
46
+ ### Tabla compacta (scope=all)
47
+
48
+ ```
49
+ plugin version status findings
50
+ ────────────────────────── ──────── ────── ────────
51
+ agent-workflow 2.2.2 ok —
52
+ otro-plugin 1.0.0 warn SKILL.md sin version
53
+ ```
54
+
55
+ Resumen final: `<N>/M plugins ok` o lista de findings.
56
+
57
+ ### Detallado (scope=<alias> o --plugin-root)
58
+
59
+ Mostrar el JSON completo de `plugin-doctor` + interpretación humana.
60
+
61
+ ## Accionables típicos
62
+
63
+ - `agent-workflow CLI not found in PATH` → `npm install -g @tacuchi/agent-workflow-cli`.
64
+ - `manifest version mismatch claude vs codex` → editar y bumpear coordinado.
65
+ - `runtime.json missing` → reload del cliente (SessionStart hook lo escribe).
66
+ - `SKILL.md sin frontmatter completo` → ver `agent-workflow:redaccion-simple` para canon.
67
+
68
+ ## Sandbox read-only
69
+
70
+ Canon universal en `../session/references/sandbox-readonly-rules.md`. Read-only por construcción — el subcomando CLI `agent-workflow plugin-doctor` sólo consulta estado (versiones, namespaces, paths, fuentes registradas) sin mutar plugins ni fuentes.
71
+
72
+ En plan mode: describir en el plan file los checks que correrían (per-fuente, scope `all`/`hub`/`single-repo`) sin invocar el CLI. NO ejecuta `Write`, `Edit`, ni comandos que muten estado de plugins/fuentes/workspace.
73
+
74
+ Compatible con plan mode sin restricciones adicionales.
75
+
76
+ ## Composición
77
+
78
+ | Skill | Cuándo |
79
+ |---|---|
80
+ | `agent-workflow` (CLI skill) | Ejecuta el `plugin-doctor` por fuente. |
81
+ | `agent-workflow:hub-init` / `agent-workflow:project-init` | Si `workspace-mode` no detecta el bloque AW-PROJECT. |
82
+
83
+ ## Referencias
84
+
85
+ - `commands/doctor.md` — entry point del slash command (Claude Code y Codex).
86
+ - `agent-workflow plugin-doctor --help` — flags disponibles del CLI runtime.
@@ -0,0 +1,157 @@
1
+ ---
2
+ name: hub-init
3
+ description: Inicializa workspace Hub multi-repo con bloque AW-PROJECT en modo hub. Captura ≥2 fuentes con rutas y ramas de trabajo, valida cross-fuente y persiste marcador Mode hub que activa heurísticas hub-aware en sessions/implement/release. Promociona workspaces project con múltiples fuentes. Invocado vía /agent-workflow:hub-init.
4
+ version: 1.1.0
5
+ ---
6
+
7
+ > **Profile parametrization**: lee `claude_md_block` de `profile.json` (resuelto vía cascade 5 capas). Ver [`references/profile-parametrization.md`](../../references/profile-parametrization.md) para el contrato completo y comportamiento por defecto cuando el profile está vacío.
8
+
9
+ # Hub Init
10
+
11
+ Bootstrap del bloque AW-PROJECT para un workspace **multi-repo** (hub mode). Hub mode introduce el marcador `Mode: hub` que activa heurísticas hub-aware en el resto de la familia qtc-*.
12
+
13
+ ## Cuándo usar
14
+
15
+ - Workspace que coordina ≥2 repos pares (sesiones cross-cutting).
16
+ - Promover un workspace existente que ya creció a multi-repo.
17
+
18
+ ## Diferencias vs `/agent-workflow:project-init`
19
+
20
+ | Aspecto | project-init | hub-init |
21
+ |---|---|---|
22
+ | Fuentes | 1 (mín y máx) | ≥2 (mínimo) |
23
+ | Marcador `Mode:` | `project` | `hub` |
24
+ | Captura ramas de trabajo | No | Sí, por fuente, en Status |
25
+ | Validación cross-fuente | No | Sí (aliases únicos, paths git válidos, comparación con `git rev-parse`) |
26
+ | Stack auto-detect | Sobre CWD | Sobre CWD; suele caer en `_Workspace base_` |
27
+ | Heurísticas hub-aware | Off | On (sessions, implement, release, doctor) |
28
+
29
+ ## Flujo detallado
30
+
31
+ ### 1. Detectar bloque existente
32
+
33
+ ```
34
+ agent-workflow workspace-mode
35
+ ```
36
+
37
+ Output: `{mode, sources, working_branches, sources_count, is_hub}`.
38
+
39
+ | Caso | Acción |
40
+ |---|---|
41
+ | `mode=hub` | Mostrar fuentes actuales y preguntar: ¿agregar nuevas? ¿reiniciar? ¿abortar? |
42
+ | `mode=project` con ≥1 fuente | Detectar promoción: mostrar fuente original y preguntar "¿Promover a hub?". Si confirma, continuar al paso 2 con la fuente original ya cargada. |
43
+ | Sin bloque | Flujo limpio. |
44
+ | Bloque legacy `<!-- QTC-WORKFLOW-START -->` | Recomendar `/agent-workflow:migrate --upgrade-topology` antes. Abortar. |
45
+
46
+ ### 2. Capturar descripción del workspace
47
+
48
+ Pedir 1-3 líneas que mencionen que coordina N repos. Va a `## Proyecto`.
49
+
50
+ ### 3. Capturar fuentes
51
+
52
+ Loop por cada fuente:
53
+
54
+ - **Alias** kebab-case único.
55
+ - **Path absoluto** al repo. Validar `os.path.isdir(path)` y que sea repo git (`<path>/.git/` o `git -C <path> rev-parse --git-dir`).
56
+ - **Rama de trabajo actual**: default sugerido = `git -C <path> rev-parse --abbrev-ref HEAD`. Usuario acepta o sobreescribe.
57
+
58
+ **NO preguntar la rama principal**: el CLI usa `"certificacion"` como default interno. Override sólo con `--main-branch <rama>` (raro).
59
+
60
+ Mínimo 2 fuentes en flujo limpio. En "agregar a hub existente", mínimo 1 nueva.
61
+
62
+ ### 4. Validaciones cross-fuente
63
+
64
+ Antes de persistir:
65
+
66
+ - **Aliases únicos**: si duplicó, error y reintenta.
67
+ - **Paths existen + son git repos**: si falla, error y reintenta esa entrada.
68
+ - **Rama declarada vs actual**: comparar con `git -C <path> rev-parse --abbrev-ref HEAD`. Si difieren → advertir (no bloquear). Sugerir `git checkout` o aceptar la actual.
69
+
70
+ ### 5. Auto-detectar stack del CWD
71
+
72
+ ```
73
+ agent-workflow stack
74
+ ```
75
+
76
+ En hub workspaces el CWD suele ser un directorio "base" sin stack propio. Si auto-detección falla → `_Workspace base — stack heterogéneo (ver fuentes individuales)._` en `## Stack`.
77
+
78
+ Para stack de cada fuente individual: `agent-workflow stack --all-sources` (después del init).
79
+
80
+ ### 6. Persistir bloque + visibilidad (atómico desde v1.1.0)
81
+
82
+ Una sola invocación atómica al CLI. `agent-workflow hub-init` (introducido en v1.1.0, soportado por `agent-workflow-cli`) orquesta `project-md-upsert --init` + `attach-multiroot --from-sources` en un solo paso. Garantiza que el workspace queda consistente: bloque AW-PROJECT persistido **y** visibility configurada per-workspace, sin pasos separados que el AI pueda olvidar.
83
+
84
+ ```
85
+ agent-workflow hub-init \
86
+ --proyecto "<descripción>" \
87
+ --fuente "alias1:path1" --fuente "alias2:path2" \
88
+ --working-branch "alias1:rama1" --working-branch "alias2:rama2"
89
+ ```
90
+
91
+ El comando:
92
+
93
+ - Escribe `CLAUDE.md` y `AGENTS.md` del CWD con bloque `## Proyecto` (Mode: hub), `## Fuentes`, `## Stack`, `## Status` con `- Ramas de trabajo actuales:` + sesiones activas.
94
+ - Mergea paths en `<CWD>/.claude/settings.json → permissions.additionalDirectories` con backup `.bak.<timestamp>`.
95
+ - Mergea paths en `<CWD>/.codex/config.toml → additional_writable_roots` + bloques `[projects.'<path>'] trust_level = "trusted"` con backup.
96
+ - Output JSON consolidado: `{ok, dry_run, workspace, project_md:{…}, attach_multiroot:{scope,scope_dir,paths_input,claude:{…},codex:{…}}}`.
97
+
98
+ Reportar al usuario: paths registrados, ubicación de cada archivo (énfasis en que están dentro del hub, no en `~`), backups generados.
99
+
100
+ #### Flags adicionales
101
+
102
+ - `--main-branch <rama>`: override del default interno `certificacion`.
103
+ - `--workspace <DIR>`: override cuando el CWD no es la raíz del hub.
104
+ - `--skip-attach`: opt-out del paso de visibility (usar si el usuario prefiere configuración manual o la corre con `attach-multiroot` directamente).
105
+ - `--dry-run`: previsualizar sin escribir.
106
+
107
+ #### Si el usuario prefiere visibility manual
108
+
109
+ Si `--skip-attach`, el AI debe avisar al usuario que tiene que correr `attach-multiroot` después o configurar manualmente. Snippets de referencia en `references/multiroot-manual.md`.
110
+
111
+ #### Revertir contaminación global previa
112
+
113
+ Si en versiones anteriores los paths quedaron en `~/.claude/...` / `~/.codex/...` (legacy v3.3.3 o pre-v1.1.0), correr el inspector y la limpieza:
114
+
115
+ ```
116
+ agent-workflow visibility doctor --workspace . --global
117
+ agent-workflow detach-multiroot --global --from-sources
118
+ ```
119
+
120
+ `visibility doctor --global` reporta paths del hub presentes en scope global con sugerencia explícita; `detach-multiroot --global` los remueve idempotentemente.
121
+
122
+ ### 7. Reportar
123
+
124
+ - Archivos modificados (CLAUDE.md, AGENTS.md, settings.json, config.toml).
125
+ - N fuentes registradas con aliases, paths, ramas.
126
+ - Estado de visibilidad multi-root (paths registrados + scope).
127
+ - Próximos pasos: `/agent-workflow:session "<objetivo>"` para crear primera sesión cross-cutting.
128
+
129
+ ## Reglas
130
+
131
+ - **Mínimo 2 fuentes** en flujo limpio. Si quiere 1, redirigir a `/agent-workflow:project-init`.
132
+ - **Promoción auto-detectada**: bloques `mode=project` con ≥1 fuente se detectan; sin flag `--promote`.
133
+ - **Idempotente**: re-ejecución con datos idénticos es no-op.
134
+ - **No tocar legacy QTC-WORKFLOW**: avisar y delegar a migrate.
135
+ - **Visibilidad multi-root atómica** (v1.1.0+): el paso 6 colapsa init + attach en `agent-workflow hub-init`. Idempotente con backup. Si el usuario quiere opt-out: `--skip-attach` (la skill avisa que la visibility queda pendiente).
136
+
137
+ ## Política — sin fallback al CLI
138
+
139
+ Si `agent-workflow workspace-mode|stack|hub-init|attach-multiroot|detach-multiroot|visibility` falla (no está en PATH, comando no reconocido, exit code != 0), **cortá la acción y reportá al usuario**: pedile que verifique `npm install -g @tacuchi/agent-workflow-cli`. No hay flujo alternativo Python.
140
+
141
+ ## Sandbox read-only
142
+
143
+ `../session/references/sandbox-readonly-rules.md`. Plan describe:
144
+
145
+ - Archivos a crear/modificar: `CLAUDE.md`, `AGENTS.md`, `<CWD>/.claude/settings.json`, `<CWD>/.codex/config.toml`.
146
+ - Bloque AW-PROJECT a escribir: fuentes + ramas + `Mode: hub`.
147
+ - Validaciones cross-fuente que se correrían (sin ejecutar `git` ni mutar).
148
+ - Si reemplaza bloque existente o promociona desde project, indicarlo.
149
+
150
+ NO ejecutar `hub-init`, `project-md-upsert --init`, `attach-multiroot`, ni `git rev-parse` en plan mode.
151
+
152
+ ## Recursos adicionales
153
+
154
+ - **`references/multiroot-manual.md`** — snippets de configuración manual si el usuario declina la automatización.
155
+ - **shared-contract §27** (Hub mode) — definición canónica del modo, API, marcador.
156
+ - **`/agent-workflow:project-init`** — equivalente single-repo.
157
+ - **CLI `--main-branch <rama>`** — override de la rama principal (default interno: `certificacion`).
@@ -0,0 +1,51 @@
1
+ # Multi-root manual — snippets de referencia
2
+
3
+ Si el usuario declina la automatización de `attach-multiroot`, o si solo usa uno de los dos clientes, mostrarle estos snippets para configurar manualmente.
4
+
5
+ ## Claude Code (`<workspace>/.claude/settings.json` o `~/.claude/settings.json`)
6
+
7
+ ```json
8
+ {
9
+ "permissions": {
10
+ "additionalDirectories": [
11
+ "C:/Source/repo-1",
12
+ "C:/Source/repo-2"
13
+ ]
14
+ }
15
+ }
16
+ ```
17
+
18
+ Alternativa por sesión: `/add-dir <path>` por fuente.
19
+
20
+ ## Codex CLI (`<workspace>/.codex/config.toml` o `~/.codex/config.toml`)
21
+
22
+ ```toml
23
+ additional_writable_roots = [
24
+ "C:/Source/repo-1",
25
+ "C:/Source/repo-2"
26
+ ]
27
+
28
+ [projects."C:/Source/repo-1"]
29
+ trust_level = "trusted"
30
+
31
+ [projects."C:/Source/repo-2"]
32
+ trust_level = "trusted"
33
+ ```
34
+
35
+ ## Recomendación
36
+
37
+ - **Per-workspace** es preferible (`<workspace>/...`) para no contaminar la config global con paths específicos del hub.
38
+ - **Global** sólo si todos tus workspaces comparten el mismo set de repos.
39
+
40
+ ## Comandos automáticos equivalentes
41
+
42
+ ```
43
+ # Per-workspace (default desde v3.3.4):
44
+ agent-workflow attach-multiroot --from-sources
45
+
46
+ # Global (legacy):
47
+ agent-workflow attach-multiroot --from-sources --global
48
+
49
+ # Revertir global:
50
+ agent-workflow detach-multiroot --from-sources --global
51
+ ```