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.
- package/bin/guild.js +49 -6
- package/package.json +2 -3
- package/src/commands/__tests__/doctor.test.js +85 -0
- package/src/commands/__tests__/list.test.js +82 -0
- package/src/commands/__tests__/new-agent.test.js +40 -0
- package/src/commands/__tests__/status.test.js +35 -0
- package/src/commands/doctor.js +99 -0
- package/src/commands/init.js +5 -6
- package/src/commands/list.js +82 -0
- package/src/commands/new-agent.js +5 -10
- package/src/commands/status.js +1 -2
- package/src/templates/agents/advisor.md +2 -0
- package/src/templates/agents/bugfix.md +2 -0
- package/src/templates/agents/code-reviewer.md +2 -0
- package/src/templates/agents/db-migration.md +2 -0
- package/src/templates/agents/developer.md +2 -0
- package/src/templates/agents/platform-expert.md +89 -0
- package/src/templates/agents/product-owner.md +2 -0
- package/src/templates/agents/qa.md +2 -0
- package/src/templates/agents/tech-lead.md +2 -0
- package/src/templates/skills/build-feature/SKILL.md +114 -14
- package/src/templates/skills/council/SKILL.md +33 -1
- package/src/templates/skills/dev-flow/SKILL.md +15 -1
- package/src/templates/skills/guild-specialize/SKILL.md +44 -1
- package/src/templates/skills/new-feature/SKILL.md +29 -2
- package/src/templates/skills/qa-cycle/SKILL.md +40 -11
- package/src/templates/skills/review/SKILL.md +31 -3
- package/src/templates/skills/session-end/SKILL.md +31 -1
- package/src/templates/skills/session-start/SKILL.md +33 -3
- package/src/templates/skills/status/SKILL.md +20 -1
- package/src/utils/files.js +23 -2
- package/src/utils/generators.js +7 -0
- 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
|
|
@@ -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
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
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
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
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
|
-
|
|
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 —
|
|
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.
|
|
29
|
-
4.
|
|
30
|
-
5.
|
|
31
|
-
6.
|
|
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
|
-
|
|
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
|
|
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
|
|
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.
|