@howlil/ez-agents 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 (183) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +845 -0
  3. package/README.zh-CN.md +702 -0
  4. package/agents/ez-codebase-mapper.md +770 -0
  5. package/agents/ez-debugger.md +1255 -0
  6. package/agents/ez-executor.md +487 -0
  7. package/agents/ez-integration-checker.md +443 -0
  8. package/agents/ez-nyquist-auditor.md +176 -0
  9. package/agents/ez-phase-researcher.md +553 -0
  10. package/agents/ez-plan-checker.md +706 -0
  11. package/agents/ez-planner.md +1307 -0
  12. package/agents/ez-project-researcher.md +629 -0
  13. package/agents/ez-research-synthesizer.md +247 -0
  14. package/agents/ez-roadmapper.md +650 -0
  15. package/agents/ez-ui-auditor.md +441 -0
  16. package/agents/ez-ui-checker.md +302 -0
  17. package/agents/ez-ui-researcher.md +355 -0
  18. package/agents/ez-verifier.md +579 -0
  19. package/bin/install.js +2862 -0
  20. package/bin/update.js +214 -0
  21. package/commands/ez/add-phase.md +43 -0
  22. package/commands/ez/add-tests.md +41 -0
  23. package/commands/ez/add-todo.md +47 -0
  24. package/commands/ez/audit-milestone.md +36 -0
  25. package/commands/ez/autonomous.md +41 -0
  26. package/commands/ez/check-todos.md +45 -0
  27. package/commands/ez/cleanup.md +18 -0
  28. package/commands/ez/complete-milestone.md +136 -0
  29. package/commands/ez/debug.md +168 -0
  30. package/commands/ez/discuss-phase.md +90 -0
  31. package/commands/ez/execute-phase.md +41 -0
  32. package/commands/ez/health.md +22 -0
  33. package/commands/ez/help.md +22 -0
  34. package/commands/ez/insert-phase.md +32 -0
  35. package/commands/ez/join-discord.md +18 -0
  36. package/commands/ez/list-phase-assumptions.md +46 -0
  37. package/commands/ez/map-codebase.md +71 -0
  38. package/commands/ez/new-milestone.md +44 -0
  39. package/commands/ez/new-project.md +42 -0
  40. package/commands/ez/pause-work.md +38 -0
  41. package/commands/ez/plan-milestone-gaps.md +34 -0
  42. package/commands/ez/plan-phase.md +45 -0
  43. package/commands/ez/progress.md +24 -0
  44. package/commands/ez/quick.md +45 -0
  45. package/commands/ez/reapply-patches.md +124 -0
  46. package/commands/ez/remove-phase.md +31 -0
  47. package/commands/ez/research-phase.md +190 -0
  48. package/commands/ez/resume-work.md +40 -0
  49. package/commands/ez/set-profile.md +34 -0
  50. package/commands/ez/settings.md +36 -0
  51. package/commands/ez/stats.md +18 -0
  52. package/commands/ez/ui-phase.md +34 -0
  53. package/commands/ez/ui-review.md +32 -0
  54. package/commands/ez/update.md +37 -0
  55. package/commands/ez/validate-phase.md +35 -0
  56. package/commands/ez/verify-work.md +38 -0
  57. package/get-shit-done/bin/ez-tools.cjs +598 -0
  58. package/get-shit-done/bin/lib/assistant-adapter.cjs +205 -0
  59. package/get-shit-done/bin/lib/audit-exec.cjs +150 -0
  60. package/get-shit-done/bin/lib/auth.cjs +175 -0
  61. package/get-shit-done/bin/lib/circuit-breaker.cjs +118 -0
  62. package/get-shit-done/bin/lib/commands.cjs +666 -0
  63. package/get-shit-done/bin/lib/config.cjs +183 -0
  64. package/get-shit-done/bin/lib/core.cjs +495 -0
  65. package/get-shit-done/bin/lib/file-lock.cjs +236 -0
  66. package/get-shit-done/bin/lib/frontmatter.cjs +299 -0
  67. package/get-shit-done/bin/lib/fs-utils.cjs +153 -0
  68. package/get-shit-done/bin/lib/git-utils.cjs +203 -0
  69. package/get-shit-done/bin/lib/health-check.cjs +163 -0
  70. package/get-shit-done/bin/lib/index.cjs +113 -0
  71. package/get-shit-done/bin/lib/init.cjs +710 -0
  72. package/get-shit-done/bin/lib/logger.cjs +117 -0
  73. package/get-shit-done/bin/lib/milestone.cjs +241 -0
  74. package/get-shit-done/bin/lib/model-provider.cjs +146 -0
  75. package/get-shit-done/bin/lib/phase.cjs +908 -0
  76. package/get-shit-done/bin/lib/retry.cjs +119 -0
  77. package/get-shit-done/bin/lib/roadmap.cjs +305 -0
  78. package/get-shit-done/bin/lib/safe-exec.cjs +128 -0
  79. package/get-shit-done/bin/lib/safe-path.cjs +130 -0
  80. package/get-shit-done/bin/lib/state.cjs +721 -0
  81. package/get-shit-done/bin/lib/temp-file.cjs +239 -0
  82. package/get-shit-done/bin/lib/template.cjs +222 -0
  83. package/get-shit-done/bin/lib/test-file-lock.cjs +112 -0
  84. package/get-shit-done/bin/lib/test-graceful.cjs +93 -0
  85. package/get-shit-done/bin/lib/test-logger.cjs +60 -0
  86. package/get-shit-done/bin/lib/test-safe-exec.cjs +38 -0
  87. package/get-shit-done/bin/lib/test-safe-path.cjs +33 -0
  88. package/get-shit-done/bin/lib/test-temp-file.cjs +125 -0
  89. package/get-shit-done/bin/lib/timeout-exec.cjs +62 -0
  90. package/get-shit-done/bin/lib/verify.cjs +820 -0
  91. package/get-shit-done/references/checkpoints.md +776 -0
  92. package/get-shit-done/references/continuation-format.md +249 -0
  93. package/get-shit-done/references/decimal-phase-calculation.md +65 -0
  94. package/get-shit-done/references/git-integration.md +248 -0
  95. package/get-shit-done/references/git-planning-commit.md +38 -0
  96. package/get-shit-done/references/model-profile-resolution.md +34 -0
  97. package/get-shit-done/references/model-profiles.md +93 -0
  98. package/get-shit-done/references/phase-argument-parsing.md +61 -0
  99. package/get-shit-done/references/planning-config.md +200 -0
  100. package/get-shit-done/references/questioning.md +162 -0
  101. package/get-shit-done/references/tdd.md +263 -0
  102. package/get-shit-done/references/ui-brand.md +160 -0
  103. package/get-shit-done/references/verification-patterns.md +612 -0
  104. package/get-shit-done/templates/DEBUG.md +164 -0
  105. package/get-shit-done/templates/UAT.md +247 -0
  106. package/get-shit-done/templates/UI-SPEC.md +100 -0
  107. package/get-shit-done/templates/VALIDATION.md +76 -0
  108. package/get-shit-done/templates/codebase/architecture.md +255 -0
  109. package/get-shit-done/templates/codebase/concerns.md +310 -0
  110. package/get-shit-done/templates/codebase/conventions.md +307 -0
  111. package/get-shit-done/templates/codebase/integrations.md +280 -0
  112. package/get-shit-done/templates/codebase/stack.md +186 -0
  113. package/get-shit-done/templates/codebase/structure.md +285 -0
  114. package/get-shit-done/templates/codebase/testing.md +480 -0
  115. package/get-shit-done/templates/config.json +37 -0
  116. package/get-shit-done/templates/context.md +352 -0
  117. package/get-shit-done/templates/continue-here.md +78 -0
  118. package/get-shit-done/templates/copilot-instructions.md +7 -0
  119. package/get-shit-done/templates/debug-subagent-prompt.md +91 -0
  120. package/get-shit-done/templates/discovery.md +146 -0
  121. package/get-shit-done/templates/milestone-archive.md +123 -0
  122. package/get-shit-done/templates/milestone.md +115 -0
  123. package/get-shit-done/templates/phase-prompt.md +610 -0
  124. package/get-shit-done/templates/planner-subagent-prompt.md +117 -0
  125. package/get-shit-done/templates/project.md +184 -0
  126. package/get-shit-done/templates/requirements.md +231 -0
  127. package/get-shit-done/templates/research-project/ARCHITECTURE.md +204 -0
  128. package/get-shit-done/templates/research-project/FEATURES.md +147 -0
  129. package/get-shit-done/templates/research-project/PITFALLS.md +200 -0
  130. package/get-shit-done/templates/research-project/STACK.md +120 -0
  131. package/get-shit-done/templates/research-project/SUMMARY.md +170 -0
  132. package/get-shit-done/templates/research.md +552 -0
  133. package/get-shit-done/templates/retrospective.md +54 -0
  134. package/get-shit-done/templates/roadmap.md +202 -0
  135. package/get-shit-done/templates/state.md +176 -0
  136. package/get-shit-done/templates/summary-complex.md +59 -0
  137. package/get-shit-done/templates/summary-minimal.md +41 -0
  138. package/get-shit-done/templates/summary-standard.md +48 -0
  139. package/get-shit-done/templates/summary.md +248 -0
  140. package/get-shit-done/templates/user-setup.md +311 -0
  141. package/get-shit-done/templates/verification-report.md +322 -0
  142. package/get-shit-done/workflows/add-phase.md +112 -0
  143. package/get-shit-done/workflows/add-tests.md +351 -0
  144. package/get-shit-done/workflows/add-todo.md +158 -0
  145. package/get-shit-done/workflows/audit-milestone.md +332 -0
  146. package/get-shit-done/workflows/autonomous.md +743 -0
  147. package/get-shit-done/workflows/check-todos.md +177 -0
  148. package/get-shit-done/workflows/cleanup.md +152 -0
  149. package/get-shit-done/workflows/complete-milestone.md +766 -0
  150. package/get-shit-done/workflows/diagnose-issues.md +219 -0
  151. package/get-shit-done/workflows/discovery-phase.md +289 -0
  152. package/get-shit-done/workflows/discuss-phase.md +762 -0
  153. package/get-shit-done/workflows/execute-phase.md +468 -0
  154. package/get-shit-done/workflows/execute-plan.md +483 -0
  155. package/get-shit-done/workflows/health.md +159 -0
  156. package/get-shit-done/workflows/help.md +492 -0
  157. package/get-shit-done/workflows/insert-phase.md +130 -0
  158. package/get-shit-done/workflows/list-phase-assumptions.md +178 -0
  159. package/get-shit-done/workflows/map-codebase.md +316 -0
  160. package/get-shit-done/workflows/new-milestone.md +384 -0
  161. package/get-shit-done/workflows/new-project.md +1111 -0
  162. package/get-shit-done/workflows/node-repair.md +92 -0
  163. package/get-shit-done/workflows/pause-work.md +122 -0
  164. package/get-shit-done/workflows/plan-milestone-gaps.md +274 -0
  165. package/get-shit-done/workflows/plan-phase.md +651 -0
  166. package/get-shit-done/workflows/progress.md +382 -0
  167. package/get-shit-done/workflows/quick.md +610 -0
  168. package/get-shit-done/workflows/remove-phase.md +155 -0
  169. package/get-shit-done/workflows/research-phase.md +74 -0
  170. package/get-shit-done/workflows/resume-project.md +307 -0
  171. package/get-shit-done/workflows/set-profile.md +81 -0
  172. package/get-shit-done/workflows/settings.md +242 -0
  173. package/get-shit-done/workflows/stats.md +57 -0
  174. package/get-shit-done/workflows/transition.md +544 -0
  175. package/get-shit-done/workflows/ui-phase.md +290 -0
  176. package/get-shit-done/workflows/ui-review.md +157 -0
  177. package/get-shit-done/workflows/update.md +320 -0
  178. package/get-shit-done/workflows/validate-phase.md +167 -0
  179. package/get-shit-done/workflows/verify-phase.md +243 -0
  180. package/get-shit-done/workflows/verify-work.md +584 -0
  181. package/package.json +55 -0
  182. package/scripts/build-hooks.js +43 -0
  183. package/scripts/run-tests.cjs +29 -0
@@ -0,0 +1,45 @@
1
+ ---
2
+ name: ez:plan-phase
3
+ description: Create detailed phase plan (PLAN.md) with verification loop
4
+ argument-hint: "[phase] [--auto] [--research] [--skip-research] [--gaps] [--skip-verify] [--prd <file>]"
5
+ agent: ez-planner
6
+ allowed-tools:
7
+ - Read
8
+ - Write
9
+ - Bash
10
+ - Glob
11
+ - Grep
12
+ - Task
13
+ - WebFetch
14
+ - mcp__context7__*
15
+ ---
16
+ <objective>
17
+ Create executable phase prompts (PLAN.md files) for a roadmap phase with integrated research and verification.
18
+
19
+ **Default flow:** Research (if needed) → Plan → Verify → Done
20
+
21
+ **Orchestrator role:** Parse arguments, validate phase, research domain (unless skipped), spawn ez-planner, verify with ez-plan-checker, iterate until pass or max iterations, present results.
22
+ </objective>
23
+
24
+ <execution_context>
25
+ @~/.claude/ez-agents/workflows/plan-phase.md
26
+ @~/.claude/ez-agents/references/ui-brand.md
27
+ </execution_context>
28
+
29
+ <context>
30
+ Phase number: $ARGUMENTS (optional — auto-detects next unplanned phase if omitted)
31
+
32
+ **Flags:**
33
+ - `--research` — Force re-research even if RESEARCH.md exists
34
+ - `--skip-research` — Skip research, go straight to planning
35
+ - `--gaps` — Gap closure mode (reads VERIFICATION.md, skips research)
36
+ - `--skip-verify` — Skip verification loop
37
+ - `--prd <file>` — Use a PRD/acceptance criteria file instead of discuss-phase. Parses requirements into CONTEXT.md automatically. Skips discuss-phase entirely.
38
+
39
+ Normalize phase input in step 2 before any directory lookups.
40
+ </context>
41
+
42
+ <process>
43
+ Execute the plan-phase workflow from @~/.claude/ez-agents/workflows/plan-phase.md end-to-end.
44
+ Preserve all workflow gates (validation, research, planning, verification loop, routing).
45
+ </process>
@@ -0,0 +1,24 @@
1
+ ---
2
+ name: ez:progress
3
+ description: Check project progress, show context, and route to next action (execute or plan)
4
+ allowed-tools:
5
+ - Read
6
+ - Bash
7
+ - Grep
8
+ - Glob
9
+ - SlashCommand
10
+ ---
11
+ <objective>
12
+ Check project progress, summarize recent work and what's ahead, then intelligently route to the next action - either executing an existing plan or creating the next one.
13
+
14
+ Provides situational awareness before continuing work.
15
+ </objective>
16
+
17
+ <execution_context>
18
+ @~/.claude/ez-agents/workflows/progress.md
19
+ </execution_context>
20
+
21
+ <process>
22
+ Execute the progress workflow from @~/.claude/ez-agents/workflows/progress.md end-to-end.
23
+ Preserve all routing logic (Routes A through F) and edge case handling.
24
+ </process>
@@ -0,0 +1,45 @@
1
+ ---
2
+ name: ez:quick
3
+ description: Execute a quick task with EZ Agents guarantees (atomic commits, state tracking) but skip optional agents
4
+ argument-hint: "[--full] [--discuss]"
5
+ allowed-tools:
6
+ - Read
7
+ - Write
8
+ - Edit
9
+ - Glob
10
+ - Grep
11
+ - Bash
12
+ - Task
13
+ - AskUserQuestion
14
+ ---
15
+ <objective>
16
+ Execute small, ad-hoc tasks with EZ Agents guarantees (atomic commits, STATE.md tracking).
17
+
18
+ Quick mode is the same system with a shorter path:
19
+ - Spawns ez-planner (quick mode) + ez-executor(s)
20
+ - Quick tasks live in `.planning/quick/` separate from planned phases
21
+ - Updates STATE.md "Quick Tasks Completed" table (NOT ROADMAP.md)
22
+
23
+ **Default:** Skips research, discussion, plan-checker, verifier. Use when you know exactly what to do.
24
+
25
+ **`--discuss` flag:** Lightweight discussion phase before planning. Surfaces assumptions, clarifies gray areas, captures decisions in CONTEXT.md. Use when the task has ambiguity worth resolving upfront.
26
+
27
+ **`--full` flag:** Enables plan-checking (max 2 iterations) and post-execution verification. Use when you want quality guarantees without full milestone ceremony.
28
+
29
+ Flags are composable: `--discuss --full` gives discussion + plan-checking + verification.
30
+ </objective>
31
+
32
+ <execution_context>
33
+ @~/.claude/ez-agents/workflows/quick.md
34
+ </execution_context>
35
+
36
+ <context>
37
+ $ARGUMENTS
38
+
39
+ Context files are resolved inside the workflow (`init quick`) and delegated via `<files_to_read>` blocks.
40
+ </context>
41
+
42
+ <process>
43
+ Execute the quick workflow from @~/.claude/ez-agents/workflows/quick.md end-to-end.
44
+ Preserve all workflow gates (validation, task description, planning, execution, state updates, commits).
45
+ </process>
@@ -0,0 +1,124 @@
1
+ ---
2
+ name: ez:reapply-patches
3
+ description: Reapply local modifications after an EZ Agents update
4
+ allowed-tools: Read, Write, Edit, Bash, Glob, Grep, AskUserQuestion
5
+ ---
6
+
7
+ <purpose>
8
+ After an EZ Agents update wipes and reinstalls files, this command merges user's previously saved local modifications back into the new version. Uses intelligent comparison to handle cases where the upstream file also changed.
9
+ </purpose>
10
+
11
+ <process>
12
+
13
+ ## Step 1: Detect backed-up patches
14
+
15
+ Check for local patches directory:
16
+
17
+ ```bash
18
+ # Global install — detect runtime config directory
19
+ if [ -d "$HOME/.config/opencode/ez-local-patches" ]; then
20
+ PATCHES_DIR="$HOME/.config/opencode/ez-local-patches"
21
+ elif [ -d "$HOME/.opencode/ez-local-patches" ]; then
22
+ PATCHES_DIR="$HOME/.opencode/ez-local-patches"
23
+ elif [ -d "$HOME/.gemini/ez-local-patches" ]; then
24
+ PATCHES_DIR="$HOME/.gemini/ez-local-patches"
25
+ else
26
+ PATCHES_DIR="$HOME/.claude/ez-local-patches"
27
+ fi
28
+ # Local install fallback — check all runtime directories
29
+ if [ ! -d "$PATCHES_DIR" ]; then
30
+ for dir in .config/opencode .opencode .gemini .claude; do
31
+ if [ -d "./$dir/ez-local-patches" ]; then
32
+ PATCHES_DIR="./$dir/ez-local-patches"
33
+ break
34
+ fi
35
+ done
36
+ fi
37
+ ```
38
+
39
+ Read `backup-meta.json` from the patches directory.
40
+
41
+ **If no patches found:**
42
+ ```
43
+ No local patches found. Nothing to reapply.
44
+
45
+ Local patches are automatically saved when you run /ez:update
46
+ after modifying any EZ Agents workflow, command, or agent files.
47
+ ```
48
+ Exit.
49
+
50
+ ## Step 2: Show patch summary
51
+
52
+ ```
53
+ ## Local Patches to Reapply
54
+
55
+ **Backed up from:** v{from_version}
56
+ **Current version:** {read VERSION file}
57
+ **Files modified:** {count}
58
+
59
+ | # | File | Status |
60
+ |---|------|--------|
61
+ | 1 | {file_path} | Pending |
62
+ | 2 | {file_path} | Pending |
63
+ ```
64
+
65
+ ## Step 3: Merge each file
66
+
67
+ For each file in `backup-meta.json`:
68
+
69
+ 1. **Read the backed-up version** (user's modified copy from `gsd-local-patches/`)
70
+ 2. **Read the newly installed version** (current file after update)
71
+ 3. **Compare and merge:**
72
+
73
+ - If the new file is identical to the backed-up file: skip (modification was incorporated upstream)
74
+ - If the new file differs: identify the user's modifications and apply them to the new version
75
+
76
+ **Merge strategy:**
77
+ - Read both versions fully
78
+ - Identify sections the user added or modified (look for additions, not just differences from path replacement)
79
+ - Apply user's additions/modifications to the new version
80
+ - If a section the user modified was also changed upstream: flag as conflict, show both versions, ask user which to keep
81
+
82
+ 4. **Write merged result** to the installed location
83
+ 5. **Report status:**
84
+ - `Merged` — user modifications applied cleanly
85
+ - `Skipped` — modification already in upstream
86
+ - `Conflict` — user chose resolution
87
+
88
+ ## Step 4: Update manifest
89
+
90
+ After reapplying, regenerate the file manifest so future updates correctly detect these as user modifications:
91
+
92
+ ```bash
93
+ # The manifest will be regenerated on next /ez:update
94
+ # For now, just note which files were modified
95
+ ```
96
+
97
+ ## Step 5: Cleanup option
98
+
99
+ Ask user:
100
+ - "Keep patch backups for reference?" → preserve `gsd-local-patches/`
101
+ - "Clean up patch backups?" → remove `gsd-local-patches/` directory
102
+
103
+ ## Step 6: Report
104
+
105
+ ```
106
+ ## Patches Reapplied
107
+
108
+ | # | File | Status |
109
+ |---|------|--------|
110
+ | 1 | {file_path} | ✓ Merged |
111
+ | 2 | {file_path} | ○ Skipped (already upstream) |
112
+ | 3 | {file_path} | ⚠ Conflict resolved |
113
+
114
+ {count} file(s) updated. Your local modifications are active again.
115
+ ```
116
+
117
+ </process>
118
+
119
+ <success_criteria>
120
+ - [ ] All backed-up patches processed
121
+ - [ ] User modifications merged into new version
122
+ - [ ] Conflicts resolved with user input
123
+ - [ ] Status reported for each file
124
+ </success_criteria>
@@ -0,0 +1,31 @@
1
+ ---
2
+ name: ez:remove-phase
3
+ description: Remove a future phase from roadmap and renumber subsequent phases
4
+ argument-hint: <phase-number>
5
+ allowed-tools:
6
+ - Read
7
+ - Write
8
+ - Bash
9
+ - Glob
10
+ ---
11
+ <objective>
12
+ Remove an unstarted future phase from the roadmap and renumber all subsequent phases to maintain a clean, linear sequence.
13
+
14
+ Purpose: Clean removal of work you've decided not to do, without polluting context with cancelled/deferred markers.
15
+ Output: Phase deleted, all subsequent phases renumbered, git commit as historical record.
16
+ </objective>
17
+
18
+ <execution_context>
19
+ @~/.claude/ez-agents/workflows/remove-phase.md
20
+ </execution_context>
21
+
22
+ <context>
23
+ Phase: $ARGUMENTS
24
+
25
+ Roadmap and state are resolved in-workflow via `init phase-op` and targeted reads.
26
+ </context>
27
+
28
+ <process>
29
+ Execute the remove-phase workflow from @~/.claude/ez-agents/workflows/remove-phase.md end-to-end.
30
+ Preserve all validation gates (future phase check, work check), renumbering logic, and commit.
31
+ </process>
@@ -0,0 +1,190 @@
1
+ ---
2
+ name: ez:research-phase
3
+ description: Research how to implement a phase (standalone - usually use /ez:plan-phase instead)
4
+ argument-hint: "[phase]"
5
+ allowed-tools:
6
+ - Read
7
+ - Bash
8
+ - Task
9
+ ---
10
+
11
+ <objective>
12
+ Research how to implement a phase. Spawns ez-phase-researcher agent with phase context.
13
+
14
+ **Note:** This is a standalone research command. For most workflows, use `/ez:plan-phase` which integrates research automatically.
15
+
16
+ **Use this command when:**
17
+ - You want to research without planning yet
18
+ - You want to re-research after planning is complete
19
+ - You need to investigate before deciding if a phase is feasible
20
+
21
+ **Orchestrator role:** Parse phase, validate against roadmap, check existing research, gather context, spawn researcher agent, present results.
22
+
23
+ **Why subagent:** Research burns context fast (WebSearch, Context7 queries, source verification). Fresh 200k context for investigation. Main context stays lean for user interaction.
24
+ </objective>
25
+
26
+ <context>
27
+ Phase number: $ARGUMENTS (required)
28
+
29
+ Normalize phase input in step 1 before any directory lookups.
30
+ </context>
31
+
32
+ <process>
33
+
34
+ ## 0. Initialize Context
35
+
36
+ ```bash
37
+ INIT=$(node "$HOME/.claude/ez-agents/bin/ez-tools.cjs" init phase-op "$ARGUMENTS")
38
+ if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
39
+ ```
40
+
41
+ Extract from init JSON: `phase_dir`, `phase_number`, `phase_name`, `phase_found`, `commit_docs`, `has_research`, `state_path`, `requirements_path`, `context_path`, `research_path`.
42
+
43
+ Resolve researcher model:
44
+ ```bash
45
+ RESEARCHER_MODEL=$(node "$HOME/.claude/ez-agents/bin/ez-tools.cjs" resolve-model ez-phase-researcher --raw)
46
+ ```
47
+
48
+ ## 1. Validate Phase
49
+
50
+ ```bash
51
+ PHASE_INFO=$(node "$HOME/.claude/ez-agents/bin/ez-tools.cjs" roadmap get-phase "${phase_number}")
52
+ ```
53
+
54
+ **If `found` is false:** Error and exit. **If `found` is true:** Extract `phase_number`, `phase_name`, `goal` from JSON.
55
+
56
+ ## 2. Check Existing Research
57
+
58
+ ```bash
59
+ ls .planning/phases/${PHASE}-*/RESEARCH.md 2>/dev/null
60
+ ```
61
+
62
+ **If exists:** Offer: 1) Update research, 2) View existing, 3) Skip. Wait for response.
63
+
64
+ **If doesn't exist:** Continue.
65
+
66
+ ## 3. Gather Phase Context
67
+
68
+ Use paths from INIT (do not inline file contents in orchestrator context):
69
+ - `requirements_path`
70
+ - `context_path`
71
+ - `state_path`
72
+
73
+ Present summary with phase description and what files the researcher will load.
74
+
75
+ ## 4. Spawn ez-phase-researcher Agent
76
+
77
+ Research modes: ecosystem (default), feasibility, implementation, comparison.
78
+
79
+ ```markdown
80
+ <research_type>
81
+ Phase Research — investigating HOW to implement a specific phase well.
82
+ </research_type>
83
+
84
+ <key_insight>
85
+ The question is NOT "which library should I use?"
86
+
87
+ The question is: "What do I not know that I don't know?"
88
+
89
+ For this phase, discover:
90
+ - What's the established architecture pattern?
91
+ - What libraries form the standard stack?
92
+ - What problems do people commonly hit?
93
+ - What's SOTA vs what Claude's training thinks is SOTA?
94
+ - What should NOT be hand-rolled?
95
+ </key_insight>
96
+
97
+ <objective>
98
+ Research implementation approach for Phase {phase_number}: {phase_name}
99
+ Mode: ecosystem
100
+ </objective>
101
+
102
+ <files_to_read>
103
+ - {requirements_path} (Requirements)
104
+ - {context_path} (Phase context from discuss-phase, if exists)
105
+ - {state_path} (Prior project decisions and blockers)
106
+ </files_to_read>
107
+
108
+ <additional_context>
109
+ **Phase description:** {phase_description}
110
+ </additional_context>
111
+
112
+ <downstream_consumer>
113
+ Your RESEARCH.md will be loaded by `/ez:plan-phase` which uses specific sections:
114
+ - `## Standard Stack` → Plans use these libraries
115
+ - `## Architecture Patterns` → Task structure follows these
116
+ - `## Don't Hand-Roll` → Tasks NEVER build custom solutions for listed problems
117
+ - `## Common Pitfalls` → Verification steps check for these
118
+ - `## Code Examples` → Task actions reference these patterns
119
+
120
+ Be prescriptive, not exploratory. "Use X" not "Consider X or Y."
121
+ </downstream_consumer>
122
+
123
+ <quality_gate>
124
+ Before declaring complete, verify:
125
+ - [ ] All domains investigated (not just some)
126
+ - [ ] Negative claims verified with official docs
127
+ - [ ] Multiple sources for critical claims
128
+ - [ ] Confidence levels assigned honestly
129
+ - [ ] Section names match what plan-phase expects
130
+ </quality_gate>
131
+
132
+ <output>
133
+ Write to: .planning/phases/${PHASE}-{slug}/${PHASE}-RESEARCH.md
134
+ </output>
135
+ ```
136
+
137
+ ```
138
+ Task(
139
+ prompt=filled_prompt,
140
+ subagent_type="ez-phase-researcher",
141
+ model="{researcher_model}",
142
+ description="Research Phase {phase}"
143
+ )
144
+ ```
145
+
146
+ ## 5. Handle Agent Return
147
+
148
+ **`## RESEARCH COMPLETE`:** Display summary, offer: Plan phase, Dig deeper, Review full, Done.
149
+
150
+ **`## CHECKPOINT REACHED`:** Present to user, get response, spawn continuation.
151
+
152
+ **`## RESEARCH INCONCLUSIVE`:** Show what was attempted, offer: Add context, Try different mode, Manual.
153
+
154
+ ## 6. Spawn Continuation Agent
155
+
156
+ ```markdown
157
+ <objective>
158
+ Continue research for Phase {phase_number}: {phase_name}
159
+ </objective>
160
+
161
+ <prior_state>
162
+ <files_to_read>
163
+ - .planning/phases/${PHASE}-{slug}/${PHASE}-RESEARCH.md (Existing research)
164
+ </files_to_read>
165
+ </prior_state>
166
+
167
+ <checkpoint_response>
168
+ **Type:** {checkpoint_type}
169
+ **Response:** {user_response}
170
+ </checkpoint_response>
171
+ ```
172
+
173
+ ```
174
+ Task(
175
+ prompt=continuation_prompt,
176
+ subagent_type="ez-phase-researcher",
177
+ model="{researcher_model}",
178
+ description="Continue research Phase {phase}"
179
+ )
180
+ ```
181
+
182
+ </process>
183
+
184
+ <success_criteria>
185
+ - [ ] Phase validated against roadmap
186
+ - [ ] Existing research checked
187
+ - [ ] gsd-phase-researcher spawned with context
188
+ - [ ] Checkpoints handled correctly
189
+ - [ ] User knows next steps
190
+ </success_criteria>
@@ -0,0 +1,40 @@
1
+ ---
2
+ name: ez:resume-work
3
+ description: Resume work from previous session with full context restoration
4
+ allowed-tools:
5
+ - Read
6
+ - Bash
7
+ - Write
8
+ - AskUserQuestion
9
+ - SlashCommand
10
+ ---
11
+
12
+ <objective>
13
+ Restore complete project context and resume work seamlessly from previous session.
14
+
15
+ Routes to the resume-project workflow which handles:
16
+
17
+ - STATE.md loading (or reconstruction if missing)
18
+ - Checkpoint detection (.continue-here files)
19
+ - Incomplete work detection (PLAN without SUMMARY)
20
+ - Status presentation
21
+ - Context-aware next action routing
22
+ </objective>
23
+
24
+ <execution_context>
25
+ @~/.claude/ez-agents/workflows/resume-project.md
26
+ </execution_context>
27
+
28
+ <process>
29
+ **Follow the resume-project workflow** from `@~/.claude/ez-agents/workflows/resume-project.md`.
30
+
31
+ The workflow handles all resumption logic including:
32
+
33
+ 1. Project existence verification
34
+ 2. STATE.md loading or reconstruction
35
+ 3. Checkpoint and incomplete work detection
36
+ 4. Visual status presentation
37
+ 5. Context-aware option offering (checks CONTEXT.md before suggesting plan vs discuss)
38
+ 6. Routing to appropriate next command
39
+ 7. Session continuity updates
40
+ </process>
@@ -0,0 +1,34 @@
1
+ ---
2
+ name: ez:set-profile
3
+ description: Switch model profile for EZ Agents agents (quality/balanced/budget)
4
+ argument-hint: <profile>
5
+ allowed-tools:
6
+ - Read
7
+ - Write
8
+ - Bash
9
+ ---
10
+
11
+ <objective>
12
+ Switch the model profile used by EZ Agents agents. Controls which Claude model each agent uses, balancing quality vs token spend.
13
+
14
+ Routes to the set-profile workflow which handles:
15
+ - Argument validation (quality/balanced/budget)
16
+ - Config file creation if missing
17
+ - Profile update in config.json
18
+ - Confirmation with model table display
19
+ </objective>
20
+
21
+ <execution_context>
22
+ @~/.claude/ez-agents/workflows/set-profile.md
23
+ </execution_context>
24
+
25
+ <process>
26
+ **Follow the set-profile workflow** from `@~/.claude/ez-agents/workflows/set-profile.md`.
27
+
28
+ The workflow handles all logic including:
29
+ 1. Profile argument validation
30
+ 2. Config file ensuring
31
+ 3. Config reading and updating
32
+ 4. Model table generation from MODEL_PROFILES
33
+ 5. Confirmation display
34
+ </process>
@@ -0,0 +1,36 @@
1
+ ---
2
+ name: ez:settings
3
+ description: Configure EZ Agents workflow toggles and model profile
4
+ allowed-tools:
5
+ - Read
6
+ - Write
7
+ - Bash
8
+ - AskUserQuestion
9
+ ---
10
+
11
+ <objective>
12
+ Interactive configuration of EZ Agents workflow agents and model profile via multi-question prompt.
13
+
14
+ Routes to the settings workflow which handles:
15
+ - Config existence ensuring
16
+ - Current settings reading and parsing
17
+ - Interactive 5-question prompt (model, research, plan_check, verifier, branching)
18
+ - Config merging and writing
19
+ - Confirmation display with quick command references
20
+ </objective>
21
+
22
+ <execution_context>
23
+ @~/.claude/ez-agents/workflows/settings.md
24
+ </execution_context>
25
+
26
+ <process>
27
+ **Follow the settings workflow** from `@~/.claude/ez-agents/workflows/settings.md`.
28
+
29
+ The workflow handles all logic including:
30
+ 1. Config file creation with defaults if missing
31
+ 2. Current config reading
32
+ 3. Interactive settings presentation with pre-selection
33
+ 4. Answer parsing and config merging
34
+ 5. File writing
35
+ 6. Confirmation display
36
+ </process>
@@ -0,0 +1,18 @@
1
+ ---
2
+ name: ez:stats
3
+ description: Display project statistics — phases, plans, requirements, git metrics, and timeline
4
+ allowed-tools:
5
+ - Read
6
+ - Bash
7
+ ---
8
+ <objective>
9
+ Display comprehensive project statistics including phase progress, plan execution metrics, requirements completion, git history stats, and project timeline.
10
+ </objective>
11
+
12
+ <execution_context>
13
+ @~/.claude/ez-agents/workflows/stats.md
14
+ </execution_context>
15
+
16
+ <process>
17
+ Execute the stats workflow from @~/.claude/ez-agents/workflows/stats.md end-to-end.
18
+ </process>
@@ -0,0 +1,34 @@
1
+ ---
2
+ name: ez:ui-phase
3
+ description: Generate UI design contract (UI-SPEC.md) for frontend phases
4
+ argument-hint: "[phase]"
5
+ allowed-tools:
6
+ - Read
7
+ - Write
8
+ - Bash
9
+ - Glob
10
+ - Grep
11
+ - Task
12
+ - WebFetch
13
+ - AskUserQuestion
14
+ - mcp__context7__*
15
+ ---
16
+ <objective>
17
+ Create a UI design contract (UI-SPEC.md) for a frontend phase.
18
+ Orchestrates ez-ui-researcher and ez-ui-checker.
19
+ Flow: Validate → Research UI → Verify UI-SPEC → Done
20
+ </objective>
21
+
22
+ <execution_context>
23
+ @~/.claude/ez-agents/workflows/ui-phase.md
24
+ @~/.claude/ez-agents/references/ui-brand.md
25
+ </execution_context>
26
+
27
+ <context>
28
+ Phase number: $ARGUMENTS — optional, auto-detects next unplanned phase if omitted.
29
+ </context>
30
+
31
+ <process>
32
+ Execute @~/.claude/ez-agents/workflows/ui-phase.md end-to-end.
33
+ Preserve all workflow gates.
34
+ </process>
@@ -0,0 +1,32 @@
1
+ ---
2
+ name: ez:ui-review
3
+ description: Retroactive 6-pillar visual audit of implemented frontend code
4
+ argument-hint: "[phase]"
5
+ allowed-tools:
6
+ - Read
7
+ - Write
8
+ - Bash
9
+ - Glob
10
+ - Grep
11
+ - Task
12
+ - AskUserQuestion
13
+ ---
14
+ <objective>
15
+ Conduct a retroactive 6-pillar visual audit. Produces UI-REVIEW.md with
16
+ graded assessment (1-4 per pillar). Works on any project.
17
+ Output: {phase_num}-UI-REVIEW.md
18
+ </objective>
19
+
20
+ <execution_context>
21
+ @~/.claude/ez-agents/workflows/ui-review.md
22
+ @~/.claude/ez-agents/references/ui-brand.md
23
+ </execution_context>
24
+
25
+ <context>
26
+ Phase: $ARGUMENTS — optional, defaults to last completed phase.
27
+ </context>
28
+
29
+ <process>
30
+ Execute @~/.claude/ez-agents/workflows/ui-review.md end-to-end.
31
+ Preserve all workflow gates.
32
+ </process>