guild-agents 0.1.0 → 0.2.1

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 (33) hide show
  1. package/bin/guild.js +49 -6
  2. package/package.json +2 -3
  3. package/src/commands/__tests__/doctor.test.js +85 -0
  4. package/src/commands/__tests__/list.test.js +82 -0
  5. package/src/commands/__tests__/new-agent.test.js +40 -0
  6. package/src/commands/__tests__/status.test.js +35 -0
  7. package/src/commands/doctor.js +99 -0
  8. package/src/commands/init.js +5 -6
  9. package/src/commands/list.js +82 -0
  10. package/src/commands/new-agent.js +5 -10
  11. package/src/commands/status.js +1 -2
  12. package/src/templates/agents/advisor.md +2 -0
  13. package/src/templates/agents/bugfix.md +2 -0
  14. package/src/templates/agents/code-reviewer.md +2 -0
  15. package/src/templates/agents/db-migration.md +2 -0
  16. package/src/templates/agents/developer.md +2 -0
  17. package/src/templates/agents/platform-expert.md +89 -0
  18. package/src/templates/agents/product-owner.md +2 -0
  19. package/src/templates/agents/qa.md +2 -0
  20. package/src/templates/agents/tech-lead.md +2 -0
  21. package/src/templates/skills/build-feature/SKILL.md +114 -14
  22. package/src/templates/skills/council/SKILL.md +33 -1
  23. package/src/templates/skills/dev-flow/SKILL.md +15 -1
  24. package/src/templates/skills/guild-specialize/SKILL.md +44 -1
  25. package/src/templates/skills/new-feature/SKILL.md +29 -2
  26. package/src/templates/skills/qa-cycle/SKILL.md +40 -11
  27. package/src/templates/skills/review/SKILL.md +31 -3
  28. package/src/templates/skills/session-end/SKILL.md +31 -1
  29. package/src/templates/skills/session-start/SKILL.md +33 -3
  30. package/src/templates/skills/status/SKILL.md +20 -1
  31. package/src/utils/files.js +23 -2
  32. package/src/utils/generators.js +7 -0
  33. package/src/utils/github.js +32 -14
@@ -0,0 +1,89 @@
1
+ ---
2
+ name: platform-expert
3
+ description: "Diagnostica y resuelve problemas de integracion con Claude Code — permisos, subagentes, hooks, settings"
4
+ ---
5
+
6
+ # Platform Expert
7
+
8
+ Eres el Platform Expert de [PROYECTO]. Tu trabajo es diagnosticar y resolver problemas de integracion entre Guild y Claude Code, incluyendo permisos de herramientas, configuracion de subagentes, hooks, y settings.
9
+
10
+ ## Responsabilidades
11
+
12
+ - Diagnosticar problemas de permisos en subagentes (Bash denied, tool access, etc.)
13
+ - Configurar frontmatter de agentes para acceso correcto a herramientas
14
+ - Implementar PreToolUse hooks para workarounds de permisos
15
+ - Mantener compatibilidad con versiones de Claude Code
16
+ - Documentar limitaciones de la plataforma y workarounds conocidos
17
+
18
+ ## Conocimiento especializado
19
+
20
+ ### Subagent Permission Model
21
+
22
+ Claude Code subagents corren en modo `dontAsk` por defecto. No heredan permisos de `settings.json`. Para otorgar acceso a Bash:
23
+
24
+ 1. **Frontmatter `tools` field:** Declara herramientas disponibles explicitamente
25
+ 2. **Frontmatter `permissionMode`:** Controla nivel de permisos
26
+ 3. **PreToolUse hooks:** Workaround para auto-aprobar herramientas
27
+
28
+ ### Configuracion de agentes con Bash
29
+
30
+ ```yaml
31
+ ---
32
+ name: agent-name
33
+ description: "Description for delegation"
34
+ tools: Read, Write, Edit, Bash, Glob, Grep
35
+ permissionMode: bypassPermissions
36
+ ---
37
+ ```
38
+
39
+ ### Configuracion de agentes sin Bash (analisis)
40
+
41
+ ```yaml
42
+ ---
43
+ name: agent-name
44
+ description: "Description for delegation"
45
+ tools: Read, Glob, Grep
46
+ permissionMode: plan
47
+ ---
48
+ ```
49
+
50
+ ### PreToolUse Hook workaround
51
+
52
+ Si `permissionMode` no funciona, usar hooks:
53
+
54
+ ```yaml
55
+ hooks:
56
+ PreToolUse:
57
+ - matcher: "Bash"
58
+ hooks:
59
+ - type: command
60
+ command: "echo '{\"hookSpecificOutput\":{\"hookEventName\":\"PreToolUse\",\"permissionDecision\":\"allow\"}}'"
61
+ ```
62
+
63
+ ### Bugs conocidos de Claude Code
64
+
65
+ - Issue #18950: Subagentes no heredan permisos de settings.json (OPEN)
66
+ - Issue #14714: Subagentes no heredan tools del parent
67
+ - Issue #21585: subagent_type "Bash" fabrica output en vez de ejecutar
68
+
69
+ ## Lo que NO haces
70
+
71
+ - No implementas features de negocio — eso es del Developer
72
+ - No defines arquitectura de aplicacion — eso es del Tech Lead
73
+ - No evaluas estrategia — eso es del Advisor
74
+
75
+ ## Proceso
76
+
77
+ 1. Lee CLAUDE.md para entender la configuracion actual
78
+ 2. Identifica el problema de permisos/integracion
79
+ 3. Investiga la documentacion de Claude Code y issues conocidos
80
+ 4. Propone solucion con frontmatter, hooks, o settings
81
+ 5. Prueba la solucion con un subagente de test
82
+ 6. Documenta la solucion y workaround
83
+
84
+ ## Reglas de comportamiento
85
+
86
+ - Siempre verifica la version de Claude Code antes de diagnosticar
87
+ - Prioriza soluciones oficiales sobre workarounds
88
+ - Documenta TODOS los workarounds con referencia al issue de GitHub
89
+ - No asumas que un fix de platform funciona — siempre prueba
@@ -1,6 +1,8 @@
1
1
  ---
2
2
  name: product-owner
3
3
  description: "Convierte ideas aprobadas en tareas concretas e implementables"
4
+ tools: Read, Glob, Grep
5
+ permissionMode: plan
4
6
  ---
5
7
 
6
8
  # Product Owner
@@ -1,6 +1,8 @@
1
1
  ---
2
2
  name: qa
3
3
  description: "Testing, edge cases, regression"
4
+ tools: Read, Write, Edit, Bash, Glob, Grep
5
+ permissionMode: bypassPermissions
4
6
  ---
5
7
 
6
8
  # QA
@@ -1,6 +1,8 @@
1
1
  ---
2
2
  name: tech-lead
3
3
  description: "Define approach tecnico y arquitectura"
4
+ tools: Read, Glob, Grep
5
+ permissionMode: plan
4
6
  ---
5
7
 
6
8
  # Tech Lead
@@ -17,6 +17,22 @@ Pipeline completo para construir una feature de punta a punta con todos los agen
17
17
 
18
18
  `/build-feature [descripcion de la feature]`
19
19
 
20
+ ## Parallel Execution: Worktree Isolation
21
+
22
+ When multiple build-feature pipelines run in parallel, each MUST use its own git worktree to avoid branch conflicts:
23
+
24
+ ```bash
25
+ git worktree add .claude/worktrees/[branch-name] -b [branch-name] develop
26
+ ```
27
+
28
+ All file operations within the pipeline must use the worktree directory as the working directory. After the PR is merged, clean up with:
29
+
30
+ ```bash
31
+ git worktree remove .claude/worktrees/[branch-name]
32
+ ```
33
+
34
+ When running a single build-feature, a simple `git checkout -b` is sufficient.
35
+
20
36
  ## Pipeline de 6 fases
21
37
 
22
38
  ### Fase 1 — Evaluacion (Advisor)
@@ -24,6 +40,7 @@ Pipeline completo para construir una feature de punta a punta con todos los agen
24
40
  **Agente:** Lee `.claude/agents/advisor.md` via Task tool
25
41
  **Input:** La descripcion de la feature proporcionada por el usuario
26
42
  **Proceso:**
43
+
27
44
  1. El Advisor evalua la feature contra la vision del proyecto
28
45
  2. Identifica riesgos, dependencias y conflictos con funcionalidad existente
29
46
  3. Emite evaluacion: Aprobado / Rechazado / Requiere ajustes
@@ -36,6 +53,7 @@ Pipeline completo para construir una feature de punta a punta con todos los agen
36
53
  **Agente:** Lee `.claude/agents/product-owner.md` via Task tool
37
54
  **Input:** La feature aprobada por el Advisor + sus observaciones
38
55
  **Proceso:**
56
+
39
57
  1. El Product Owner descompone la feature en tareas concretas
40
58
  2. Define criterios de aceptacion verificables para cada tarea
41
59
  3. Estima esfuerzo y sugiere orden de implementacion
@@ -47,6 +65,7 @@ Pipeline completo para construir una feature de punta a punta con todos los agen
47
65
  **Agente:** Lee `.claude/agents/tech-lead.md` via Task tool
48
66
  **Input:** Tareas del Product Owner + criterios de aceptacion
49
67
  **Proceso:**
68
+
50
69
  1. El Tech Lead define el approach de implementacion
51
70
  2. Identifica archivos a modificar, patrones a seguir, interfaces
52
71
  3. Anticipa riesgos tecnicos y propone mitigaciones
@@ -58,6 +77,7 @@ Pipeline completo para construir una feature de punta a punta con todos los agen
58
77
  **Agente:** Lee `.claude/agents/developer.md` via Task tool
59
78
  **Input:** Plan tecnico del Tech Lead + criterios de aceptacion del PO
60
79
  **Proceso:**
80
+
61
81
  1. El Developer implementa siguiendo el plan tecnico
62
82
  2. Escribe tests unitarios como parte de la implementacion
63
83
  3. Hace commits atomicos con mensajes descriptivos
@@ -65,35 +85,76 @@ Pipeline completo para construir una feature de punta a punta con todos los agen
65
85
 
66
86
  **Output:** Codigo implementado + tests + commits realizados
67
87
 
88
+ ### Gate pre-Review (obligatorio)
89
+
90
+ Antes de avanzar a Fase 5, ejecutar verificacion automatizada:
91
+
92
+ 1. Ejecuta los comandos de test del proyecto (ej: `npm test`) — si falla, el Developer debe corregir antes de avanzar
93
+ 2. Ejecuta los comandos de lint del proyecto (ej: `npm run lint`) — si falla, el Developer debe corregir antes de avanzar
94
+ 3. Solo hacer checkpoint commit **despues** de que ambos pasen
95
+
96
+ Este gate NO se puede saltar, incluso si el usuario solicito skip de fases. Los comandos concretos estan en la seccion "Comandos CLI" de CLAUDE.md.
97
+
68
98
  ### Fase 5 — Review (Code Reviewer)
69
99
 
70
100
  **Agente:** Lee `.claude/agents/code-reviewer.md` via Task tool
71
101
  **Input:** Los cambios implementados (git diff)
72
102
  **Proceso:**
103
+
73
104
  1. El Code Reviewer revisa calidad, patrones, seguridad y tests
74
105
  2. Clasifica hallazgos como Blocker, Warning o Suggestion
75
106
 
76
107
  **Output:** Reporte de review con hallazgos clasificados
77
108
  **Condicion de loop:** Si hay hallazgos de tipo Blocker, vuelve a **Fase 4** para que el Developer los corrija. Maximo 2 iteraciones de review-fix.
78
109
 
79
- ### Fase 6 — QA
110
+ ### Fase 6 — QA (delega a /qa-cycle)
80
111
 
81
- **Agente:** Lee `.claude/agents/qa.md` via Task tool
82
- **Input:** Criterios de aceptacion del PO + codigo implementado
83
- **Proceso:**
84
- 1. QA ejecuta los tests y valida criterios de aceptacion
85
- 2. Prueba edge cases y escenarios de error
86
- 3. Si encuentra bugs, reporta con pasos de reproduccion
112
+ Ejecuta el skill `/qa-cycle` pasandole los criterios de aceptacion del PO como contexto. El qa-cycle se encarga de:
113
+
114
+ 1. Ejecutar tests y lint del proyecto
115
+ 2. Validar criterios de aceptacion
116
+ 3. Probar edge cases y escenarios de error
117
+ 4. Ciclo bugfix si hay problemas (maximo 3 ciclos)
118
+
119
+ **Condicion de loop adicional:** Si el bugfix del qa-cycle introduce cambios significativos, vuelve a **Fase 5** (Review) para verificar. Maximo 2 ciclos de review-QA.
120
+
121
+ ## Checkpoint Commits
122
+
123
+ After each phase completes, create a checkpoint commit to preserve progress. This ensures work survives session interruptions.
87
124
 
88
- **Output:** Reporte QA con resultado por cada criterio de aceptacion
89
- **Condicion de loop:** Si hay bugs:
90
- 1. Invoca agente Bugfix (lee `.claude/agents/bugfix.md` via Task tool) para corregir
91
- 2. Vuelve a **Fase 5** (Review) para verificar el fix
92
- 3. Maximo 2 ciclos de bugfix-review-QA
125
+ ```bash
126
+ git add -A
127
+ git commit -m "wip: [feature-name] phase N complete [phase-name]"
128
+ ```
129
+
130
+ Pattern for each phase:
131
+
132
+ - After Phase 1: `wip: [feature] phase 1 — advisor approved`
133
+ - After Phase 2: `wip: [feature] phase 2 — PO spec ready`
134
+ - After Phase 3: `wip: [feature] phase 3 — tech approach defined`
135
+ - After Phase 4: `wip: [feature] phase 4 — implementation done`
136
+ - After Phase 5: `wip: [feature] phase 5 — review passed`
137
+ - After Phase 6: `wip: [feature] phase 6 — QA passed`
138
+
139
+ Also update SESSION.md at each phase transition:
140
+
141
+ ```text
142
+ - [timestamp] | build-feature | Phase N ([phase-name]) complete for [feature]
143
+ ```
144
+
145
+ ## Gate final (obligatorio antes de Finalizacion)
146
+
147
+ Antes de declarar el pipeline como completado, ejecutar verificacion final:
148
+
149
+ 1. Ejecuta tests del proyecto — si falla, volver a Fase 6 (QA/Bugfix)
150
+ 2. Ejecuta lint del proyecto — si falla, volver a Fase 4 (Developer)
151
+ 3. Ambos deben pasar con exit code 0
152
+
153
+ Este gate es la ultima red de seguridad. NO se puede saltar bajo ninguna circunstancia.
93
154
 
94
155
  ## Finalizacion
95
156
 
96
- Al completar todas las fases exitosamente:
157
+ Al completar todas las fases y el gate final exitosamente:
97
158
 
98
159
  1. Presenta resumen del pipeline:
99
160
  - Feature implementada
@@ -107,8 +168,47 @@ Al completar todas las fases exitosamente:
107
168
  - Decisiones tomadas durante el pipeline
108
169
  - Proximos pasos si los hay
109
170
 
171
+ 3. Close the GitHub Issue (if applicable):
172
+ - Do NOT use `Closes #N` in PR description (only works when merging to default branch)
173
+ - After the PR is merged, run: `gh issue close N --comment "Resolved in PR #X"`
174
+
175
+ ## Subagent Configuration
176
+
177
+ When spawning agents via the Task tool, use these `subagent_type` values:
178
+
179
+ | Guild Agent Role | subagent_type to use |
180
+ | --- | --- |
181
+ | advisor, product-owner, tech-lead | `"general-purpose"` |
182
+ | developer, bugfix | `"general-purpose"` |
183
+ | code-reviewer, qa | `"general-purpose"` |
184
+
185
+ **IMPORTANT:** Guild agent role names (advisor, developer, etc.) are NOT valid Claude Code subagent_types. Always use `"general-purpose"` for agents that need full tool access (Read, Write, Edit, Bash, Grep, Glob, etc.). Never use `"Bash"` alone — it lacks file editing tools.
186
+
187
+ Example Task invocation:
188
+
189
+ ```text
190
+ Task tool with:
191
+ subagent_type: "general-purpose"
192
+ prompt: "Read .claude/agents/developer.md and assume that role. Then: [task description]"
193
+ ```
194
+
195
+ ## Example Session
196
+
197
+ ```text
198
+ User: /build-feature add dark mode toggle to settings page
199
+
200
+ Phase 1 — Advisor: Approved. Low risk, aligns with UX roadmap.
201
+ Phase 2 — PO: 3 tasks defined with acceptance criteria.
202
+ Phase 3 — Tech Lead: Use CSS variables + context provider pattern.
203
+ Phase 4 — Developer: Implemented ThemeContext, toggle component, CSS vars.
204
+ Phase 5 — Review: Passed. 1 suggestion (memoize context value).
205
+ Phase 6 — QA: All 3 acceptance criteria verified. 0 bugs.
206
+
207
+ Feature complete. PR ready for merge.
208
+ ```
209
+
110
210
  ## Notas
111
211
 
112
- - Si el usuario quiere saltar fases (ej: "ya la evaluo, implementa directo"), permite saltar a Fase 4 pero advierte que se pierde validacion
212
+ - Si el usuario quiere saltar fases (ej: "ya la evaluo, implementa directo"), permite saltar a Fase 4 pero advierte que se pierde validacion. Los gates de verificacion (pre-Review y final) NUNCA se saltan
113
213
  - El pipeline es secuencial: cada fase depende del output de la anterior
114
214
  - Los loops de review/QA tienen limite para evitar ciclos infinitos
@@ -31,6 +31,7 @@ Opcionalmente puedes especificar el tipo: `/council architecture [pregunta]`
31
31
  **Cuando aplica:** Decisiones sobre arquitectura, patrones, refactors grandes, tecnologias nuevas
32
32
 
33
33
  Invoca los 3 agentes EN PARALELO usando Task tool:
34
+
34
35
  - Task 1: Lee `.claude/agents/tech-lead.md` — perspectiva de arquitectura y coherencia tecnica
35
36
  - Task 2: Lee `.claude/agents/advisor.md` — perspectiva de viabilidad y riesgos de negocio
36
37
  - Task 3: Lee `.claude/agents/developer.md` — perspectiva de implementabilidad y pragmatismo
@@ -41,6 +42,7 @@ Invoca los 3 agentes EN PARALELO usando Task tool:
41
42
  **Cuando aplica:** Definir alcance de features, priorizar funcionalidades, evaluar propuestas de producto
42
43
 
43
44
  Invoca los 3 agentes EN PARALELO usando Task tool:
45
+
44
46
  - Task 1: Lee `.claude/agents/advisor.md` — perspectiva de dominio y vision estrategica
45
47
  - Task 2: Lee `.claude/agents/product-owner.md` — perspectiva de valor para el usuario y scope
46
48
  - Task 3: Lee `.claude/agents/tech-lead.md` — perspectiva de viabilidad tecnica y esfuerzo
@@ -51,6 +53,7 @@ Invoca los 3 agentes EN PARALELO usando Task tool:
51
53
  **Cuando aplica:** Decidir si abordar deuda tecnica, planificar refactors, evaluar calidad del codebase
52
54
 
53
55
  Invoca los 3 agentes EN PARALELO usando Task tool:
56
+
54
57
  - Task 1: Lee `.claude/agents/tech-lead.md` — perspectiva de impacto arquitectonico
55
58
  - Task 2: Lee `.claude/agents/developer.md` — perspectiva de costo de implementacion
56
59
  - Task 3: Lee `.claude/agents/code-reviewer.md` — perspectiva de calidad y riesgos
@@ -60,6 +63,7 @@ Invoca los 3 agentes EN PARALELO usando Task tool:
60
63
  ### Paso 1 — Identificar tipo de consejo
61
64
 
62
65
  Analiza la pregunta del usuario y determina que tipo de consejo aplica:
66
+
63
67
  - Si menciona arquitectura, patrones, tecnologias → **architecture**
64
68
  - Si menciona features, prioridades, scope, usuarios → **feature-scope**
65
69
  - Si menciona deuda tecnica, refactor, calidad, mantenibilidad → **tech-debt**
@@ -68,6 +72,7 @@ Analiza la pregunta del usuario y determina que tipo de consejo aplica:
68
72
  ### Paso 2 — Convocar agentes
69
73
 
70
74
  Invoca los 3 agentes correspondientes EN PARALELO usando Task tool. Cada agente:
75
+
71
76
  1. Lee su archivo `.claude/agents/[nombre].md` para asumir su rol
72
77
  2. Lee `CLAUDE.md` y `SESSION.md` para contexto del proyecto
73
78
  3. Analiza la pregunta desde su perspectiva especializada
@@ -77,7 +82,7 @@ Invoca los 3 agentes correspondientes EN PARALELO usando Task tool. Cada agente:
77
82
 
78
83
  Presenta las perspectivas de los 3 agentes de forma estructurada:
79
84
 
80
- ```
85
+ ```text
81
86
  ## Council: [tipo]
82
87
  Pregunta: [la pregunta del usuario]
83
88
 
@@ -99,12 +104,39 @@ Pregunta: [la pregunta del usuario]
99
104
  ### Paso 4 — Solicitar decision
100
105
 
101
106
  Presenta opciones claras al usuario basadas en el debate:
107
+
102
108
  - Opcion A: [resumen de una posicion]
103
109
  - Opcion B: [resumen de otra posicion]
104
110
  - Opcion C: [compromiso o alternativa]
105
111
 
106
112
  Pide al usuario que decida. Si el usuario decide, documenta la decision en SESSION.md.
107
113
 
114
+ ## Subagent Configuration
115
+
116
+ When spawning council agents via the Task tool, always use `subagent_type: "general-purpose"`. Guild agent role names (advisor, developer, tech-lead, etc.) are NOT valid Claude Code subagent_types.
117
+
118
+ Example:
119
+
120
+ ```text
121
+ Task tool with:
122
+ subagent_type: "general-purpose"
123
+ prompt: "Read .claude/agents/tech-lead.md and assume that role. Then: [debate question]"
124
+ ```
125
+
126
+ ## Example Session
127
+
128
+ ```text
129
+ User: /council Should we migrate from REST to GraphQL?
130
+
131
+ Council: Architecture
132
+
133
+ Tech Lead — Recommends GraphQL for complex queries, keep REST for simple CRUD.
134
+ Advisor — Risk is high mid-project. Suggests incremental adoption.
135
+ Developer — Prefers REST simplicity. GraphQL adds tooling overhead.
136
+
137
+ Consensus: Incremental adoption. New endpoints in GraphQL, existing stay REST.
138
+ ```
139
+
108
140
  ## Notas
109
141
 
110
142
  - Los agentes deben ser invocados en paralelo para evitar que uno influencie al otro
@@ -23,6 +23,7 @@ Muestra la fase actual del pipeline de desarrollo y sugiere el siguiente paso. U
23
23
  ### Paso 1 — Leer estado
24
24
 
25
25
  Lee `SESSION.md` para determinar:
26
+
26
27
  - Si hay una feature en curso
27
28
  - En que fase del pipeline se encuentra
28
29
  - Que se completo y que falta
@@ -30,6 +31,7 @@ Lee `SESSION.md` para determinar:
30
31
  ### Paso 2 — Determinar fase actual
31
32
 
32
33
  Las fases del pipeline son:
34
+
33
35
  1. **Evaluacion** (Advisor) — go/no-go
34
36
  2. **Especificacion** (Product Owner) — criterios de aceptacion
35
37
  3. **Approach tecnico** (Tech Lead) — plan de implementacion
@@ -39,7 +41,7 @@ Las fases del pipeline son:
39
41
 
40
42
  ### Paso 3 — Presentar estado del flujo
41
43
 
42
- ```
44
+ ```text
43
45
  Dev Flow — [nombre de la feature]
44
46
 
45
47
  [x] Fase 1 — Evaluacion (completada)
@@ -53,3 +55,15 @@ Siguiente paso: Ejecuta /build-feature para continuar desde la Fase 3.
53
55
  ```
54
56
 
55
57
  Si no hay feature en curso, informa que no hay pipeline activo y sugiere `/new-feature` o `/build-feature`.
58
+
59
+ ## Example Session
60
+
61
+ ```text
62
+ User: /dev-flow
63
+
64
+ Current pipeline: build-feature "add user preferences"
65
+ Phase: 4 of 6 — Implementation
66
+ Developer agent active.
67
+
68
+ Next: Phase 5 — Code Review
69
+ ```
@@ -31,6 +31,7 @@ Lee los archivos de configuracion de Guild:
31
31
  Investiga la estructura real del proyecto buscando:
32
32
 
33
33
  **Dependencias y versiones:**
34
+
34
35
  - `package.json` (Node.js/frontend)
35
36
  - `pom.xml` o `build.gradle` (Java)
36
37
  - `requirements.txt` o `pyproject.toml` (Python)
@@ -39,22 +40,26 @@ Investiga la estructura real del proyecto buscando:
39
40
  - `Cargo.toml` (Rust)
40
41
 
41
42
  **Arquitectura y estructura:**
43
+
42
44
  - Carpetas `src/`, `app/`, `lib/`, `pkg/`, `internal/`
43
45
  - Patron de organizacion: por capas, por features, por dominio
44
46
  - Entry points del proyecto
45
47
 
46
48
  **Configuracion y convenciones:**
49
+
47
50
  - `tsconfig.json`, `eslint.config.*`, `.prettierrc`
48
51
  - `.env.example`, `.env.local` (variables de entorno — NO leer `.env` real)
49
52
  - `Dockerfile`, `docker-compose.yml`
50
53
  - CI/CD: `.github/workflows/`, `.gitlab-ci.yml`
51
54
 
52
55
  **Base de datos y migraciones:**
56
+
53
57
  - Carpeta `migrations/`, `db/`, `prisma/`, `drizzle/`
54
58
  - ORM o query builder configurado
55
59
  - Schema existente
56
60
 
57
61
  **Documentacion existente:**
62
+
58
63
  - `README.md` — vision general del proyecto
59
64
  - Documentacion interna en `docs/`
60
65
 
@@ -89,7 +94,7 @@ Usa el tool `Task` para invocar cada agente leyendo su `.claude/agents/[nombre].
89
94
 
90
95
  Presenta un resumen de lo detectado:
91
96
 
92
- ```
97
+ ```text
93
98
  Guild v1 especializado para [nombre-proyecto]
94
99
 
95
100
  Stack detectado:
@@ -105,9 +110,47 @@ Agentes actualizados:
105
110
  Ejecuta /status para ver el estado completo.
106
111
  ```
107
112
 
113
+ ### Paso 6 — Commit enrichment immediately
114
+
115
+ **CRITICAL:** After enriching CLAUDE.md and agent files, commit the changes immediately as their own atomic commit. Do NOT leave them as unstaged changes — they are vulnerable to `git stash` and other operations.
116
+
117
+ ```bash
118
+ git add CLAUDE.md .claude/agents/*.md
119
+ git commit -m "chore: enrich CLAUDE.md and agents via guild-specialize"
120
+ ```
121
+
122
+ This ensures enrichment survives any subsequent git operations (stash, checkout, rebase).
123
+
124
+ ## Example Session
125
+
126
+ ```text
127
+ User: /guild-specialize
128
+
129
+ Guild Specialize analyzing project...
130
+
131
+ Stack detected:
132
+ - Node.js 20.11.0, TypeScript 5.3.3
133
+ - React 18.2.0, Next.js 14.1.0
134
+ - PostgreSQL via Prisma 5.9.0
135
+
136
+ Architecture:
137
+ - Next.js App Router (src/app/)
138
+ - API routes in src/app/api/
139
+ - Shared components in src/components/
140
+
141
+ Agents updated:
142
+ - developer.md: Specialized for Next.js + TypeScript
143
+ - qa.md: Configured for Vitest + Playwright
144
+ - db-migration.md: Configured for Prisma
145
+
146
+ Run /status to see the full state.
147
+ ```
148
+
108
149
  ## Notas importantes
109
150
 
110
151
  - NUNCA leas archivos `.env` reales — solo `.env.example` o `.env.local`
111
152
  - Si no puedes detectar algo con certeza, pregunta al usuario en vez de asumir
112
153
  - Prioriza precision sobre completitud — es mejor decir "no detectado" que inventar
113
154
  - Los agentes deben quedar especializados al stack real, no generico
155
+ - NEVER use `git stash` in automated pipelines — use `wip:` commits instead
156
+ - CLAUDE.md changes must always be committed separately from feature code
@@ -22,12 +22,23 @@ Prepara el entorno para trabajar en una nueva feature: crea branch, actualiza SE
22
22
  ### Paso 1 — Obtener nombre
23
23
 
24
24
  Si el usuario no proporciono nombre, preguntale:
25
+
25
26
  - Nombre corto para la feature (se usara en el nombre del branch)
26
27
  - Descripcion breve (1-2 oraciones)
27
28
 
28
- ### Paso 2 — Crear branch
29
+ ### Paso 2 — Crear branch con worktree isolation
30
+
31
+ When running in parallel with other agents, use git worktrees for isolation. When running standalone, a simple branch is sufficient.
32
+
33
+ **For parallel execution (multiple build-features at once):**
34
+
35
+ ```bash
36
+ git worktree add .claude/worktrees/feature-[nombre] -b feature/[nombre-de-la-feature] develop
37
+ ```
29
38
 
30
- Crea un branch git para la feature:
39
+ All subsequent operations should use `.claude/worktrees/feature-[nombre]` as the working directory.
40
+
41
+ **For standalone execution:**
31
42
 
32
43
  ```bash
33
44
  git checkout -b feature/[nombre-de-la-feature]
@@ -35,6 +46,8 @@ git checkout -b feature/[nombre-de-la-feature]
35
46
 
36
47
  Si el branch ya existe, pregunta si quiere cambiarse a el o crear uno nuevo.
37
48
 
49
+ **Cleanup:** At skill exit, if using worktrees, the caller is responsible for cleanup via `git worktree remove .claude/worktrees/feature-[nombre]` after the PR is merged.
50
+
38
51
  ### Paso 3 — Actualizar SESSION.md
39
52
 
40
53
  Actualiza SESSION.md con el contexto de la nueva feature:
@@ -43,9 +56,22 @@ Actualiza SESSION.md con el contexto de la nueva feature:
43
56
  - **Tarea en curso:** nombre de la feature
44
57
  - **Estado:** Feature iniciada — pendiente de implementacion
45
58
 
59
+ ## Example Session
60
+
61
+ ```text
62
+ User: /new-feature user-preferences
63
+
64
+ Branch created: feature/user-preferences
65
+ SESSION.md updated with feature context.
66
+ GitHub Issue #42 created.
67
+
68
+ Next: Run /build-feature to implement.
69
+ ```
70
+
46
71
  ### Paso 4 — GitHub Issue (opcional)
47
72
 
48
73
  Si el proyecto tiene integracion GitHub configurada en PROJECT.md:
74
+
49
75
  1. Pregunta si quiere crear un GitHub Issue para la feature
50
76
  2. Si acepta, crea el issue con `gh issue create`
51
77
  3. Registra la URL del issue en SESSION.md
@@ -53,6 +79,7 @@ Si el proyecto tiene integracion GitHub configurada en PROJECT.md:
53
79
  ### Paso 5 — Confirmar
54
80
 
55
81
  Confirma al usuario:
82
+
56
83
  - Branch creado: `feature/[nombre]`
57
84
  - SESSION.md actualizado
58
85
  - GitHub Issue creado (si aplica)
@@ -20,35 +20,64 @@ Ejecuta un ciclo de validacion QA seguido de bugfix hasta que todos los criterio
20
20
 
21
21
  ## Proceso
22
22
 
23
- ### Paso 1 — Validacion QA
23
+ ### Paso 1 — Verificacion automatizada (obligatorio)
24
+
25
+ Antes de invocar al agente QA, ejecutar los comandos de verificacion del proyecto. Los comandos concretos estan en la seccion "Comandos CLI" de CLAUDE.md:
26
+
27
+ 1. Ejecuta tests del proyecto (ej: `npm test`) — registra resultado y output
28
+ 2. Ejecuta lint del proyecto (ej: `npm run lint`) — registra resultado y output
29
+ 3. Si alguno falla, esto se convierte en input para el reporte QA como bug automatico de tipo Blocker
30
+
31
+ ### Paso 2 — Validacion QA
24
32
 
25
33
  Invoca el agente QA usando Task tool:
34
+
26
35
  1. Lee `.claude/agents/qa.md` para asumir el rol de QA
27
36
  2. Lee CLAUDE.md y SESSION.md para contexto
28
- 3. Revisa los criterios de aceptacion de la tarea en curso (si existen en SESSION.md)
29
- 4. Ejecuta los tests del proyecto
30
- 5. Valida edge cases y escenarios de error
31
- 6. Reporta resultados
37
+ 3. Recibe los resultados de tests y lint del Paso 1
38
+ 4. Si tests o lint fallaron, incluirlos como bugs Blocker en el reporte
39
+ 5. Revisa los criterios de aceptacion de la tarea en curso (si existen en SESSION.md)
40
+ 6. Valida edge cases y escenarios de error
41
+ 7. Reporta resultados
42
+
43
+ ### Paso 3 — Bugfix (si hay bugs)
32
44
 
33
- ### Paso 2 Bugfix (si hay bugs)
45
+ Si QA reporta bugs (incluyendo fallos de tests/lint), invoca el agente Bugfix usando Task tool:
34
46
 
35
- Si QA reporta bugs, invoca el agente Bugfix usando Task tool:
36
47
  1. Lee `.claude/agents/bugfix.md` para asumir el rol de Bugfix
37
48
  2. Recibe el reporte de bugs de QA como input
38
49
  3. Diagnostica la causa raiz de cada bug
39
50
  4. Implementa la correccion minima
40
51
  5. Verifica que el fix resuelve el problema
52
+ 6. Ejecuta tests y lint para confirmar que no introdujo regresiones
41
53
 
42
- ### Paso 3 — Re-validacion
54
+ ### Paso 4 — Re-validacion
43
55
 
44
- Vuelve al Paso 1 para re-validar despues del bugfix.
45
- Maximo 3 ciclos de QA-bugfix para evitar loops infinitos.
56
+ Vuelve al Paso 1 (verificacion automatizada) para re-validar despues del bugfix.
57
+ Maximo 3 ciclos de verificacion-QA-bugfix para evitar loops infinitos.
46
58
 
47
- ### Paso 4 — Resultado final
59
+ ### Paso 5 — Resultado final
48
60
 
49
61
  Presenta el resultado:
62
+
50
63
  - **Aprobado**: Todos los criterios pasan, no hay bugs pendientes
51
64
  - **Con advertencias**: Pasa pero hay warnings menores
52
65
  - **Rechazado**: Hay bugs criticos que no se pudieron resolver — escalar al Tech Lead
53
66
 
54
67
  Actualiza SESSION.md con el resultado del ciclo QA.
68
+
69
+ ## Example Session
70
+
71
+ ```text
72
+ User: /qa-cycle
73
+
74
+ QA Cycle 1: 2 of 5 criteria pass. Bug: form validation missing on email field.
75
+ Bugfix: Added email regex validation to UserForm component.
76
+ QA Cycle 2: 5 of 5 criteria pass. 0 bugs.
77
+
78
+ Result: Approved.
79
+ ```
80
+
81
+ ## Subagent Configuration
82
+
83
+ When spawning QA or Bugfix agents via the Task tool, always use `subagent_type: "general-purpose"`. Guild agent role names are NOT valid Claude Code subagent_types.