guild-agents 1.4.0 → 2.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 (58) hide show
  1. package/README.md +69 -68
  2. package/bin/guild.js +4 -85
  3. package/package.json +2 -2
  4. package/src/commands/doctor.js +11 -33
  5. package/src/commands/init.js +1 -1
  6. package/src/templates/agents/advisor.md +0 -1
  7. package/src/templates/agents/developer.md +2 -2
  8. package/src/templates/agents/qa.md +1 -1
  9. package/src/templates/agents/tech-lead.md +2 -2
  10. package/src/templates/skills/build-feature/SKILL.md +59 -117
  11. package/src/templates/skills/build-feature/evals/evals.json +3 -4
  12. package/src/templates/skills/council/SKILL.md +6 -16
  13. package/src/templates/skills/council/evals/evals.json +3 -13
  14. package/src/templates/skills/create-pr/SKILL.md +2 -5
  15. package/src/templates/skills/guild-specialize/SKILL.md +2 -9
  16. package/src/templates/skills/qa-cycle/SKILL.md +0 -7
  17. package/src/templates/skills/re-specialize/SKILL.md +0 -3
  18. package/src/templates/skills/session-end/SKILL.md +77 -30
  19. package/src/templates/skills/session-start/SKILL.md +51 -20
  20. package/src/utils/eval-runner.js +2 -8
  21. package/src/utils/generators.js +3 -4
  22. package/src/utils/skill-parser.js +83 -0
  23. package/src/utils/trigger-runner.js +1 -1
  24. package/src/commands/logs.js +0 -63
  25. package/src/commands/reset-learnings.js +0 -44
  26. package/src/commands/run.js +0 -105
  27. package/src/commands/stats.js +0 -147
  28. package/src/templates/agents/db-migration.md +0 -51
  29. package/src/templates/agents/learnings-extractor.md +0 -49
  30. package/src/templates/agents/platform-expert.md +0 -92
  31. package/src/templates/agents/product-owner.md +0 -52
  32. package/src/templates/skills/dev-flow/SKILL.md +0 -83
  33. package/src/templates/skills/dev-flow/evals/evals.json +0 -36
  34. package/src/templates/skills/dev-flow/evals/triggers.json +0 -16
  35. package/src/templates/skills/new-feature/SKILL.md +0 -119
  36. package/src/templates/skills/new-feature/evals/evals.json +0 -41
  37. package/src/templates/skills/new-feature/evals/triggers.json +0 -16
  38. package/src/templates/skills/review/SKILL.md +0 -97
  39. package/src/templates/skills/review/evals/evals.json +0 -43
  40. package/src/templates/skills/review/evals/triggers.json +0 -16
  41. package/src/templates/skills/status/SKILL.md +0 -100
  42. package/src/templates/skills/status/evals/evals.json +0 -40
  43. package/src/templates/skills/status/evals/triggers.json +0 -16
  44. package/src/templates/skills/verify/SKILL.md +0 -114
  45. package/src/templates/skills/verify/evals/triggers.json +0 -16
  46. package/src/utils/accounting.js +0 -139
  47. package/src/utils/dispatch-protocol.js +0 -74
  48. package/src/utils/dispatch.js +0 -172
  49. package/src/utils/executor.js +0 -183
  50. package/src/utils/learnings-io.js +0 -76
  51. package/src/utils/learnings.js +0 -204
  52. package/src/utils/orchestrator-io.js +0 -356
  53. package/src/utils/orchestrator.js +0 -590
  54. package/src/utils/pricing.js +0 -28
  55. package/src/utils/providers/claude-code.js +0 -43
  56. package/src/utils/skill-loader.js +0 -83
  57. package/src/utils/trace.js +0 -400
  58. package/src/utils/workflow-parser.js +0 -225
@@ -11,19 +11,11 @@ workflow:
11
11
  requires: [feature-description]
12
12
  produces: [evaluation-report, verdict]
13
13
  model-tier: reasoning
14
- on-failure: abort
15
- - id: specify
16
- role: product-owner
17
- intent: "Break the feature into concrete tasks with verifiable acceptance criteria. Estimate effort and suggest implementation order."
18
- requires: [feature-description, evaluation-report]
19
- produces: [task-list, acceptance-criteria]
20
- model-tier: reasoning
21
- condition: step.evaluate.verdict != rejected
22
14
  - id: design
23
15
  role: tech-lead
24
- intent: "Define implementation approach: files to modify, patterns to follow, interfaces, and technical risks."
25
- requires: [task-list, acceptance-criteria]
26
- produces: [technical-plan]
16
+ intent: "Break the feature into concrete tasks with acceptance criteria. Define implementation approach: files to modify, patterns to follow, interfaces, and technical risks."
17
+ requires: [feature-description, evaluation-report]
18
+ produces: [task-list, acceptance-criteria, technical-plan]
27
19
  model-tier: reasoning
28
20
  - id: implement
29
21
  role: developer
@@ -34,13 +26,11 @@ workflow:
34
26
  - id: gate-pre-review
35
27
  role: system
36
28
  intent: "Run project tests and lint. Both must pass before review."
37
- commands: [npm test, npm run lint]
38
29
  gate: true
39
30
  produces: [gate-pre-review-result]
40
- on-failure: goto:implement
41
- - id: checkpoint-phase4
31
+ - id: checkpoint
42
32
  role: system
43
- intent: "Create checkpoint commit and write partial pipeline trace (phases 1-4) to spec file."
33
+ intent: "Create checkpoint commit and write partial pipeline trace to spec file."
44
34
  requires: [implementation, gate-pre-review-result]
45
35
  produces: [checkpoint-commit]
46
36
  gate: true
@@ -50,56 +40,29 @@ workflow:
50
40
  requires: [implementation, gate-pre-review-result]
51
41
  produces: [review-report]
52
42
  model-tier: reasoning
53
- retry:
54
- max: 2
55
- on: has-blockers
56
43
  - id: fix-review-blockers
57
44
  role: developer
58
45
  intent: "Fix blocker findings from code review. Run tests after fixing."
59
46
  requires: [review-report]
60
47
  produces: [implementation]
61
48
  model-tier: execution
62
- condition: step.review.has-blockers
63
- on-failure: goto:review
64
49
  - id: qa-phase
65
- role: system
66
- intent: "Run QA validation with bugfix cycles."
67
- delegates-to: qa-cycle
50
+ role: qa
51
+ intent: "Validate acceptance criteria, test edge cases, run bugfix cycles if needed."
68
52
  requires: [acceptance-criteria, implementation]
69
53
  produces: [qa-report]
70
- retry:
71
- max: 2
72
- on: has-bugs
73
- - id: post-qa-review
74
- role: code-reviewer
75
- intent: "Review changes introduced during QA bugfix cycles."
76
- requires: [qa-report, implementation]
77
- produces: [post-qa-review-report]
78
- model-tier: reasoning
79
- condition: step.qa-phase.had-significant-changes
80
- retry:
81
- max: 2
82
- on: has-blockers
54
+ model-tier: execution
83
55
  - id: gate-final
84
56
  role: system
85
57
  intent: "Run project tests and lint as final verification. Both must pass."
86
- commands: [npm test, npm run lint]
87
58
  gate: true
88
59
  produces: [final-gate-result]
89
- on-failure: goto:qa-phase
90
60
  - id: completion
91
61
  role: system
92
- intent: "Write complete pipeline trace to spec file. Update SESSION.md. Present summary to user."
62
+ intent: "Update SESSION.md. Present summary to user."
93
63
  requires: [final-gate-result, review-report, qa-report]
94
- produces: [pipeline-trace, session-update]
64
+ produces: [session-update]
95
65
  gate: true
96
- - id: extract-learnings
97
- role: learnings-extractor
98
- intent: "Extract compound learnings from this pipeline execution."
99
- requires: [pipeline-trace]
100
- produces: [updated-learnings]
101
- model-tier: routine
102
- blocking: false
103
66
  ---
104
67
 
105
68
  # Build Feature
@@ -131,19 +94,18 @@ git worktree remove .claude/worktrees/[branch-name]
131
94
 
132
95
  When running a single build-feature, a simple `git checkout -b` is sufficient.
133
96
 
134
- ## 6-Phase Pipeline
97
+ ## 5-Phase Pipeline
135
98
 
136
99
  ### Progress Display
137
100
 
138
101
  At the start of each phase, display a progress indicator to the user before any agent output:
139
102
 
140
103
  ```text
141
- [1/6] Advisor (opus) — Evaluating feature...
142
- [2/6] Product Owner (opus) — Defining spec...
143
- [3/6] Tech Lead (opus) — Defining technical approach...
144
- [4/6] Developer (sonnet) — Implementing...
145
- [5/6] Code Reviewer (opus) — Reviewing changes...
146
- [6/6] QA (sonnet) — Validating acceptance criteria...
104
+ [1/5] Advisor (opus) — Evaluating feature...
105
+ [2/5] Tech Lead (opus) — Defining spec and technical approach...
106
+ [3/5] Developer (sonnet) — Implementing...
107
+ [4/5] Code Reviewer (opus) — Reviewing changes...
108
+ [5/5] QA (sonnet) — Validating acceptance criteria...
147
109
  ```
148
110
 
149
111
  Model names are resolved from the step's `model-tier` using the `max` profile: reasoning=opus, execution=sonnet, routine=haiku. System/gate steps do not show a model name.
@@ -151,15 +113,15 @@ Model names are resolved from the step's `model-tier` using the `max` profile: r
151
113
  When a phase loops (review-fix or QA-review cycles), show the iteration:
152
114
 
153
115
  ```text
154
- [5/6 · round 2] Code Reviewer (opus) — Re-reviewing after fixes...
155
- [4/6 · round 2] Developer (sonnet) — Fixing review blockers...
116
+ [4/5 · round 2] Code Reviewer (opus) — Re-reviewing after fixes...
117
+ [3/5 · round 2] Developer (sonnet) — Fixing review blockers...
156
118
  ```
157
119
 
158
120
  This indicator MUST be displayed before spawning the agent for that phase.
159
121
 
160
122
  ### Phase 1 — Evaluation (Advisor)
161
123
 
162
- **Progress:** `[1/6] Advisor (opus) — Evaluating feature...`
124
+ **Progress:** `[1/5] Advisor (opus) — Evaluating feature...`
163
125
  **Agent:** Reads `.claude/agents/advisor.md` via Task tool with `model: "opus"`
164
126
  **Input:** The feature description provided by the user
165
127
  **Process:**
@@ -172,39 +134,26 @@ This indicator MUST be displayed before spawning the agent for that phase.
172
134
  **Trace data:** Verdict (Approved/Rejected/Approved with conditions), risks identified, conditions if any
173
135
  **Exit condition:** If the Advisor rejects the feature, the pipeline stops here. Inform the user of the reason and suggest adjustments if any.
174
136
 
175
- ### Phase 2 — Specification (Product Owner)
176
-
177
- **Progress:** `[2/6] Product Owner (opus) — Defining spec...`
178
- **Agent:** Reads `.claude/agents/product-owner.md` via Task tool with `model: "opus"`
179
- **Input:** The feature approved by the Advisor + their observations
180
- **Process:**
137
+ ### Phase 2 — Specification & Technical Approach (Tech Lead)
181
138
 
182
- 1. The Product Owner breaks the feature into concrete tasks
183
- 2. Defines verifiable acceptance criteria for each task
184
- 3. Estimates effort and suggests implementation order
185
-
186
- **Output:** Task list with acceptance criteria, estimation, and order
187
- **Trace data:** Tasks defined count, acceptance criteria count, estimated effort
188
-
189
- ### Phase 3 — Technical Approach (Tech Lead)
190
-
191
- **Progress:** `[3/6] Tech Lead (opus) — Defining technical approach...`
139
+ **Progress:** `[2/5] Tech Lead (opus) Defining spec and technical approach...`
192
140
  **Agent:** Reads `.claude/agents/tech-lead.md` via Task tool with `model: "opus"`
193
- **Input:** Product Owner tasks + acceptance criteria
141
+ **Input:** The feature approved by the Advisor + their observations
194
142
  **Process:**
195
143
 
196
- 1. The Tech Lead defines the implementation approach
197
- 2. Identifies files to modify, patterns to follow, interfaces
144
+ 1. The Tech Lead breaks the feature into concrete tasks with verifiable acceptance criteria
145
+ 2. Defines the implementation approach: files to modify, patterns to follow, interfaces
198
146
  3. Anticipates technical risks and proposes mitigations
147
+ 4. Estimates effort and suggests implementation order
199
148
 
200
- **Output:** Technical plan with files, patterns, interfaces, and risks
201
- **Trace data:** Key patterns identified, files to modify, technical risks
149
+ **Output:** Task list with acceptance criteria + technical plan with files, patterns, interfaces, and risks
150
+ **Trace data:** Tasks defined count, acceptance criteria count, key patterns identified, files to modify, technical risks
202
151
 
203
- ### Phase 4 — Implementation (Developer)
152
+ ### Phase 3 — Implementation (Developer)
204
153
 
205
- **Progress:** `[4/6] Developer (sonnet) — Implementing...`
154
+ **Progress:** `[3/5] Developer (sonnet) — Implementing...`
206
155
  **Agent:** Reads `.claude/agents/developer.md` via Task tool with `model: "sonnet"`
207
- **Input:** Tech Lead technical plan + PO acceptance criteria
156
+ **Input:** Tech Lead technical plan + acceptance criteria
208
157
  **Process:**
209
158
 
210
159
  1. The Developer implements following the technical plan
@@ -217,7 +166,7 @@ This indicator MUST be displayed before spawning the agent for that phase.
217
166
 
218
167
  ### Pre-Review Gate (mandatory)
219
168
 
220
- Before advancing to Phase 5, run automated verification:
169
+ Before advancing to Phase 4, run automated verification:
221
170
 
222
171
  1. Run the project test commands (e.g., `npm test`) — if it fails, the Developer must fix before advancing
223
172
  2. Run the project lint commands (e.g., `npm run lint`) — if it fails, the Developer must fix before advancing
@@ -227,9 +176,9 @@ This gate CANNOT be skipped, even if the user requested phase skipping. The spec
227
176
 
228
177
  **Trace data:** Tests pass/fail, lint pass/fail
229
178
 
230
- ### Phase 5 — Review (Code Reviewer)
179
+ ### Phase 4 — Review (Code Reviewer)
231
180
 
232
- **Progress:** `[5/6] Code Reviewer (opus) — Reviewing changes...`
181
+ **Progress:** `[4/5] Code Reviewer (opus) — Reviewing changes...`
233
182
  **Agent:** Reads `.claude/agents/code-reviewer.md` via Task tool with `model: "opus"`
234
183
  **Input:** The implemented changes (git diff)
235
184
  **Process:**
@@ -239,13 +188,13 @@ This gate CANNOT be skipped, even if the user requested phase skipping. The spec
239
188
 
240
189
  **Output:** Review report with classified findings
241
190
  **Trace data:** Blockers count, warnings count, suggestions count, review-fix loops
242
- **Loop condition:** If there are Blocker findings, return to **Phase 4** for the Developer to fix them. Maximum 2 review-fix iterations.
191
+ **Loop condition:** If there are Blocker findings, return to **Phase 3** for the Developer to fix them. Maximum 2 review-fix iterations.
243
192
 
244
- ### Phase 6 — QA (delegates to /qa-cycle)
193
+ ### Phase 5 — QA (delegates to /qa-cycle)
245
194
 
246
- **Progress:** `[6/6] QA (sonnet) — Validating acceptance criteria...`
195
+ **Progress:** `[5/5] QA (sonnet) — Validating acceptance criteria...`
247
196
 
248
- Runs the `/qa-cycle` skill passing the PO acceptance criteria as context. The qa-cycle handles:
197
+ Runs the `/qa-cycle` skill passing the acceptance criteria as context. The qa-cycle handles:
249
198
 
250
199
  1. Running project tests and lint
251
200
  2. Validating acceptance criteria
@@ -253,7 +202,7 @@ Runs the `/qa-cycle` skill passing the PO acceptance criteria as context. The qa
253
202
  4. Bugfix cycle if issues arise (maximum 3 cycles)
254
203
 
255
204
  **Trace data:** Acceptance criteria verified count, bugs found, QA cycles
256
- **Additional loop condition:** If the qa-cycle bugfix introduces significant changes, return to **Phase 5** (Review) for verification. Maximum 2 review-QA cycles.
205
+ **Additional loop condition:** If the qa-cycle bugfix introduces significant changes, return to **Phase 4** (Review) for verification. Maximum 2 review-QA cycles.
257
206
 
258
207
  ## Checkpoint Commits
259
208
 
@@ -267,11 +216,10 @@ git commit -m "wip: [feature-name] phase N complete — [phase-name]"
267
216
  Pattern for each phase:
268
217
 
269
218
  - After Phase 1: `wip: [feature] phase 1 — advisor approved`
270
- - After Phase 2: `wip: [feature] phase 2 — PO spec ready`
271
- - After Phase 3: `wip: [feature] phase 3 — tech approach defined`
272
- - After Phase 4: `wip: [feature] phase 4 — implementation done` -- also write partial trace (phases 1-4) to spec and update status to `implementing`
273
- - After Phase 5: `wip: [feature] phase 5 — review passed`
274
- - After Phase 6: `wip: [feature] phase 6 — QA passed`
219
+ - After Phase 2: `wip: [feature] phase 2 — spec and tech approach defined`
220
+ - After Phase 3: `wip: [feature] phase 3 — implementation done` -- also write partial trace (phases 1-3) to spec and update status to `implementing`
221
+ - After Phase 4: `wip: [feature] phase 4 — review passed`
222
+ - After Phase 5: `wip: [feature] phase 5 — QA passed`
275
223
 
276
224
  Also update SESSION.md at each phase transition:
277
225
 
@@ -325,7 +273,7 @@ Append this section to the spec file:
325
273
 
326
274
  pipeline-start: [YYYY-MM-DD]
327
275
  pipeline-end: [YYYY-MM-DD]
328
- phases-completed: [N]/6
276
+ phases-completed: [N]/5
329
277
  review-fix-loops: [N]
330
278
  qa-cycles: [N]
331
279
  final-gate: pass | fail
@@ -335,19 +283,16 @@ final-gate: pass | fail
335
283
  - **Verdict**: [Approved/Rejected/Approved with conditions]
336
284
  - **Risks identified**: [list or "None"]
337
285
 
338
- ### Phase 2 — Specification
286
+ ### Phase 2 — Specification & Technical Approach
339
287
 
340
288
  - **Tasks defined**: [N]
341
289
  - **Acceptance criteria**: [N]
342
- - **Estimated effort**: [summary]
343
-
344
- ### Phase 3 — Technical Approach
345
-
346
290
  - **Key patterns**: [list]
347
291
  - **Files to modify**: [list]
348
292
  - **Technical risks**: [list or "None"]
293
+ - **Estimated effort**: [summary]
349
294
 
350
- ### Phase 4 — Implementation
295
+ ### Phase 3 — Implementation
351
296
 
352
297
  - **Files created/modified**: [list]
353
298
  - **Tests added**: [N]
@@ -358,14 +303,14 @@ final-gate: pass | fail
358
303
  - **Tests**: pass | fail
359
304
  - **Lint**: pass | fail
360
305
 
361
- ### Phase 5 — Review
306
+ ### Phase 4 — Review
362
307
 
363
308
  - **Blockers**: [N]
364
309
  - **Warnings**: [N]
365
310
  - **Suggestions**: [N]
366
311
  - **Review-fix loops**: [N]
367
312
 
368
- ### Phase 6 — QA
313
+ ### Phase 5 — QA
369
314
 
370
315
  - **Acceptance criteria verified**: [N]/[total]
371
316
  - **Bugs found**: [N]
@@ -380,15 +325,15 @@ final-gate: pass | fail
380
325
 
381
326
  ### When to write the trace
382
327
 
383
- - **Phase 4 checkpoint:** Write a partial trace covering phases 1-4 to the spec file. Set status to `implementing`. Include the spec file in the checkpoint commit.
328
+ - **Phase 3 checkpoint:** Write a partial trace covering phases 1-3 to the spec file. Set status to `implementing`. Include the spec file in the checkpoint commit.
384
329
  - **Pipeline completion:** Write the complete trace (all phases) to the spec file. Set status to `implemented`. Include the spec file in the final checkpoint commit.
385
330
 
386
331
  ## Final Gate (mandatory before Completion)
387
332
 
388
333
  Before declaring the pipeline as complete, run final verification:
389
334
 
390
- 1. Run project tests — if it fails, return to Phase 6 (QA/Bugfix)
391
- 2. Run project lint — if it fails, return to Phase 4 (Developer)
335
+ 1. Run project tests — if it fails, return to Phase 5 (QA/Bugfix)
336
+ 2. Run project lint — if it fails, return to Phase 3 (Developer)
392
337
  3. Both must pass with exit code 0
393
338
 
394
339
  This gate is the last safety net. It CANNOT be skipped under any circumstances.
@@ -423,7 +368,7 @@ When spawning agents via the Task tool, use these `subagent_type` values:
423
368
 
424
369
  | Guild Agent Role | subagent_type to use |
425
370
  | --- | --- |
426
- | advisor, product-owner, tech-lead | `"general-purpose"` |
371
+ | advisor, tech-lead | `"general-purpose"` |
427
372
  | developer, bugfix | `"general-purpose"` |
428
373
  | code-reviewer, qa | `"general-purpose"` |
429
374
 
@@ -445,22 +390,19 @@ The `model` parameter is resolved from the step's `model-tier`: reasoning→`"op
445
390
  ```text
446
391
  User: /build-feature add dark mode toggle to settings page
447
392
 
448
- [1/6] Advisor (opus) — Evaluating feature...
393
+ [1/5] Advisor (opus) — Evaluating feature...
449
394
  Approved. Low risk, aligns with UX roadmap.
450
395
 
451
- [2/6] Product Owner (opus) — Defining spec...
452
- 3 tasks defined with acceptance criteria.
453
-
454
- [3/6] Tech Lead (opus) — Defining technical approach...
455
- Use CSS variables + context provider pattern.
396
+ [2/5] Tech Lead (opus) — Defining spec and technical approach...
397
+ 3 tasks defined. Use CSS variables + context provider pattern.
456
398
 
457
- [4/6] Developer (sonnet) — Implementing...
399
+ [3/5] Developer (sonnet) — Implementing...
458
400
  Implemented ThemeContext, toggle component, CSS vars.
459
401
 
460
- [5/6] Code Reviewer (opus) — Reviewing changes...
402
+ [4/5] Code Reviewer (opus) — Reviewing changes...
461
403
  Passed. 1 suggestion (memoize context value).
462
404
 
463
- [6/6] QA (sonnet) — Validating acceptance criteria...
405
+ [5/5] QA (sonnet) — Validating acceptance criteria...
464
406
  All 3 acceptance criteria verified. 0 bugs.
465
407
 
466
408
  Feature complete. PR ready for merge.
@@ -468,7 +410,7 @@ Feature complete. PR ready for merge.
468
410
 
469
411
  ## Notes
470
412
 
471
- - If the user wants to skip phases (e.g., "already evaluated, implement directly"), allow skipping to Phase 4 but warn that validation is lost. Verification gates (pre-Review and final) are NEVER skipped
413
+ - If the user wants to skip phases (e.g., "already evaluated, implement directly"), allow skipping to Phase 3 but warn that validation is lost. Verification gates (pre-Review and final) are NEVER skipped
472
414
  - The pipeline is sequential: each phase depends on the output of the previous one
473
415
  - Review/QA loops have limits to prevent infinite cycles
474
416
  - In v1.x, parallel pipeline execution (multiple build-features via worktrees) is best-effort and depends on the host environment supporting concurrent agents
@@ -3,10 +3,9 @@
3
3
  "evals": [
4
4
  {
5
5
  "id": "bf-has-core-phases",
6
- "description": "Plan contains evaluate, specify, design, implement phases",
6
+ "description": "Plan contains evaluate, design, implement phases",
7
7
  "expectations": [
8
8
  { "text": "Has evaluate step", "assertion": "step-exists:evaluate" },
9
- { "text": "Has specify step", "assertion": "step-exists:specify" },
10
9
  { "text": "Has design step", "assertion": "step-exists:design" },
11
10
  { "text": "Has implement step", "assertion": "step-exists:implement" }
12
11
  ]
@@ -44,9 +43,9 @@
44
43
  },
45
44
  {
46
45
  "id": "bf-minimum-steps",
47
- "description": "Plan has at least 10 steps",
46
+ "description": "Plan has at least 8 steps",
48
47
  "expectations": [
49
- { "text": "At least 10 steps", "assertion": "step-count:10" }
48
+ { "text": "At least 8 steps", "assertion": "step-count:8" }
50
49
  ]
51
50
  }
52
51
  ]
@@ -11,33 +11,24 @@ workflow:
11
11
  requires: [user-question]
12
12
  produces: [council-type, participant-roles]
13
13
  gate: true
14
- - id: workspace-context
15
- role: system
16
- intent: "Detect workspace membership. If in a workspace, collect context from sibling repos (CLAUDE.md, PROJECT.md, SESSION.md) and build workspace context block."
17
- requires: [council-type]
18
- produces: [workspace-context]
19
- condition: in-workspace
20
14
  - id: agent-1
21
15
  role: dynamic
22
- intent: "Analyze the question from specialized perspective. State position with concrete arguments."
23
- requires: [user-question, council-type, workspace-context]
16
+ intent: "Analyze the question from specialized perspective. State position with concrete arguments. Spawn via Agent tool IN PARALLEL with agent-2 and agent-3."
17
+ requires: [user-question, council-type]
24
18
  produces: [perspective-1]
25
19
  model-tier: reasoning
26
- parallel: [agent-2, agent-3]
27
20
  - id: agent-2
28
21
  role: dynamic
29
22
  intent: "Analyze the question from specialized perspective. State position with concrete arguments."
30
- requires: [user-question, council-type, workspace-context]
23
+ requires: [user-question, council-type]
31
24
  produces: [perspective-2]
32
25
  model-tier: reasoning
33
- parallel: [agent-1, agent-3]
34
26
  - id: agent-3
35
27
  role: dynamic
36
28
  intent: "Analyze the question from specialized perspective. State position with concrete arguments."
37
- requires: [user-question, council-type, workspace-context]
29
+ requires: [user-question, council-type]
38
30
  produces: [perspective-3]
39
31
  model-tier: reasoning
40
- parallel: [agent-1, agent-2]
41
32
  - id: synthesize
42
33
  role: system
43
34
  intent: "Synthesize debate: points of agreement, disagreement, risks. Present options to user."
@@ -49,7 +40,6 @@ workflow:
49
40
  intent: "After user decides, write spec document to docs/specs/."
50
41
  requires: [synthesis, user-decision]
51
42
  produces: [spec-document]
52
- condition: user-wants-spec
53
43
  gate: true
54
44
  ---
55
45
 
@@ -87,13 +77,13 @@ Invokes all 3 agents IN PARALLEL using Task tool:
87
77
 
88
78
  ### 2. Council Feature-Scope
89
79
 
90
- **Participants:** Advisor + Product Owner + Tech Lead
80
+ **Participants:** Advisor + Developer + Tech Lead
91
81
  **When it applies:** Defining feature scope, prioritizing functionality, evaluating product proposals
92
82
 
93
83
  Invokes all 3 agents IN PARALLEL using Task tool:
94
84
 
95
85
  - Task 1: Reads `.claude/agents/advisor.md` — domain and strategic vision perspective
96
- - Task 2: Reads `.claude/agents/product-owner.md` — user value and scope perspective
86
+ - Task 2: Reads `.claude/agents/developer.md` — implementability and pragmatism perspective
97
87
  - Task 3: Reads `.claude/agents/tech-lead.md` — technical feasibility and effort perspective
98
88
 
99
89
  ### 3. Council Tech-Debt
@@ -2,15 +2,12 @@
2
2
  "skill": "council",
3
3
  "evals": [
4
4
  {
5
- "id": "council-three-parallel-agents",
6
- "description": "Council has 3 agent steps in parallel",
5
+ "id": "council-three-agents",
6
+ "description": "Council has 3 agent steps",
7
7
  "expectations": [
8
8
  { "text": "Agent-1 exists", "assertion": "step-exists:agent-1" },
9
9
  { "text": "Agent-2 exists", "assertion": "step-exists:agent-2" },
10
- { "text": "Agent-3 exists", "assertion": "step-exists:agent-3" },
11
- { "text": "Agent-1 is parallel", "assertion": "step-parallel:agent-1" },
12
- { "text": "Agent-2 is parallel", "assertion": "step-parallel:agent-2" },
13
- { "text": "Agent-3 is parallel", "assertion": "step-parallel:agent-3" }
10
+ { "text": "Agent-3 exists", "assertion": "step-exists:agent-3" }
14
11
  ]
15
12
  },
16
13
  {
@@ -29,13 +26,6 @@
29
26
  { "text": "Synthesize step exists", "assertion": "step-exists:synthesize" },
30
27
  { "text": "Synthesize has gate", "assertion": "gate-exists:synthesize" }
31
28
  ]
32
- },
33
- {
34
- "id": "council-workspace-context",
35
- "description": "Workspace context step exists with condition",
36
- "expectations": [
37
- { "text": "Workspace-context step exists", "assertion": "step-exists:workspace-context" }
38
- ]
39
29
  }
40
30
  ]
41
31
  }
@@ -8,12 +8,10 @@ workflow:
8
8
  - id: verify-branch
9
9
  role: system
10
10
  intent: "Verify not on main/develop, check for uncommitted changes, get commits ahead of main."
11
- commands: [git branch --show-current, git status, git log main..HEAD --oneline]
12
11
  produces: [branch-name, branch-state, commit-list]
13
12
  - id: gather-context
14
13
  role: system
15
14
  intent: "Collect diff stats, run tests and lint for PR description context."
16
- commands: [git diff main..HEAD --stat, npm test, npm run lint]
17
15
  requires: [branch-state]
18
16
  produces: [diff-summary, test-result, lint-result]
19
17
  - id: generate-description
@@ -25,7 +23,6 @@ workflow:
25
23
  - id: create-pr
26
24
  role: system
27
25
  intent: "Push branch to origin and create PR via gh CLI."
28
- commands: [git push -u origin, gh pr create]
29
26
  requires: [pr-description, pr-title, branch-name]
30
27
  produces: [pr-url]
31
28
  - id: post-creation
@@ -102,7 +99,7 @@ Build a structured PR description:
102
99
  1. Display the PR URL
103
100
  2. Suggest next steps:
104
101
  - "Request review from a teammate"
105
- - "Run `/review` for an AI code review"
102
+ - "Run `/code-review` for an AI code review"
106
103
  - "Merge when ready with `gh pr merge [number]`"
107
104
 
108
105
  ## Example Session
@@ -121,7 +118,7 @@ https://github.com/org/repo/pull/42
121
118
 
122
119
  Next steps:
123
120
  - Request review from a teammate
124
- - Run /review for AI code review
121
+ - Run /code-review for AI code review
125
122
  - Merge when ready
126
123
  ```
127
124
 
@@ -8,12 +8,10 @@ workflow:
8
8
  - id: read-base
9
9
  role: system
10
10
  intent: "Read CLAUDE.md, PROJECT.md, and SESSION.md for current Guild configuration."
11
- commands: [cat CLAUDE.md, cat PROJECT.md, cat SESSION.md]
12
11
  produces: [claude-md, project-md, session-md]
13
12
  - id: explore-project
14
13
  role: system
15
14
  intent: "Scan project structure, dependency files, configs, CI, and documentation to detect stack and architecture."
16
- commands: [ls -R src/, cat package.json]
17
15
  produces: [detected-stack, detected-architecture, detected-conventions]
18
16
  gate: true
19
17
  - id: enrich-claude-md
@@ -37,7 +35,6 @@ workflow:
37
35
  - id: commit-enrichment
38
36
  role: system
39
37
  intent: "Commit enriched CLAUDE.md and agent files as an atomic commit."
40
- commands: [git add CLAUDE.md .claude/agents/*.md, git commit]
41
38
  requires: [enriched-claude-md, specialized-agents]
42
39
  produces: [enrichment-commit]
43
40
  ---
@@ -126,13 +123,10 @@ Invoke the Tech Lead agent using Task tool with `model: "sonnet"` (execution tie
126
123
 
127
124
  - **advisor.md**: real project domain, target users
128
125
  - **tech-lead.md**: specific stack, detected patterns, architecture decisions
129
- - **product-owner.md**: existing functionality, visible backlog
130
126
  - **developer.md**: code conventions, main framework, file structure
131
127
  - **code-reviewer.md**: lint rules, project patterns, anti-patterns to watch
132
128
  - **qa.md**: testing framework, commands to run tests, current coverage
133
129
  - **bugfix.md**: debugging stack, logs, available tools
134
- - **db-migration.md**: ORM, migration tool, current schema (if applicable)
135
- - **platform-expert.md**: Claude Code version, known permission bugs, hook configuration
136
130
 
137
131
  When specializing agents, append a zone at the bottom of each agent file:
138
132
 
@@ -168,7 +162,7 @@ Architecture:
168
162
  Updated agents:
169
163
  - [list of agents with their applied specialization]
170
164
 
171
- Run /status to see the full state.
165
+ Run /session-start to see the full state.
172
166
  ```
173
167
 
174
168
  ### Step 6 — Commit enrichment immediately
@@ -204,9 +198,8 @@ Tech Lead (sonnet) — Specializing agents...
204
198
  Agents updated:
205
199
  - developer.md: Specialized for Next.js + TypeScript
206
200
  - qa.md: Configured for Vitest + Playwright
207
- - db-migration.md: Configured for Prisma
208
201
 
209
- Run /status to see the full state.
202
+ Run /session-start to see the full state.
210
203
  ```
211
204
 
212
205
  ## Important Notes
@@ -8,7 +8,6 @@ workflow:
8
8
  - id: gate-pre-qa
9
9
  role: system
10
10
  intent: "Run project tests and lint before QA validation."
11
- commands: [npm test, npm run lint]
12
11
  gate: true
13
12
  produces: [test-result, lint-result]
14
13
  - id: qa-validate
@@ -17,21 +16,15 @@ workflow:
17
16
  requires: [acceptance-criteria, test-result, lint-result]
18
17
  produces: [qa-report]
19
18
  model-tier: execution
20
- retry:
21
- max: 3
22
- on: has-bugs
23
19
  - id: bugfix
24
20
  role: bugfix
25
21
  intent: "Diagnose and fix bugs reported by QA. Run tests after fixing."
26
22
  requires: [qa-report]
27
23
  produces: [bugfix-result]
28
24
  model-tier: execution
29
- condition: step.qa-validate.has-bugs
30
- on-failure: goto:qa-validate
31
25
  - id: gate-post-qa
32
26
  role: system
33
27
  intent: "Run project tests and lint after QA cycle completes."
34
- commands: [npm test, npm run lint]
35
28
  gate: true
36
29
  produces: [final-test-result, final-lint-result]
37
30
  ---
@@ -8,12 +8,10 @@ workflow:
8
8
  - id: read-current
9
9
  role: system
10
10
  intent: "Read current CLAUDE.md and agent files to identify existing zones."
11
- commands: [cat CLAUDE.md]
12
11
  produces: [current-claude-md, current-agents]
13
12
  - id: explore-project
14
13
  role: system
15
14
  intent: "Scan project for current stack, dependencies, architecture, conventions."
16
- commands: [ls -R src/, cat package.json]
17
15
  produces: [detected-stack, detected-architecture, detected-conventions]
18
16
  gate: true
19
17
  - id: check-zones
@@ -43,7 +41,6 @@ workflow:
43
41
  - id: commit
44
42
  role: system
45
43
  intent: "Commit re-specialized files."
46
- commands: [git add CLAUDE.md .claude/agents/*.md, git commit -m "chore: re-specialize via guild-re-specialize"]
47
44
  requires: [updated-claude-md, updated-agents, confirmation]
48
45
  produces: [re-specialize-commit]
49
46
  ---