@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
package/bin/update.js ADDED
@@ -0,0 +1,214 @@
1
+ #!/usr/bin/env node
2
+
3
+ /**
4
+ * EZ Agents Update — Check and install updates
5
+ *
6
+ * Usage:
7
+ * ez-agents-update # Check for updates
8
+ * ez-agents-update --check # Check only
9
+ * ez-agents-update --force # Force reinstall
10
+ * ez-agents-update --changelog # Show changelog
11
+ */
12
+
13
+ const { execSync } = require('child_process');
14
+ const path = require('path');
15
+
16
+ const PACKAGE_NAME = 'ez-agents';
17
+ const REPO_URL = 'https://github.com/howlil/ez-agents.git';
18
+
19
+ // Colors for output
20
+ const colors = {
21
+ reset: '\x1b[0m',
22
+ green: '\x1b[32m',
23
+ yellow: '\x1b[33m',
24
+ blue: '\x1b[34m',
25
+ red: '\x1b[31m',
26
+ bold: '\x1b[1m'
27
+ };
28
+
29
+ function log(message, color = 'reset') {
30
+ console.log(`${colors[color]}${message}${colors.reset}`);
31
+ }
32
+
33
+ /**
34
+ * Get current installed version
35
+ */
36
+ function getCurrentVersion() {
37
+ try {
38
+ const pkg = require('./package.json');
39
+ return pkg.version;
40
+ } catch {
41
+ return 'unknown';
42
+ }
43
+ }
44
+
45
+ /**
46
+ * Get latest version from npm
47
+ */
48
+ function getLatestVersion() {
49
+ try {
50
+ const output = execSync(`npm view ${PACKAGE_NAME} version`, {
51
+ encoding: 'utf-8',
52
+ stdio: ['pipe', 'pipe', 'ignore']
53
+ });
54
+ return output.trim();
55
+ } catch {
56
+ // Fallback: check GitHub repo
57
+ try {
58
+ const output = execSync(`npm view git+${REPO_URL} version`, {
59
+ encoding: 'utf-8',
60
+ stdio: ['pipe', 'pipe', 'ignore']
61
+ });
62
+ return output.trim();
63
+ } catch {
64
+ return null;
65
+ }
66
+ }
67
+ }
68
+
69
+ /**
70
+ * Check if update is available
71
+ */
72
+ function checkUpdate() {
73
+ const current = getCurrentVersion();
74
+ const latest = getLatestVersion();
75
+
76
+ log('\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━', 'blue');
77
+ log(' EZ Agents Update Check', 'bold');
78
+ log('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n', 'blue');
79
+
80
+ log(`Current version: ${colors.bold}v${current}${colors.reset}`);
81
+
82
+ if (!latest) {
83
+ log('Unable to check for updates (no network or repo unavailable)', 'yellow');
84
+ return;
85
+ }
86
+
87
+ log(`Latest version: ${colors.bold}v${latest}${colors.reset}\n`);
88
+
89
+ if (current === latest) {
90
+ log('✓ You are on the latest version!\n', 'green');
91
+ return false;
92
+ }
93
+
94
+ log(`⚡ Update available: v${current} → v${latest}\n`, 'yellow');
95
+ log('To update, run:\n', 'blue');
96
+ log(` npm install -g ${PACKAGE_NAME}@latest\n`, 'green');
97
+ log('Or force reinstall:\n', 'blue');
98
+ log(` ez-agents-update --force\n`, 'green');
99
+
100
+ return true;
101
+ }
102
+
103
+ /**
104
+ * Install update
105
+ */
106
+ function installUpdate(force = false) {
107
+ log('\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━', 'blue');
108
+ log(' EZ Agents Update', 'bold');
109
+ log('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n', 'blue');
110
+
111
+ const current = getCurrentVersion();
112
+ const latest = getLatestVersion();
113
+
114
+ if (!latest) {
115
+ log('Unable to check for updates', 'red');
116
+ process.exit(1);
117
+ }
118
+
119
+ if (current === latest && !force) {
120
+ log('Already on latest version', 'green');
121
+ return;
122
+ }
123
+
124
+ log(`Updating: v${current} → v${latest}...\n`, 'blue');
125
+
126
+ try {
127
+ execSync(`npm install -g ${PACKAGE_NAME}@latest`, {
128
+ stdio: 'inherit'
129
+ });
130
+
131
+ log('\n✓ Update complete!\n', 'green');
132
+ log('Restart your terminal or run:\n', 'blue');
133
+ log(` ez-agents --version\n`, 'green');
134
+ } catch (err) {
135
+ log('\n✗ Update failed\n', 'red');
136
+ log('Try manual install:\n', 'yellow');
137
+ log(` npm install -g ${PACKAGE_NAME}@latest\n`, 'blue');
138
+ process.exit(1);
139
+ }
140
+ }
141
+
142
+ /**
143
+ * Show changelog
144
+ */
145
+ function showChangelog() {
146
+ log('\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━', 'blue');
147
+ log(' EZ Agents Changelog', 'bold');
148
+ log('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n', 'blue');
149
+
150
+ try {
151
+ const fs = require('fs');
152
+ const changelogPath = path.join(__dirname, 'CHANGELOG.md');
153
+
154
+ if (fs.existsSync(changelogPath)) {
155
+ const content = fs.readFileSync(changelogPath, 'utf-8');
156
+ // Show first 50 lines
157
+ const lines = content.split('\n').slice(0, 50);
158
+ log(lines.join('\n'));
159
+ } else {
160
+ log('CHANGELOG.md not found', 'yellow');
161
+ log(`\nView online: ${REPO_URL}/blob/main/CHANGELOG.md\n`, 'blue');
162
+ }
163
+ } catch (err) {
164
+ log('Unable to read changelog', 'red');
165
+ }
166
+ }
167
+
168
+ /**
169
+ * Show help
170
+ */
171
+ function showHelp() {
172
+ log(`
173
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
174
+ EZ Agents Update — Check and Install Updates
175
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
176
+
177
+ Usage:
178
+ ez-agents-update [options]
179
+
180
+ Options:
181
+ --check Check for updates (don't install)
182
+ --force Force reinstall even if up-to-date
183
+ --changelog Show changelog
184
+ --help Show this help message
185
+
186
+ Examples:
187
+ ez-agents-update # Check and prompt to update
188
+ ez-agents-update --check # Check only
189
+ ez-agents-update --force # Force reinstall
190
+ ez-agents-update --changelog # View changelog
191
+
192
+ Manual Update:
193
+ npm install -g ez-agents@latest
194
+ `);
195
+ }
196
+
197
+ // Main
198
+ const args = process.argv.slice(2);
199
+
200
+ if (args.includes('--help') || args.includes('-h')) {
201
+ showHelp();
202
+ } else if (args.includes('--changelog')) {
203
+ showChangelog();
204
+ } else if (args.includes('--check')) {
205
+ checkUpdate();
206
+ } else if (args.includes('--force')) {
207
+ installUpdate(true);
208
+ } else {
209
+ const hasUpdate = checkUpdate();
210
+ if (hasUpdate) {
211
+ // Auto-prompt (simple version)
212
+ log('Run "ez-agents-update --force" to update now\n');
213
+ }
214
+ }
@@ -0,0 +1,43 @@
1
+ ---
2
+ name: ez:add-phase
3
+ description: Add phase to end of current milestone in roadmap
4
+ argument-hint: <description>
5
+ allowed-tools:
6
+ - Read
7
+ - Write
8
+ - Bash
9
+ ---
10
+
11
+ <objective>
12
+ Add a new integer phase to the end of the current milestone in the roadmap.
13
+
14
+ Routes to the add-phase workflow which handles:
15
+ - Phase number calculation (next sequential integer)
16
+ - Directory creation with slug generation
17
+ - Roadmap structure updates
18
+ - STATE.md roadmap evolution tracking
19
+ </objective>
20
+
21
+ <execution_context>
22
+ @~/.claude/ez-agents/workflows/add-phase.md
23
+ </execution_context>
24
+
25
+ <context>
26
+ Arguments: $ARGUMENTS (phase description)
27
+
28
+ Roadmap and state are resolved in-workflow via `init phase-op` and targeted tool calls.
29
+ </context>
30
+
31
+ <process>
32
+ **Follow the add-phase workflow** from `@~/.claude/ez-agents/workflows/add-phase.md`.
33
+
34
+ The workflow handles all logic including:
35
+ 1. Argument parsing and validation
36
+ 2. Roadmap existence checking
37
+ 3. Current milestone identification
38
+ 4. Next phase number calculation (ignoring decimals)
39
+ 5. Slug generation from description
40
+ 6. Phase directory creation
41
+ 7. Roadmap entry insertion
42
+ 8. STATE.md updates
43
+ </process>
@@ -0,0 +1,41 @@
1
+ ---
2
+ name: ez:add-tests
3
+ description: Generate tests for a completed phase based on UAT criteria and implementation
4
+ argument-hint: "<phase> [additional instructions]"
5
+ allowed-tools:
6
+ - Read
7
+ - Write
8
+ - Edit
9
+ - Bash
10
+ - Glob
11
+ - Grep
12
+ - Task
13
+ - AskUserQuestion
14
+ argument-instructions: |
15
+ Parse the argument as a phase number (integer, decimal, or letter-suffix), plus optional free-text instructions.
16
+ Example: /ez:add-tests 12
17
+ Example: /ez:add-tests 12 focus on edge cases in the pricing module
18
+ ---
19
+ <objective>
20
+ Generate unit and E2E tests for a completed phase, using its SUMMARY.md, CONTEXT.md, and VERIFICATION.md as specifications.
21
+
22
+ Analyzes implementation files, classifies them into TDD (unit), E2E (browser), or Skip categories, presents a test plan for user approval, then generates tests following RED-GREEN conventions.
23
+
24
+ Output: Test files committed with message `test(phase-{N}): add unit and E2E tests from add-tests command`
25
+ </objective>
26
+
27
+ <execution_context>
28
+ @~/.claude/ez-agents/workflows/add-tests.md
29
+ </execution_context>
30
+
31
+ <context>
32
+ Phase: $ARGUMENTS
33
+
34
+ @.planning/STATE.md
35
+ @.planning/ROADMAP.md
36
+ </context>
37
+
38
+ <process>
39
+ Execute the add-tests workflow from @~/.claude/ez-agents/workflows/add-tests.md end-to-end.
40
+ Preserve all workflow gates (classification approval, test plan approval, RED-GREEN verification, gap reporting).
41
+ </process>
@@ -0,0 +1,47 @@
1
+ ---
2
+ name: ez:add-todo
3
+ description: Capture idea or task as todo from current conversation context
4
+ argument-hint: [optional description]
5
+ allowed-tools:
6
+ - Read
7
+ - Write
8
+ - Bash
9
+ - AskUserQuestion
10
+ ---
11
+
12
+ <objective>
13
+ Capture an idea, task, or issue that surfaces during an EZ Agents session as a structured todo for later work.
14
+
15
+ Routes to the add-todo workflow which handles:
16
+ - Directory structure creation
17
+ - Content extraction from arguments or conversation
18
+ - Area inference from file paths
19
+ - Duplicate detection and resolution
20
+ - Todo file creation with frontmatter
21
+ - STATE.md updates
22
+ - Git commits
23
+ </objective>
24
+
25
+ <execution_context>
26
+ @~/.claude/ez-agents/workflows/add-todo.md
27
+ </execution_context>
28
+
29
+ <context>
30
+ Arguments: $ARGUMENTS (optional todo description)
31
+
32
+ State is resolved in-workflow via `init todos` and targeted reads.
33
+ </context>
34
+
35
+ <process>
36
+ **Follow the add-todo workflow** from `@~/.claude/ez-agents/workflows/add-todo.md`.
37
+
38
+ The workflow handles all logic including:
39
+ 1. Directory ensuring
40
+ 2. Existing area checking
41
+ 3. Content extraction (arguments or conversation)
42
+ 4. Area inference
43
+ 5. Duplicate checking
44
+ 6. File creation with slug generation
45
+ 7. STATE.md updates
46
+ 8. Git commits
47
+ </process>
@@ -0,0 +1,36 @@
1
+ ---
2
+ name: ez:audit-milestone
3
+ description: Audit milestone completion against original intent before archiving
4
+ argument-hint: "[version]"
5
+ allowed-tools:
6
+ - Read
7
+ - Glob
8
+ - Grep
9
+ - Bash
10
+ - Task
11
+ - Write
12
+ ---
13
+ <objective>
14
+ Verify milestone achieved its definition of done. Check requirements coverage, cross-phase integration, and end-to-end flows.
15
+
16
+ **This command IS the orchestrator.** Reads existing VERIFICATION.md files (phases already verified during execute-phase), aggregates tech debt and deferred gaps, then spawns integration checker for cross-phase wiring.
17
+ </objective>
18
+
19
+ <execution_context>
20
+ @~/.claude/ez-agents/workflows/audit-milestone.md
21
+ </execution_context>
22
+
23
+ <context>
24
+ Version: $ARGUMENTS (optional — defaults to current milestone)
25
+
26
+ Core planning files are resolved in-workflow (`init milestone-op`) and loaded only as needed.
27
+
28
+ **Completed Work:**
29
+ Glob: .planning/phases/*/*-SUMMARY.md
30
+ Glob: .planning/phases/*/*-VERIFICATION.md
31
+ </context>
32
+
33
+ <process>
34
+ Execute the audit-milestone workflow from @~/.claude/ez-agents/workflows/audit-milestone.md end-to-end.
35
+ Preserve all workflow gates (scope determination, verification reading, integration check, requirements coverage, routing).
36
+ </process>
@@ -0,0 +1,41 @@
1
+ ---
2
+ name: ez:autonomous
3
+ description: Run all remaining phases autonomously — discuss→plan→execute per phase
4
+ argument-hint: "[--from N]"
5
+ allowed-tools:
6
+ - Read
7
+ - Write
8
+ - Bash
9
+ - Glob
10
+ - Grep
11
+ - AskUserQuestion
12
+ - Task
13
+ ---
14
+ <objective>
15
+ Execute all remaining milestone phases autonomously. For each phase: discuss → plan → execute. Pauses only for user decisions (grey area acceptance, blockers, validation requests).
16
+
17
+ Uses ROADMAP.md phase discovery and Skill() flat invocations for each phase command. After all phases complete: milestone audit → complete → cleanup.
18
+
19
+ **Creates/Updates:**
20
+ - `.planning/STATE.md` — updated after each phase
21
+ - `.planning/ROADMAP.md` — progress updated after each phase
22
+ - Phase artifacts — CONTEXT.md, PLANs, SUMMARYs per phase
23
+
24
+ **After:** Milestone is complete and cleaned up.
25
+ </objective>
26
+
27
+ <execution_context>
28
+ @~/.claude/ez-agents/workflows/autonomous.md
29
+ @~/.claude/ez-agents/references/ui-brand.md
30
+ </execution_context>
31
+
32
+ <context>
33
+ Optional flag: `--from N` — start from phase N instead of the first incomplete phase.
34
+
35
+ Project context, phase list, and state are resolved inside the workflow using init commands (`ez-tools.cjs init milestone-op`, `ez-tools.cjs roadmap analyze`). No upfront context loading needed.
36
+ </context>
37
+
38
+ <process>
39
+ Execute the autonomous workflow from @~/.claude/ez-agents/workflows/autonomous.md end-to-end.
40
+ Preserve all workflow gates (phase discovery, per-phase execution, blocker handling, progress display).
41
+ </process>
@@ -0,0 +1,45 @@
1
+ ---
2
+ name: ez:check-todos
3
+ description: List pending todos and select one to work on
4
+ argument-hint: [area filter]
5
+ allowed-tools:
6
+ - Read
7
+ - Write
8
+ - Bash
9
+ - AskUserQuestion
10
+ ---
11
+
12
+ <objective>
13
+ List all pending todos, allow selection, load full context for the selected todo, and route to appropriate action.
14
+
15
+ Routes to the check-todos workflow which handles:
16
+ - Todo counting and listing with area filtering
17
+ - Interactive selection with full context loading
18
+ - Roadmap correlation checking
19
+ - Action routing (work now, add to phase, brainstorm, create phase)
20
+ - STATE.md updates and git commits
21
+ </objective>
22
+
23
+ <execution_context>
24
+ @~/.claude/ez-agents/workflows/check-todos.md
25
+ </execution_context>
26
+
27
+ <context>
28
+ Arguments: $ARGUMENTS (optional area filter)
29
+
30
+ Todo state and roadmap correlation are loaded in-workflow using `init todos` and targeted reads.
31
+ </context>
32
+
33
+ <process>
34
+ **Follow the check-todos workflow** from `@~/.claude/ez-agents/workflows/check-todos.md`.
35
+
36
+ The workflow handles all logic including:
37
+ 1. Todo existence checking
38
+ 2. Area filtering
39
+ 3. Interactive listing and selection
40
+ 4. Full context loading with file summaries
41
+ 5. Roadmap correlation checking
42
+ 6. Action offering and execution
43
+ 7. STATE.md updates
44
+ 8. Git commits
45
+ </process>
@@ -0,0 +1,18 @@
1
+ ---
2
+ name: ez:cleanup
3
+ description: Archive accumulated phase directories from completed milestones
4
+ ---
5
+ <objective>
6
+ Archive phase directories from completed milestones into `.planning/milestones/v{X.Y}-phases/`.
7
+
8
+ Use when `.planning/phases/` has accumulated directories from past milestones.
9
+ </objective>
10
+
11
+ <execution_context>
12
+ @~/.claude/ez-agents/workflows/cleanup.md
13
+ </execution_context>
14
+
15
+ <process>
16
+ Follow the cleanup workflow at @~/.claude/ez-agents/workflows/cleanup.md.
17
+ Identify completed milestones, show a dry-run summary, and archive on confirmation.
18
+ </process>
@@ -0,0 +1,136 @@
1
+ ---
2
+ type: prompt
3
+ name: ez:complete-milestone
4
+ description: Archive completed milestone and prepare for next version
5
+ argument-hint: <version>
6
+ allowed-tools:
7
+ - Read
8
+ - Write
9
+ - Bash
10
+ ---
11
+
12
+ <objective>
13
+ Mark milestone {{version}} complete, archive to milestones/, and update ROADMAP.md and REQUIREMENTS.md.
14
+
15
+ Purpose: Create historical record of shipped version, archive milestone artifacts (roadmap + requirements), and prepare for next milestone.
16
+ Output: Milestone archived (roadmap + requirements), PROJECT.md evolved, git tagged.
17
+ </objective>
18
+
19
+ <execution_context>
20
+ **Load these files NOW (before proceeding):**
21
+
22
+ - @~/.claude/ez-agents/workflows/complete-milestone.md (main workflow)
23
+ - @~/.claude/ez-agents/templates/milestone-archive.md (archive template)
24
+ </execution_context>
25
+
26
+ <context>
27
+ **Project files:**
28
+ - `.planning/ROADMAP.md`
29
+ - `.planning/REQUIREMENTS.md`
30
+ - `.planning/STATE.md`
31
+ - `.planning/PROJECT.md`
32
+
33
+ **User input:**
34
+
35
+ - Version: {{version}} (e.g., "1.0", "1.1", "2.0")
36
+ </context>
37
+
38
+ <process>
39
+
40
+ **Follow complete-milestone.md workflow:**
41
+
42
+ 0. **Check for audit:**
43
+
44
+ - Look for `.planning/v{{version}}-MILESTONE-AUDIT.md`
45
+ - If missing or stale: recommend `/ez:audit-milestone` first
46
+ - If audit status is `gaps_found`: recommend `/ez:plan-milestone-gaps` first
47
+ - If audit status is `passed`: proceed to step 1
48
+
49
+ ```markdown
50
+ ## Pre-flight Check
51
+
52
+ {If no v{{version}}-MILESTONE-AUDIT.md:}
53
+ ⚠ No milestone audit found. Run `/ez:audit-milestone` first to verify
54
+ requirements coverage, cross-phase integration, and E2E flows.
55
+
56
+ {If audit has gaps:}
57
+ ⚠ Milestone audit found gaps. Run `/ez:plan-milestone-gaps` to create
58
+ phases that close the gaps, or proceed anyway to accept as tech debt.
59
+
60
+ {If audit passed:}
61
+ ✓ Milestone audit passed. Proceeding with completion.
62
+ ```
63
+
64
+ 1. **Verify readiness:**
65
+
66
+ - Check all phases in milestone have completed plans (SUMMARY.md exists)
67
+ - Present milestone scope and stats
68
+ - Wait for confirmation
69
+
70
+ 2. **Gather stats:**
71
+
72
+ - Count phases, plans, tasks
73
+ - Calculate git range, file changes, LOC
74
+ - Extract timeline from git log
75
+ - Present summary, confirm
76
+
77
+ 3. **Extract accomplishments:**
78
+
79
+ - Read all phase SUMMARY.md files in milestone range
80
+ - Extract 4-6 key accomplishments
81
+ - Present for approval
82
+
83
+ 4. **Archive milestone:**
84
+
85
+ - Create `.planning/milestones/v{{version}}-ROADMAP.md`
86
+ - Extract full phase details from ROADMAP.md
87
+ - Fill milestone-archive.md template
88
+ - Update ROADMAP.md to one-line summary with link
89
+
90
+ 5. **Archive requirements:**
91
+
92
+ - Create `.planning/milestones/v{{version}}-REQUIREMENTS.md`
93
+ - Mark all v1 requirements as complete (checkboxes checked)
94
+ - Note requirement outcomes (validated, adjusted, dropped)
95
+ - Delete `.planning/REQUIREMENTS.md` (fresh one created for next milestone)
96
+
97
+ 6. **Update PROJECT.md:**
98
+
99
+ - Add "Current State" section with shipped version
100
+ - Add "Next Milestone Goals" section
101
+ - Archive previous content in `<details>` (if v1.1+)
102
+
103
+ 7. **Commit and tag:**
104
+
105
+ - Stage: MILESTONES.md, PROJECT.md, ROADMAP.md, STATE.md, archive files
106
+ - Commit: `chore: archive v{{version}} milestone`
107
+ - Tag: `git tag -a v{{version}} -m "[milestone summary]"`
108
+ - Ask about pushing tag
109
+
110
+ 8. **Offer next steps:**
111
+ - `/ez:new-milestone` — start next milestone (questioning → research → requirements → roadmap)
112
+
113
+ </process>
114
+
115
+ <success_criteria>
116
+
117
+ - Milestone archived to `.planning/milestones/v{{version}}-ROADMAP.md`
118
+ - Requirements archived to `.planning/milestones/v{{version}}-REQUIREMENTS.md`
119
+ - `.planning/REQUIREMENTS.md` deleted (fresh for next milestone)
120
+ - ROADMAP.md collapsed to one-line entry
121
+ - PROJECT.md updated with current state
122
+ - Git tag v{{version}} created
123
+ - Commit successful
124
+ - User knows next steps (including need for fresh requirements)
125
+ </success_criteria>
126
+
127
+ <critical_rules>
128
+
129
+ - **Load workflow first:** Read complete-milestone.md before executing
130
+ - **Verify completion:** All phases must have SUMMARY.md files
131
+ - **User confirmation:** Wait for approval at verification gates
132
+ - **Archive before deleting:** Always create archive files before updating/deleting originals
133
+ - **One-line summary:** Collapsed milestone in ROADMAP.md should be single line with link
134
+ - **Context efficiency:** Archive keeps ROADMAP.md and REQUIREMENTS.md constant size per milestone
135
+ - **Fresh requirements:** Next milestone starts with `/ez:new-milestone` which includes requirements definition
136
+ </critical_rules>