@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,85 @@
1
+ # Cost guard — protocolo para queries MCP
2
+
3
+ Antes de ejecutar `mcp__plugin_developer-workflow_qtc-{cert,prod}__execute_sql` con cualquier query no-trivial, aplicar este guard. Las queries contra `<mcp-cert>` / `<mcp-prod>` tienen costo real (latencia, I/O, hold de conexión).
4
+
5
+ ## Paso 1 — estimar tamaño antes de ejecutar la query principal
6
+
7
+ Para queries que NO son `SELECT 1`, `LIMIT 1`, ni `WHERE pk = literal`:
8
+
9
+ ```sql
10
+ -- Estimación 1: cuántas filas esperar
11
+ SELECT COUNT(*) FROM <tabla principal> WHERE <filtros>;
12
+
13
+ -- Estimación 2: peek a estructura (1 fila)
14
+ SELECT * FROM <tabla principal> WHERE <filtros> LIMIT 1;
15
+ ```
16
+
17
+ Si soporta `EXPLAIN`:
18
+
19
+ ```sql
20
+ EXPLAIN (FORMAT TEXT) <query principal>;
21
+ ```
22
+
23
+ Leer el plan: índices usados, tipo de scan (seq scan vs index scan), filas estimadas (`rows=`).
24
+
25
+ ## Paso 2 — clasificar costo
26
+
27
+ | Categoría | Criterios | Acción |
28
+ |---|---|---|
29
+ | **Barata** | COUNT(*) ≤ 1.000 filas; PK lookup; EXPLAIN dice index scan | Ejecutar directamente. Documentar tamaño real en query header. |
30
+ | **Moderada** | COUNT(*) entre 1.000 y 10.000; seq scan sobre tabla pequeña (<100k); JOIN con todos índices | Avisar al usuario el tamaño + duración estimada. Ejecutar si no objeta. |
31
+ | **Costosa** | COUNT(*) > 10.000; JOIN sin índice; seq scan sobre >100k; ventana > 90 días sobre tabla activa | **Confirmación EXPLÍCITA** antes de ejecutar. Sugerir LIMIT, filtros, sample. |
32
+ | **Bloqueada** | UPDATE/INSERT/DELETE detectado; lock fuerte (FOR UPDATE) | Refusarse. MCP enforcan; el AI tampoco intenta. |
33
+
34
+ ## Paso 3 — formato de aviso al usuario
35
+
36
+ ### Moderada (antes de ejecutar)
37
+
38
+ ```
39
+ La query estimada toca ~5.200 filas (EXPLAIN: index scan sobre idx_solicitud_fecha,
40
+ ventana 30 días). Tiempo esperado <2s. Ejecuto?
41
+ ```
42
+
43
+ ### Costosa
44
+
45
+ **Dispara `AskUserQuestion`** con spec de C2 (`agent-workflow:prompts-catalog#C2`). Header `cost`, 2 opciones canónicas (Proceder / Cancelar) + preview ASCII obligatorio con el SQL y el plan EXPLAIN resumido. NO narrar la pregunta en texto plano (anti-patrón histórico: bloque "(a)/(b)/(c)/(d) — Decidí" como input libre).
46
+
47
+ Plantilla del preview:
48
+
49
+ ```
50
+ ⚠ Query potencialmente costosa
51
+ COUNT(*) estimado: ~85.000 filas
52
+ EXPLAIN: seq scan sobre solicitud (sin índice para WHERE estado='X')
53
+ Sin LIMIT — Servidor: <mcp-prod>
54
+
55
+ SQL:
56
+ SELECT * FROM solicitud WHERE estado = 'X' ORDER BY fecha DESC;
57
+ ```
58
+
59
+ Si el usuario activa el Other auto-inyectado puede pedir variantes (LIMIT, sample por mod(id,N), filtros adicionales) en texto libre — el AI reformula la query y vuelve a aplicar el guard sobre la versión revisada antes de ejecutar.
60
+
61
+ NO ejecutar la versión costosa sin confirmación explícita, aunque el usuario haya autorizado queries genéricas en la sesión.
62
+
63
+ ## Paso 4 — registrar el costo real
64
+
65
+ Tras ejecutar, agregar al header del archivo SQL:
66
+
67
+ ```sql
68
+ -- Costo real: <filas devueltas> filas en <duración>; servidor=<cert|prod>
69
+ ```
70
+
71
+ Esto cierra el loop: la próxima sesión que toque la misma tabla tiene referencia.
72
+
73
+ ## Excepciones permitidas (sin guard explícito)
74
+
75
+ - `SELECT 1` y healthchecks.
76
+ - `SELECT * FROM <tabla> WHERE <pk> = <valor>` (PK lookup determinístico).
77
+ - Queries contra `information_schema` / `pg_catalog` (metadata, casi gratis).
78
+ - Re-ejecución de una query que ya tenía guard documentado en una sesión previa.
79
+
80
+ ## Anti-patrones
81
+
82
+ - **`SELECT * FROM tabla` sin WHERE**: nunca, salvo confirmación con `(a)` arriba.
83
+ - **JOIN cartesiano accidental**: revisar siempre que cada JOIN tenga ON con clave indexada.
84
+ - **Loop de queries pequeñas**: si vas a correr 50 queries similares, 1 query con `IN (...)` o `JOIN` es preferible. Documentar la decisión.
85
+ - **Saltarse el guard porque "es solo cert"**: cert también tiene costo y se comparte con otros equipos.
@@ -0,0 +1,127 @@
1
+ ---
2
+ name: analyze-synthesize
3
+ description: Estructura información en un plan accionable. Skill CLAVE invocada por agent-workflow:session durante la fase planning para descomponer el OBJECTIVE en TASKS.md (cuando auto-plan dice `lite` o `full`). También se invoca durante execution para sintetizar FINDINGS.md a partir de evidencia recolectada por analyze-investigate. Output siempre estructurado con criterios + dependencias + ordenamiento.
4
+ version: 1.1.0
5
+ ---
6
+
7
+ # analyze-synthesize — qtc v1.1+
8
+
9
+ Specialty skill **analyze**: estructura información de manera accionable. Doble rol:
10
+
11
+ 1. **En `planning`** (uso primario): descompone OBJECTIVE en TASKS.md cuando `agent-workflow auto-plan-decide` retorna `lite` o `full`. La invoca `agent-workflow:session` directamente.
12
+ 2. **En `execution`** (analyze-only): sintetiza FINDINGS.md a partir de EVIDENCE.md después de `analyze-investigate`.
13
+
14
+ Es la **skill más importante** del flow=analyze porque participa en planning de TODOS los flows (no solo analyze).
15
+
16
+ ## Cuándo se invoca
17
+
18
+ - **Composición desde `agent-workflow:session` en planning** cuando `auto-plan-decide` retorna `lite` o `full`.
19
+ - **Composición en sesión analyze en execution** después de `analyze-investigate` cuando hay evidencia que organizar.
20
+ - NL del usuario: "estructurá el plan", "organizá los hallazgos", "armá las tareas".
21
+ - Devuelta por `specialty-choose --phase planning`.
22
+
23
+ ## Acción: estructurar plan (uso primario, planning)
24
+
25
+ Output: `.workflow/sessions/<folder>/TASKS.md` con descomposición ordenada.
26
+
27
+ ### Estructura canónica de TASKS.md
28
+
29
+ ```markdown
30
+ # Tasks — sessionNNN-<flow>-<slug>
31
+
32
+ ## Plan summary
33
+
34
+ [1-2 oraciones: qué se va a hacer, en qué orden, criterio de hecho.]
35
+
36
+ ## Tasks
37
+
38
+ - [ ] **T1**: <título imperativo> — <criterio: cómo sé que está hecha>
39
+ - Depende de: ninguna
40
+ - Estima: <S|M|L>
41
+ - [ ] **T2**: <título> — <criterio>
42
+ - Depende de: T1
43
+ - Estima: <S|M|L>
44
+ - [ ] **T3**: ... — <criterio>
45
+ - Depende de: T1
46
+ - Estima: <S|M|L>
47
+
48
+ ## Risks / external dependencies
49
+
50
+ - <riesgo 1: qué podría romper la ejecución, mitigación>
51
+ ```
52
+
53
+ ### Reglas de estructuración
54
+
55
+ - **3-7 tareas para `full`**, 1-3 para `lite`. Si exceden 7, agrupar.
56
+ - **Cada tarea con criterio de hecho explícito** (no solo título).
57
+ - **Dependencias declaradas** — el AI puede paralelizar tareas independientes.
58
+ - **Estima S|M|L** orientativa: S = <30min, M = 30min-2h, L = 2-8h. Si una L se acerca a 8h, considerá descomponer.
59
+ - **No prescribir solución técnica acá** — la decisión de "cómo" se toma durante execution con la specialty correspondiente (implement, design-deliver, etc.).
60
+
61
+ ## Acción: sintetizar hallazgos (analyze execution)
62
+
63
+ Output: `.workflow/sessions/<folder>/FINDINGS.md` (legacy: `HALLAZGOS.md`).
64
+
65
+ ```markdown
66
+ # Findings — sessionNNN-analyze-<slug>
67
+
68
+ ## Patterns identified
69
+
70
+ - **Patrón A**: <qué+por qué+evidencia (link a EVIDENCE.md sección)>
71
+
72
+ ## False positives discarded
73
+
74
+ - **<hipótesis descartada>**: por qué no aplica, evidencia.
75
+
76
+ ## Model decision
77
+
78
+ [Cuál modelo / hipótesis explica mejor los datos. 1-2 párrafos.]
79
+
80
+ ## What is NOT known (gaps)
81
+
82
+ - <pregunta abierta que requeriría más investigación>
83
+ ```
84
+
85
+ ### Reglas de síntesis
86
+
87
+ - **Toda afirmación con evidencia**: link al `EVIDENCE.md#section` o al artefacto (query, screenshot, log).
88
+ - **Honest gaps**: lo que no se pudo probar o quedó incierto, declararlo. No inventar.
89
+ - **Convergencia**: el output debe ser una historia coherente, no un dump.
90
+ - **Próximo paso**: FINDINGS termina apuntando a `analyze-conclude` (produce CONCLUSIONS.md modulado por `## Modality`).
91
+
92
+ ## Reglas
93
+
94
+ - **Sin imaginación creativa**: este skill es estructurador, no inventor. Trabaja con lo que el OBJECTIVE o EVIDENCE ya dice.
95
+ - **Single source of truth**: el TASKS.md es la fuente de qué se va a hacer; el FINDINGS.md es la fuente de qué se sabe. Otros artefactos (DECISIONS, CONCLUSIONS) referencian, no duplican.
96
+ - **Idempotente**: re-invocar sobre TASKS.md existente refina, no recrea.
97
+ - **No commits autónomos**: ver `agent-workflow:commits-policy`. Synthesize escribe TASKS/FINDINGS pero nunca commitea.
98
+
99
+ ## Composición con otras skills
100
+
101
+ | Skill | Cuándo |
102
+ |---|---|
103
+ | `analyze-investigate` | en analyze sessions, EVIDENCE antes de sintetizar |
104
+ | `analyze-conclude` | siguiente paso en analyze sessions; produce CONCLUSIONS.md modulado por `## Modality` (technical/incident/data) |
105
+ | `agent-workflow:session` | invoca este skill en planning de cualquier flow |
106
+
107
+ ## Sandbox read-only
108
+
109
+ Reglas universales en el canon (`sandbox-readonly-rules.md`). En plan mode esta skill describe en el plan file el output según el rol:
110
+
111
+ - **Rol planning** (invocado por `agent-workflow:session` durante phase planning):
112
+ - **Path destino**: `.workflow/sessions/<folder>/TASKS.md`.
113
+ - **Items propuestos** (≥3 si auto-plan = `full`, 1-3 si `lite`): cada uno con título, criterio de aceptación, dependencias (orden), estimación de esfuerzo.
114
+ - Sugerencias de skills a invocar para cada item (sin invocarlas).
115
+
116
+ - **Rol execution** (sesiones analyze, sintetizar evidencia):
117
+ - **Path destino**: `.workflow/sessions/<folder>/FINDINGS.md`.
118
+ - **Estructura**: hallazgo principal, sub-hallazgos numerados, conexiones entre ellos, gaps (qué falta investigar).
119
+ - Origen de cada hallazgo: link al item de EVIDENCE.md (sin re-pegar el contenido).
120
+
121
+ NO ejecuta: `Write` sobre TASKS.md ni FINDINGS.md.
122
+
123
+ ## Recursos
124
+
125
+ - shared-contract §14 — fase planning del lifecycle universal.
126
+ - shared-contract §15 — naming convention specialty skills.
127
+ - shared-contract §19 — auto-plan trigger heurística (cuándo invocar este skill).
@@ -0,0 +1,90 @@
1
+ ---
2
+ name: design-brief
3
+ description: Capta el brief inicial de una sesión de diseño y declara el `## Type` (project|system). Invocado desde la fase planning del lifecycle universal qtc-core cuando el OBJECTIVE menciona UI/UX/diseño/pantalla/mockup/wireframe. Produce OBJECTIVE.md con secciones Type, Brief, Context y Acceptance criteria. No produce código ni mocks aún — sólo capturar QUÉ y POR QUÉ.
4
+ version: 1.1.0
5
+ ---
6
+
7
+ # design-brief — qtc v1.0+
8
+
9
+ Specialty skill **design**: capta el brief y el tipo de sesión durante la fase `planning` del lifecycle universal.
10
+
11
+ ## Cuándo se invoca
12
+
13
+ - Composición desde `agent-workflow:session` en `planning` cuando el OBJECTIVE menciona UI/UX/diseño/pantalla/mockup/wireframe/layout/forma.
14
+ - Devuelta por `agent-workflow specialty-choose --phase planning` si el OBJECTIVE incluye keywords de design.
15
+ - NL del usuario: "abrí una sesión de diseño", "vamos a diseñar X", "necesito un mock de Y".
16
+
17
+ ## Pre-requisitos
18
+
19
+ 1. Bloque AW-PROJECT presente. Si no → proponer `/agent-workflow:project-init`.
20
+ 2. Sesión nueva (o existente sin OBJECTIVE completo).
21
+
22
+ ## Acción
23
+
24
+ ### 1. Pedir al usuario
25
+
26
+ | Campo | Tipo | Ejemplos |
27
+ |---|---|---|
28
+ | **Type** | `project` \| `system` (legacy ES: `proyecto`/`sistema`) | `project` = pantalla/mantenimiento concreto. `system` = tokens/componentes compartidos. |
29
+ | **Nombre** | slug-kebab ≤4 palabras | `mock-lista-negra`, `tokens-spacing`, `wizard-nuevo-cliente` |
30
+ | **Brief corto** | 1-3 oraciones | quién (rol/usuario), qué problema, constraints clave |
31
+ | **Acceptance criteria** | lista | cómo sabemos que la sesión cumple su objetivo |
32
+
33
+ Si el OBJECTIVE no declara `## Type`, **dispara `AskUserQuestion`** con spec de S1 (`agent-workflow:prompts-catalog#S1`). Header `design-type`, 2 opciones (Project / System). Si el usuario activa el Other auto, pedir clarificación libre y NO inferir el type desde el texto — la sesión queda sin type hasta que el usuario lo declare.
34
+
35
+ NO narrar la pregunta en texto plano (ej. "¿Esto es proyecto o sistema?" en chat es un anti-patrón).
36
+
37
+ ### 2. Crear sesión
38
+
39
+ ```
40
+ agent-workflow session-create \
41
+ --name <slug> \
42
+ --objetivo "<brief>" \
43
+ --type <project|system>
44
+ ```
45
+
46
+ Crea `.workflow/sessions/sessionNNN-design-<slug>/OBJECTIVE.md` con `## Type` + `## Brief` pre-cargados. Las flags legacy `--tipo proyecto|sistema` siguen aceptadas y se normalizan a EN.
47
+
48
+ ### 3. Iterar el brief si hace falta
49
+
50
+ Si el brief es vago o ambiguo:
51
+ - 1-2 preguntas de clarificación (no más).
52
+ - Editar OBJECTIVE.md (legacy: OBJETIVO.md) con la versión refinada.
53
+ - Confirmar con el usuario antes de avanzar.
54
+
55
+ ### 4. Hand-off a planning del lifecycle universal
56
+
57
+ Reportar al `agent-workflow:session` que el brief está cerrado y el plan structurado puede empezar (si auto-plan dice `full` o `lite`). Para `type=system`, plan suele ser `lite` (tareas predecibles); para `type=project`, suele ser `full` (criterios + variantes).
58
+
59
+ ## Reglas
60
+
61
+ - **Spec-only**: NO escribir código. NO escribir mocks aún (eso es design-develop).
62
+ - **Type es obligatorio**: sin `Type` no se crea la sesión. Convención shared-contract §11.
63
+ - **Brief corto**: si el usuario quiere extender, hacerlo en `## Context` o en `DISCOVERY.md` (más adelante).
64
+ - **No asumir framework de UI**: el brief habla del problema, no de Angular/React/Bootstrap. Eso lo decide el flow=dev al implementar.
65
+
66
+ ## Composición con otras skills
67
+
68
+ | Skill | Cuándo |
69
+ |---|---|
70
+ | `design-discover` | siguiente paso, en fase `execution` (investigación de usuarios/flows/sistema existente) |
71
+ | `design-develop` | divergencia/convergencia de soluciones, en `execution` |
72
+ | `design-deliver` | spec final, al cerrar `execution` antes de `validation` |
73
+ | `frontend-design` | reglas agnósticas de UI (form/list/modal/navigation/feedback) — referenciar pero no invocar acá |
74
+
75
+ ## Sandbox read-only
76
+
77
+ Reglas universales en el canon (`sandbox-readonly-rules.md`). En plan mode esta skill describe en el plan file:
78
+
79
+ - Campos a pedir al usuario para capturar el brief: nombre/slug, Type (`project`|`system`; legacy ES aceptado), Brief, Context, Acceptance criteria, Inspiración.
80
+ - Que el OBJECTIVE.md se crearía a partir del template `objetivo-design.md` (interno del CLI) con esos campos.
81
+ - Que `agent-workflow session-create` se invocaría — pero NO se ejecuta hasta salir de plan mode.
82
+
83
+ NO ejecuta: `agent-workflow session-create`, `Write` sobre OBJECTIVE.md.
84
+
85
+ ## Recursos
86
+
87
+ - shared-contract §11 — convención `## Type` (project|system; legacy ES `proyecto`/`sistema`).
88
+ - shared-contract §14 — fase planning del lifecycle universal.
89
+ - `agent-workflow:prompts-catalog#S1` — spec literal del prompt design-type (header, opciones, manejo del Other).
90
+ - skill `frontend-design` — principios de UI agnósticos del framework.
@@ -0,0 +1,121 @@
1
+ ---
2
+ name: design-deliver
3
+ description: Spec final estable para handoff al flow=dev. Componentes, estados, validaciones, tokens aplicados, decisiones UX racionalizadas. Sin código. Produce DELIVERY.md como entregable canónico (referenciado por handoff `--from design:NNN`). Invocado al final de execution cuando design-develop convergió en una variante elegida.
4
+ version: 2.2.0
5
+ ---
6
+
7
+ # design-deliver — qtc v2.1+
8
+
9
+ Specialty skill **design**: producción del spec final. Cierre creativo de `execution` antes de pasar a `validation`.
10
+
11
+ ## Cuándo se invoca
12
+
13
+ - Composición desde `agent-workflow:session` al final de `execution` cuando design-develop convergió.
14
+ - NL del usuario: "spec final", "armá el entregable", "vamos a deliverable", "cerrá el diseño".
15
+
16
+ ## Acción
17
+
18
+ Producir `.workflow/sessions/<folder>/DELIVERY.md` (legacy: `ENTREGA.md`) con el spec completo + canónico para handoff al flow=dev.
19
+
20
+ ### Estructura canónica de DELIVERY.md
21
+
22
+ ```markdown
23
+ # Delivery — sessionNNN-design-<slug>
24
+
25
+ ## Summary
26
+ [2-3 oraciones del qué y para quién. Esto es el TL;DR del handoff.]
27
+
28
+ ## Components
29
+
30
+ ### <Component 1>
31
+ - Type: form | list | modal | navigation | feedback | custom
32
+ - States: idle | loading | error | success | disabled | …
33
+ - Validations (if form): [lista]
34
+ - Tokens applied: spacing.md, color.danger, font.body
35
+ - UX rules: [shortcuts, accesibilidad, responsive]
36
+ - Mock: docs/referencias/<nombre>.png o link Figma
37
+
38
+ ### <Component 2>
39
+ - ...
40
+
41
+ ## Flows / interactions
42
+
43
+ 1. [paso 1]
44
+ 2. [paso 2]
45
+ 3. ...
46
+
47
+ ## UX decisions
48
+
49
+ - [decisión clave + por qué + qué se descartó]
50
+
51
+ ## Tokens / design-system applied
52
+
53
+ - (sólo si type=project): listar tokens consumidos del DS.
54
+ - (si type=system): listar tokens NUEVOS o MODIFICADOS, con migration impact.
55
+
56
+ ## Validation criteria
57
+
58
+ - [cómo qtc-dev sabrá que la implementación cumple el spec]
59
+
60
+ ## Out of scope
61
+
62
+ - [qué NO se implementa en este spec, para evitar scope creep en la sesión dev]
63
+ ```
64
+
65
+ ## Reglas
66
+
67
+ - **Sin código**: DELIVERY.md es markdown puro + referencias a mocks/Figma. El código lo escribe el flow=dev.
68
+ - **Componentes referenciados a frontend-design**: si un componente es una variante estándar, citar `frontend-design references/<patron>.md`. Si es nuevo/custom, especificarlo entero.
69
+ - **Estados explícitos**: cada componente declara TODOS sus estados (no asumir que el dev los infiere).
70
+ - **Validaciones con regex/longitud/required cuando aplica**: el dev no inventa.
71
+ - **Out of scope explícito**: cierra puertas; evita feature creep.
72
+ - **Si type=system**: DELIVERY.md describe los CAMBIOS al design system (delta + migration), no una pantalla. La distinción `## Type: project|system` queda como metadato interno del documento; **no** afecta la carpeta de graduación (todo va a `docs/especificaciones/` — path canónico ES preservado por compat con sesiones legacy).
73
+ - **No commits autónomos**: design-deliver **nunca** commitea DELIVERY.md ni `docs/referencias/` por iniciativa. Ver `agent-workflow:commits-policy` (Regla 3): cuando el usuario solicita un commit — closure auto, ad-hoc en cualquier fase, o sin sesión activa — el AI invoca el flujo M1 propose-then-execute con `AskUserQuestion`.
74
+
75
+ ## Loop hasta convergencia final
76
+
77
+ Después del primer draft de DELIVERY.md:
78
+
79
+ 1. Mostrar al usuario.
80
+ 2. Recibir feedback.
81
+ 3. Iterar sobre el archivo (Edit, no recreación).
82
+ 4. Repetir hasta el usuario confirme: "OK, podemos handoff".
83
+
84
+ ## Hand-off al flow=dev (post-cierre de la sesión design)
85
+
86
+ Cuando la sesión cierre, DELIVERY.md se gradúa a `docs/especificaciones/NNN-<slug>/DELIVERY.md` (kind=`especificacion`, modelo nuevo DEC-003). Sin distinción project/system en la carpeta destino — la distinción queda como `## Type` interno del documento. La carpeta destino conserva el nombre español `docs/especificaciones/` por compatibilidad con paths existentes en sesiones legacy.
87
+
88
+ Destino según workspace_mode (DEC-002):
89
+ - **hub mode** → `<hub>/docs/especificaciones/NNN-<slug>/DELIVERY.md`.
90
+ - **project mode** → `<cwd>/docs/especificaciones/NNN-<slug>/DELIVERY.md`.
91
+
92
+ ```
93
+ /agent-workflow:session --from design:<code> "<objetivo de implementación>"
94
+ ```
95
+
96
+ El OBJECTIVE de la sesión dev quedará con `## Origin` linkeado al `DELIVERY.md` y tag `origen:design-NNN` en HISTORY.md (shared-contract §10).
97
+
98
+ ## Composición con otras skills
99
+
100
+ | Skill | Cuándo |
101
+ |---|---|
102
+ | `design-develop` | si el feedback del usuario invalida la convergencia, retroceder |
103
+ | `frontend-design` | para validar que cada componente referenciado existe en patterns |
104
+
105
+ ## Sandbox read-only
106
+
107
+ Reglas universales en el canon (`sandbox-readonly-rules.md`). En plan mode esta skill describe en el plan file:
108
+
109
+ - **Path destino** del DELIVERY.md: `.workflow/sessions/<folder>/DELIVERY.md`.
110
+ - **Esqueleto propuesto**: secciones (Summary, Components, States, Tokens applied, Variants, Validation criteria, Hand-off a dev), longitud aproximada por sección.
111
+ - **Referencias del usuario**: lista de archivos en `<workspace-root>/docs/referencias/` (mockups, especificaciones de tokens, exportes que el usuario provea), con formato y propósito. Carpeta transversal — DEC-004 v2. **El AI no escribe ahí salvo solicitud explícita**.
112
+ - **Type declarado** en OBJECTIVE: `project` o `system` (legacy ES `proyecto`/`sistema` se normaliza). Metadato interno del documento. En cualquier caso gradúa a `docs/especificaciones/` (kind=`especificacion`). Si falta, plan dice "preguntar al usuario".
113
+
114
+ NO ejecuta: `Write` sobre DELIVERY.md ni `docs/referencias/`; `agent-workflow graduate --kind especificacion`.
115
+
116
+ ## Recursos
117
+
118
+ - skill `frontend-design` — patterns canónicos para referenciar.
119
+ - shared-contract §10 — handoff `--from design:<code>`.
120
+ - shared-contract §11 — convención `## Type` (afecta destino de graduación).
121
+ - shared-contract §14 — fase execution del lifecycle universal.
@@ -0,0 +1,115 @@
1
+ ---
2
+ name: design-develop
3
+ description: Convergencia en problem statement + divergencia en soluciones (variantes/mocks). Iteración con el usuario hasta tener una propuesta validada. Produce PROBLEM.md, IDEAS.md y opcionalmente mocks/wireframes en `docs/referencias/` (carpeta transversal manual del usuario, DEC-004 v2). Invocado en execution después de design-discover (o directo si el OBJECTIVE no requiere discovery).
4
+ version: 2.2.0
5
+ ---
6
+
7
+ # design-develop — qtc v2.1+
8
+
9
+ Specialty skill **design**: convergencia en problema + divergencia/iteración de soluciones. Núcleo creativo del flujo design.
10
+
11
+ ## Cuándo se invoca
12
+
13
+ - Composición desde `agent-workflow:session` en `execution` cuando hay OBJECTIVE + (DISCOVERY.md o sesión saltó discovery por trivialidad).
14
+ - NL del usuario: "vamos a diseñar opciones", "propone variantes", "cómo lo resolvemos", "boceto rápido".
15
+ - Recomendado por `design-discover` como siguiente paso.
16
+
17
+ ## Acción
18
+
19
+ Producir 2-3 artefactos en paralelo:
20
+
21
+ ### 1. PROBLEM.md — convergencia
22
+
23
+ Statement de problema en 1-3 oraciones. Foco en QUÉ se resuelve, no en CÓMO. (legacy: `PROBLEMA.md`)
24
+
25
+ ```markdown
26
+ # Problem — sessionNNN-design-<slug>
27
+
28
+ ## Statement
29
+ [1-3 oraciones: usuario X necesita Y porque Z].
30
+
31
+ ## Key constraints
32
+ - [restricciones técnicas, de UX, de tiempo, de tokens del design system]
33
+
34
+ ## Success metrics
35
+ - [cómo sabemos que la solución funciona]
36
+ ```
37
+
38
+ ### 2. IDEAS.md — divergencia
39
+
40
+ Lista de variantes con tradeoffs. **No** elegir todavía:
41
+
42
+ ```markdown
43
+ # Ideas — sessionNNN-design-<slug>
44
+
45
+ ## Variant A: <name>
46
+ - Descripción 1-2 oraciones.
47
+ - Pros: ...
48
+ - Cons: ...
49
+ - Mockup: docs/referencias/A-mockup.png (si el usuario lo aporta) o link Figma/Stitch
50
+
51
+ ## Variant B: <name>
52
+ - ...
53
+
54
+ ## Variant C: ...
55
+ - (3 variantes es típico; más sólo si justifica)
56
+
57
+ ## Initial recommendation
58
+ - [variante preferida y por qué; queda abierto a feedback del usuario]
59
+ ```
60
+
61
+ ### 3. `docs/referencias/` — mocks aportados por el usuario (DEC-004 v2)
62
+
63
+ - Wireframes/mocks bajos en fidelidad para iteración rápida.
64
+ - Storage:
65
+ - Local: `<workspace-root>/docs/referencias/A-*.png|svg|md` (el **usuario** los coloca; el AI los lee). Carpeta transversal — cualquier sesión accede a las mismas referencias sin re-subirlas.
66
+ - Externo (Figma/Stitch): URL en IDEAS.md, nada en `docs/referencias/`.
67
+ - **El AI no escribe en `docs/referencias/` salvo solicitud explícita** del usuario ("guardá este wireframe en referencias"). Si necesita generar un esqueleto ASCII, lo embebe directamente en IDEAS.md.
68
+ - Para `type=system`, las referencias pueden ser ejemplos de uso de tokens/componentes (no mockups de pantallas).
69
+
70
+ ## Loop de iteración
71
+
72
+ ```
73
+ [propuestas] → [feedback usuario] → [refinar] → [propuestas v2] → [...]
74
+
75
+ [convergencia]
76
+
77
+ [→ design-deliver]
78
+ ```
79
+
80
+ Cada iteración:
81
+ - Editar PROBLEM.md/IDEAS.md (no recrear).
82
+ - Si el usuario aporta nuevos mockups en `docs/referencias/`, leerlos y reflejarlos en IDEAS.md. El AI no toca `docs/referencias/` salvo pedido explícito.
83
+ - Confirmar con el usuario antes de la próxima iteración.
84
+
85
+ ## Reglas
86
+
87
+ - **3 variantes es óptimo**: si el espacio de soluciones es claro, 1-2 alcanza. Si el problema es muy abierto, hasta 4. Más es ruido.
88
+ - **No saltar a deliver sin convergencia explícita**: el usuario debe confirmar "OK, vamos con la variante X" antes de pasar a `design-deliver`.
89
+ - **Mocks de baja fidelidad primero**: alta fidelidad en `design-deliver`. Acá importa el flujo, no el pixel.
90
+ - **Spec-only**: NO escribir código de UI. Mocks como imágenes/wireframes/Figma URLs.
91
+ - **Frontend-design es referencia, no obligación**: para `type=system`, las decisiones de tokens/componentes ALIMENTAN `frontend-design` (no al revés).
92
+
93
+ ## Composición con otras skills
94
+
95
+ | Skill | Cuándo |
96
+ |---|---|
97
+ | `design-deliver` | siguiente paso una vez hay convergencia |
98
+ | `frontend-design` | consultar patterns existentes para validar consistencia |
99
+ | `design-discover` | si surge nueva pregunta que requiere investigación, retroceder |
100
+
101
+ ## Sandbox read-only
102
+
103
+ Reglas universales en el canon (`sandbox-readonly-rules.md`). En plan mode esta skill describe en el plan file:
104
+
105
+ - **Paths destino**: `.workflow/sessions/<folder>/PROBLEM.md`, `IDEAS.md`, opcional lectura de `<workspace-root>/docs/referencias/` (carpeta transversal manual del usuario, DEC-004 v2) con mocks/wireframes que el usuario aporte.
106
+ - **Problem statement** propuesto: 1-2 oraciones que capturan QUÉ resolver y POR QUÉ.
107
+ - **Variantes a explorar**: 2-4 enfoques distintos (estructura, layout, interacción) con pros/cons textuales — sin diseñar mocks aún.
108
+ - **Iteración prevista**: cuántas rondas con el usuario, qué validar en cada una.
109
+
110
+ NO ejecuta: `Write` sobre PROBLEM.md/IDEAS.md, generación de mocks en `docs/referencias/` (manual del usuario), ediciones a `docs/especificaciones/`.
111
+
112
+ ## Recursos
113
+
114
+ - skill `frontend-design` — patterns reutilizables (form/list/modal/navigation/feedback).
115
+ - shared-contract §14 — fase execution del lifecycle universal.
@@ -0,0 +1,103 @@
1
+ ---
2
+ name: design-discover
3
+ description: Fase de investigación divergente del diseño dentro del lifecycle universal. Investiga usuarios, flows existentes, código relacionado, design system actual y referencias externas. Produce DISCOVERY.md como artefacto lazy. Invocado desde execution cuando ya hay OBJECTIVE con Type capturado por design-brief y el usuario está listo para divergir antes de converger en problema/soluciones.
4
+ version: 1.2.0
5
+ ---
6
+
7
+ # design-discover — qtc v1.1+
8
+
9
+ Specialty skill **design**: investigación divergente. Primer paso de `execution` para sesiones design.
10
+
11
+ ## Cuándo se invoca
12
+
13
+ - Composición desde `agent-workflow:session` en `execution` cuando hay OBJECTIVE con `## Type` (legacy: `## Tipo`) y todavía no existe `DISCOVERY.md`.
14
+ - NL del usuario: "investigá el contexto", "qué hay del usuario X", "miremos cómo está hecho hoy".
15
+ - Recomendado por `design-brief` como siguiente paso natural.
16
+
17
+ ## Acción
18
+
19
+ Producir o iterar `.workflow/sessions/<folder>/DISCOVERY.md` con investigación divergente sobre 4 ejes:
20
+
21
+ ### 1. Usuarios
22
+
23
+ - Quién va a usar esto, en qué contexto, con qué frecuencia.
24
+ - Si hay personas/role-models existentes, referenciarlas.
25
+ - Si hay usuarios reales accesibles, considerar entrevistas (lo decide el usuario).
26
+
27
+ ### 2. Flows / proceso actual
28
+
29
+ - Cómo se hace HOY (si existe). Pasos, frustraciones, walking skeleton.
30
+ - Capturas de pantalla / refs al código existente si aplica.
31
+ - Para `type=project` → mirar pantallas existentes del módulo.
32
+ - Para `type=system` → mirar componentes/tokens existentes en `docs/especificaciones/` (kind=`especificacion`, modelo nuevo) o el design system instalado.
33
+
34
+ ### 3. Design system existente
35
+
36
+ - Qué tokens / componentes ya tenemos que aplican.
37
+ - Patterns establecidos (`skill frontend-design references/*-patterns.md`).
38
+ - Decisiones previas en `docs/especificaciones/NNN-*/DELIVERY.md` (kind=`especificacion`; legacy: `ENTREGA.md`).
39
+
40
+ ### 4. Referencias externas
41
+
42
+ - Productos parecidos (con screenshots/links si el usuario los provee).
43
+ - Buenas prácticas del dominio.
44
+ - Restricciones de accesibilidad / responsive / multi-idioma.
45
+
46
+ ## Estructura típica de DISCOVERY.md
47
+
48
+ ```markdown
49
+ # Discovery — sessionNNN-design-<slug>
50
+
51
+ ## Users
52
+
53
+ - ...
54
+
55
+ ## Current flow
56
+
57
+ - ...
58
+
59
+ ## Applicable design system
60
+
61
+ - Tokens: ...
62
+ - Components: ...
63
+ - Patterns: ...
64
+
65
+ ## External references
66
+
67
+ - ...
68
+
69
+ ## Key findings
70
+
71
+ - [1-3 hallazgos accionables que el siguiente paso (define+develop) usa]
72
+ ```
73
+
74
+ ## Reglas
75
+
76
+ - **Divergir ahora, converger después**: no proponer soluciones todavía — eso es `design-develop`.
77
+ - **Citar fuentes**: cada afirmación con un link/path a evidencia (código, screenshots, docs).
78
+ - **DISCOVERY.md es lazy**: si el OBJECTIVE es trivial (ej. cambio menor a un componente existente), saltar a `design-develop` directo.
79
+ - **No escribir código**: spec-only siempre.
80
+
81
+ ## Composición con otras skills
82
+
83
+ | Skill | Cuándo |
84
+ |---|---|
85
+ | `design-develop` | siguiente paso una vez DISCOVERY tiene hallazgos accionables |
86
+ | `frontend-design` | consultar patterns existentes para el inventario "design system aplicable" |
87
+ | `analyze-investigate` | si la investigación requiere análisis técnico profundo (latencia, datos), invocar acá |
88
+
89
+ ## Sandbox read-only
90
+
91
+ Reglas universales en el canon (`sandbox-readonly-rules.md`). En plan mode esta skill describe en el plan file:
92
+
93
+ - **Path destino**: `.workflow/sessions/<folder>/DISCOVERY.md`.
94
+ - **Fuentes a consultar**: pantallas existentes (paths o screenshots), flows del repo, design system actual (`docs/especificaciones/` con kind=`especificacion` y `## Type: system` interno), referencias externas (links). Material aportado por el usuario en `<workspace-root>/docs/referencias/` también se considera (carpeta transversal — DEC-004 v2).
95
+ - **Preguntas de investigación**: lista priorizada (qué hacen los usuarios hoy, qué duele, qué falta).
96
+ - **Esqueleto del DISCOVERY.md**: secciones (Contexto, Stakeholders, Estado actual, Pain points, Referencias, Preguntas abiertas).
97
+
98
+ NO ejecuta: `Read` sobre código fuente (sí permitido — read-only), `Write` sobre DISCOVERY.md.
99
+
100
+ ## Recursos
101
+
102
+ - skill `frontend-design` — patterns reutilizables.
103
+ - shared-contract §14 — fase execution del lifecycle universal.
@@ -0,0 +1,12 @@
1
+ # standards/
2
+
3
+ Estándares técnicos universales (no doctrina del lifecycle, no específicos de empresa).
4
+
5
+ Contenido esperado (T2 PR2):
6
+
7
+ - `coding-standards.md` — estándares por stack (Java/Spring, Angular/TS, Node) + seguridad (sin secrets, SQL parametrizado, logging por nivel).
8
+ - `sql-mutation-guard.md` — patrón del hook que aborta SQL no parametrizado / DDL fuera de scripts/.
9
+ - `i18n-conventions.md` — convención EN-canon + ES-legacy aliases bilingües.
10
+ - `commit-style.md` — formato de commit messages compatible con el ecosistema.
11
+
12
+ Inyectables vía `profile.migrate_legacy_rules[]` cuando una empresa tiene estilos heredados.