lazyclaude-ai 0.1.18 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/CHANGELOG.md +23 -1
  2. package/README.md +68 -14
  3. package/README_ko-KR.md +70 -14
  4. package/RELEASE_CHECKLIST.md +40 -12
  5. package/bin/lazyclaude-ai.js +11 -1
  6. package/cover.png +0 -0
  7. package/docs/agents.md +33 -0
  8. package/docs/hooks.md +28 -3
  9. package/docs/migration.md +44 -3
  10. package/docs/workflow-compatibility-audit.md +41 -5
  11. package/package.json +1 -2
  12. package/plugins/lazyclaude/.claude-plugin/plugin.json +1 -1
  13. package/plugins/lazyclaude/agents/librarian-researcher.md +4 -0
  14. package/plugins/lazyclaude/agents/oracle-verifier.md +4 -0
  15. package/plugins/lazyclaude/agents/qa-runner.md +4 -0
  16. package/plugins/lazyclaude/agents/quality-reviewer.md +5 -0
  17. package/plugins/lazyclaude/bin/lazyclaude-hook.js +10 -1
  18. package/plugins/lazyclaude/commands/dynamic-workflow.md +32 -0
  19. package/plugins/lazyclaude/commands/review-work.md +35 -0
  20. package/plugins/lazyclaude/commands/start-work.md +15 -0
  21. package/plugins/lazyclaude/commands/ultragoal.md +30 -0
  22. package/plugins/lazyclaude/commands/ulw-loop.md +16 -0
  23. package/plugins/lazyclaude/commands/ulw-plan.md +13 -0
  24. package/plugins/lazyclaude/lib/ultragoal/cli.mjs +266 -0
  25. package/plugins/lazyclaude/lib/ultragoal/ledger.mjs +12 -0
  26. package/plugins/lazyclaude/lib/ultragoal/paths.mjs +7 -0
  27. package/plugins/lazyclaude/lib/ultragoal/state.mjs +52 -0
  28. package/plugins/lazyclaude/lib/workflow-check.mjs +73 -0
  29. package/plugins/lazyclaude/skills/review-work/SKILL.md +255 -38
  30. package/plugins/lazyclaude/skills/start-work/SKILL.md +32 -7
  31. package/plugins/lazyclaude/skills/ultragoal/SKILL.md +181 -59
  32. package/plugins/lazyclaude/skills/ulw-loop/SKILL.md +27 -9
  33. package/plugins/lazyclaude/skills/ulw-plan/SKILL.md +26 -8
  34. package/scripts/doctor.mjs +14 -1
  35. package/scripts/qa-portable-install.sh +16 -3
  36. package/REFERENCE.md +0 -21
package/CHANGELOG.md CHANGED
@@ -1,5 +1,27 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.2.1 - 2026-06-04
4
+
5
+ - Add a dedicated `/dynamic-workflow` route for Dynamic workflow bootstrap,
6
+ native `/goal` fallback guidance, and Claude Code subagent delegation.
7
+ - Add `lazyclaude-ai workflow-check --json` so operators can verify goal,
8
+ Dynamic workflow, hook route, and subagent delegation readiness before full QA.
9
+ - Fix the right-pane `test/` local-session ignore pattern so ad hoc Claude Code
10
+ session artifacts stay out of git and package payloads.
11
+
12
+ ## 0.2.0 - 2026-06-03
13
+
14
+ - Align the package and Claude plugin manifests to `lazyclaude-ai@0.2.0` for
15
+ the workflow parity release candidate.
16
+ - Add the `review-work` 5-lane review route and document its goal/constraint
17
+ verification, hands-on QA execution, code quality, security, and local-first
18
+ context mining lanes.
19
+ - Add the `ultragoal` CLI/runtime surface for durable criteria, evidence,
20
+ checkpoints, steering, and review blocker records under `.omo/ultragoal/`.
21
+ - Keep the release boundary explicit: this version is prepared for verification
22
+ and publication approval, but no npm publish or marketplace publication is claimed
23
+ here.
24
+
3
25
  ## 0.1.18 - 2026-06-02
4
26
 
5
27
  - Shorten the HUD into compact HUD bars with a three-cell context gauge and
@@ -74,7 +96,7 @@
74
96
  checks without requiring install state.
75
97
  - Align package, plugin, README, HUD examples, release checklist, and cover image
76
98
  generation to `lazyclaude-ai@0.1.11`.
77
- - Refresh source-origin-free README, reference metadata, and workflow
99
+ - Refresh README, reference metadata, and workflow
78
100
  compatibility audit wording.
79
101
  - Deepen trigger-specific hook routing for `$ulw-plan`, `$ulw-loop`, and
80
102
  `$start-work`, with safer post-edit diagnostic guidance.
package/README.md CHANGED
@@ -9,7 +9,7 @@
9
9
  </p>
10
10
  <p align="center">
11
11
  <img src="https://img.shields.io/badge/npm-lazyclaude--ai-cb3837" />
12
- <img src="https://img.shields.io/badge/version-0.1.18-2ea44f" />
12
+ <img src="https://img.shields.io/badge/version-0.2.1-2ea44f" />
13
13
  <img src="https://img.shields.io/badge/Claude%20Code-plugin-blueviolet" />
14
14
  <img src="https://img.shields.io/badge/license-MIT-blue" />
15
15
  </p>
@@ -22,12 +22,12 @@
22
22
  > `lazyclaude@lazyclaude-ai`, so normal `claude` launches can load the
23
23
  > LazyClaude skills and hooks without a long `--plugin-dir` command.
24
24
 
25
- This checkout is prepared as `lazyclaude-ai@0.1.18` for personal install
26
- convenience. The repo can remain private and quiet; publishing to npm here does
25
+ This checkout is prepared as `lazyclaude-ai@0.2.1` for personal install
26
+ convenience. The repo can remain quiet; preparing npm package metadata here does
27
27
  not imply public repo promotion, marketplace publication, or advertisement.
28
- Future package releases still require explicit user approval.
29
- The v0.1.18 release materials are source-origin-free and describe LazyClaude in
30
- its own terms.
28
+ Future package releases still require explicit user approval. The v0.2.1
29
+ release materials preserve the v0.2.0 workflow parity work, describe
30
+ LazyClaude in its own terms, and do not claim that npm publication has completed.
31
31
 
32
32
  ## Features
33
33
 
@@ -35,12 +35,22 @@ its own terms.
35
35
  - **ULW prompt hooks** - type `ulw`, `ultrawork`, `$ulw-plan`, or `$ulw-loop`
36
36
  - **Deep interview mode** - type `/deep-interview` or `$deep-interview` to
37
37
  turn broad intent into a spec before planning or implementation
38
+ - **v0.2.0 workflow parity** - adds `review-work` 5-lane review discipline and
39
+ ultragoal runtime docs without claiming a package publication has completed
40
+ - **v0.2.1 dynamic workflow readiness** - adds `/dynamic-workflow` and
41
+ `workflow-check --json` so goal, Dynamic workflow, and subagent delegation
42
+ readiness can be checked before full QA
43
+ - **5-lane review** - `/review-work` checks goal/constraint verification,
44
+ hands-on QA execution, code quality, security, and local-first context mining
38
45
  - **Native goal guidance** - ULW context points Claude toward `/goal` or
39
46
  model-facing `get_goal`, `create_goal`, and delayed `update_goal` when those
40
47
  surfaces exist, and gives a clear fallback when goal tools are unavailable
48
+ - **Ultragoal CLI/state** - `plugins/lazyclaude/lib/ultragoal/` records durable
49
+ criteria, evidence, checkpoints, steering, and review blockers under
50
+ `.omo/ultragoal/`
41
51
  - **Dynamic workflow/worktree guidance** - large or parallel tasks are steered
42
- toward Claude Code Dynamic workflow orchestration and Dynamic worktree
43
- isolation
52
+ toward Claude Code Dynamic workflow orchestration, subagent delegation, and
53
+ Dynamic worktree isolation
44
54
  - **Claude skills** - a richer LazyClaude-owned corpus: `programming`,
45
55
  `debugging`, `refactor`, `ai-slop-remover`, `remove-ai-slops`, `review-work`,
46
56
  `frontend-ui-ux`, `comment-checker`, `rules`, `lsp`, `ultragoal`,
@@ -81,7 +91,7 @@ install command works:
81
91
 
82
92
  ```bash
83
93
  cd /tmp
84
- npx --yes lazyclaude-ai@0.1.18 install
94
+ npx --yes lazyclaude-ai@0.2.1 install
85
95
  ```
86
96
 
87
97
  Validate the installed plugin:
@@ -94,7 +104,7 @@ The installer also sets Claude Code's `statusLine` command to the packaged
94
104
  LazyClaude HUD. A typical no-color render starts like:
95
105
 
96
106
  ```text
97
- [💤LAZYCLAUDE v0.1.18] | O4.8 │ ctx [▎░░] 9%/1000k │ 5h [▏░] 4% ↻2h15m │ 1w [▊░] 35% ↻3d6h │ git main +3 ✓
107
+ [💤LAZYCLAUDE v0.2.1] | O4.8 │ ctx [▎░░] 9%/1000k │ 5h [▏░] 4% ↻2h15m │ 1w [▊░] 35% ↻3d6h │ git main +3 ✓
98
108
  ```
99
109
 
100
110
  The `↻` suffix is a compact rate-limit reset countdown. It is separated from
@@ -167,6 +177,12 @@ $ulw-loop <what you want executed with evidence>
167
177
  /ulw-loop <what you want executed with evidence>
168
178
  $deep-interview <what needs clarification>
169
179
  /deep-interview <what needs clarification>
180
+ $dynamic-workflow <parallel or delegated objective>
181
+ /dynamic-workflow <parallel or delegated objective>
182
+ $review-work <scope to review>
183
+ /review-work <scope to review>
184
+ $ultragoal <goal operation>
185
+ /ultragoal <goal operation>
170
186
  $start-work plans/lazyclaude-retrofit.md
171
187
  /start-work plans/lazyclaude-retrofit.md
172
188
  ```
@@ -195,14 +211,53 @@ Code's available orchestration surfaces: when `Workflow` is exposed, call the
195
211
  `EnterWorktree`. If only the CLI surface is available for a fresh isolated lane,
196
212
  use `claude --worktree <short-name> --tmux`.
197
213
 
214
+ For v0.2.1 dynamic workflow readiness, `/dynamic-workflow` is the consolidated
215
+ bootstrap route for broad delegated work. It keeps `/goal` user-controlled,
216
+ checks model-facing goal tools when exposed, asks for an exact fallback
217
+ `/goal <completion condition>` when needed, and maps subagent delegation to
218
+ `prometheus-planner`, `boulder-executor`, `oracle-verifier`, `qa-runner`,
219
+ `quality-reviewer`, and `librarian-researcher`. Run the package diagnostic from
220
+ the checkout or an installed package before full QA:
221
+
222
+ ```bash
223
+ lazyclaude-ai workflow-check --json
224
+ ```
225
+
226
+ For v0.2.0 workflow parity, `review-work` is the dedicated review route. It is a
227
+ 5-lane review: goal/constraint verification, hands-on QA execution, code
228
+ quality, security, and local-first context mining. The lanes bind to
229
+ `oracle-verifier`, `qa-runner`, `quality-reviewer`, and `librarian-researcher`,
230
+ then aggregate evidence into a PASS, FAIL, or NEEDS-CONTEXT verdict. Manual-QA
231
+ channels must write artifacts, and every tmux session, server, port, browser
232
+ tab, or temp directory needs a cleanup receipt before review completion.
233
+
234
+ `ultragoal` is the durable local state route for long goals. The runtime lives
235
+ in `plugins/lazyclaude/lib/ultragoal/`, stores state in `.omo/ultragoal/`, and
236
+ keeps current docs/test reads authoritative when stale state disagrees with the
237
+ checkout. Common commands are:
238
+
239
+ ```bash
240
+ lazyclaude ultragoal create-goals --brief "<brief>" --json
241
+ lazyclaude ultragoal record-evidence --criterion <id> --status pass --json '{"artifact":"...","cleanup":"..."}'
242
+ lazyclaude ultragoal checkpoint --status active --note "<progress>" --json
243
+ lazyclaude ultragoal steer --kind scope --note "<what changed and why>" --json
244
+ ```
245
+
246
+ `record-review-blockers` captures unresolved review findings. Malformed JSON,
247
+ unknown criteria, corrupt state, and invalid steering kinds return controlled
248
+ errors instead of silently reporting success.
249
+
198
250
  Plain `ulw` is hook context activation. Claude may still show it as hook
199
251
  guidance rather than a separate Skill tool invocation in history. Use visible
200
252
  namespaced commands when you want explicit LazyClaude skill activation:
201
253
 
202
254
  ```text
203
255
  /lazyclaude:ulw-loop <what you want executed with evidence>
256
+ /lazyclaude:dynamic-workflow <parallel or delegated objective>
204
257
  /lazyclaude:ulw-plan <what you want planned>
205
258
  /lazyclaude:deep-interview <what needs clarification>
259
+ /lazyclaude:review-work <scope to review>
260
+ /lazyclaude:ultragoal <goal operation>
206
261
  /lazyclaude:start-work plans/lazyclaude-retrofit.md
207
262
  ```
208
263
 
@@ -293,7 +348,6 @@ version probe evidence instead of failing mysteriously.
293
348
  | MCP | `plugins/lazyclaude/.mcp.json` |
294
349
  | LSP | `plugins/lazyclaude/.lsp.json` |
295
350
 
296
- See `README_ko-KR.md` for Korean setup notes, `REFERENCE.md` for the pinned
297
- private snapshot metadata, `docs/migration.md` for the reference-to-Claude migration table,
298
- `docs/workflow-compatibility-audit.md` for the current compatibility audit, and `CHANGELOG.md`
299
- for release notes.
351
+ See `README_ko-KR.md` for Korean setup notes, `docs/migration.md` for the
352
+ workflow migration table, `docs/workflow-compatibility-audit.md` for the current
353
+ compatibility audit, and `CHANGELOG.md` for release notes.
package/README_ko-KR.md CHANGED
@@ -9,7 +9,7 @@
9
9
  </p>
10
10
  <p align="center">
11
11
  <img src="https://img.shields.io/badge/npm-lazyclaude--ai-cb3837" />
12
- <img src="https://img.shields.io/badge/version-0.1.18-2ea44f" />
12
+ <img src="https://img.shields.io/badge/version-0.2.1-2ea44f" />
13
13
  <img src="https://img.shields.io/badge/Claude%20Code-plugin-blueviolet" />
14
14
  <img src="https://img.shields.io/badge/license-MIT-blue" />
15
15
  </p>
@@ -26,13 +26,13 @@
26
26
  > 설치되므로, 매번 긴 `--plugin-dir` 없이 일반 `claude` 실행에서
27
27
  > LazyClaude skill과 hook을 불러올 수 있습니다.
28
28
 
29
- 현재 checkout은 `lazyclaude-ai@0.1.18` 배포용으로 준비되어 있습니다. 목적은 다른 PC에서도
30
- 빠르게 설치하기 위한 개인용 배포물입니다. 저장소는 비공개 저장소로
31
- 유지할 있고, npm 배포가 홍보, 공개 저장소 운영, Claude marketplace
32
- 등록을 의미하지는 않습니다. 새 버전 배포는 항상 별도의 명시적 승인 후에
33
- 진행합니다.
34
- v0.1.18 release material은 source-origin-free 상태이며 LazyClaude 자체의
35
- 표현으로 정리되어 있습니다.
29
+ 현재 checkout은 `lazyclaude-ai@0.2.1` 배포 준비용으로 정리되어 있습니다. 목적은
30
+ 다른 PC에서도 빠르게 설치하기 위한 개인용 package metadata를 갖추는 것입니다.
31
+ npm package metadata를 준비했다고 해서 홍보, 공개 저장소 운영, Claude
32
+ marketplace 등록을 의미하지는 않습니다. 새 버전 배포는 항상 별도의 명시적
33
+ 승인 후에 진행합니다. v0.2.1 release material은 v0.2.0 workflow parity work를
34
+ 보존하면서 LazyClaude 자체의 표현으로 정리되어 있으며, npm publish가 완료됐다고
35
+ 주장하지 않습니다.
36
36
 
37
37
  ## 기능
38
38
 
@@ -40,11 +40,22 @@ v0.1.18 release material은 source-origin-free 상태이며 LazyClaude 자체의
40
40
  - **ULW prompt hook** - `ulw`, `ultrawork`, `$ulw-plan`, `$ulw-loop` 트리거
41
41
  - **Deep interview mode** - `/deep-interview` 또는 `$deep-interview`로 넓고
42
42
  모호한 의도를 먼저 spec으로 정리한 뒤 계획/구현으로 넘김
43
+ - **v0.2.0 workflow parity** - package publish가 끝났다고 말하지 않으면서
44
+ `review-work` 5-lane review discipline과 ultragoal runtime 문서를 추가
45
+ - **v0.2.1 dynamic workflow readiness** - `/dynamic-workflow`와
46
+ `workflow-check --json`으로 goal, Dynamic workflow, subagent delegation
47
+ readiness를 full QA 전에 확인
48
+ - **5-lane review** - `/review-work`가 goal/constraint verification,
49
+ hands-on QA execution, code quality, security, local-first context mining을
50
+ 한 번에 점검
43
51
  - **Native goal guidance** - Claude Code가 `/goal` 또는 `get_goal`,
44
52
  `create_goal`, `update_goal` 같은 goal surface를 제공하면 이를 우선
45
53
  사용하도록 유도하고, goal tools are unavailable 상황의 fallback도 명시
54
+ - **Ultragoal CLI/state** - `plugins/lazyclaude/lib/ultragoal/`가 durable
55
+ criteria, evidence, checkpoint, steering, review blocker를 `.omo/ultragoal/`
56
+ 아래에 기록
46
57
  - **Dynamic workflow/worktree guidance** - 크거나 병렬적인 작업은 Claude
47
- Code Dynamic workflow Dynamic worktree 격리 쪽으로 유도
58
+ Code Dynamic workflow, subagent delegation, Dynamic worktree 격리 쪽으로 유도
48
59
  - **Claude skills** - LazyClaude 스타일을 더 풍부하게 옮긴 corpus:
49
60
  `programming`, `debugging`, `refactor`, `ai-slop-remover`, `remove-ai-slops`,
50
61
  `review-work`, `frontend-ui-ux`, `comment-checker`, `rules`, `lsp`,
@@ -86,7 +97,7 @@ checkout을 먼저 해석해서 `sh: lazyclaude-ai: command not found`로 실패
86
97
 
87
98
  ```bash
88
99
  cd /tmp
89
- npx --yes lazyclaude-ai@0.1.18 install
100
+ npx --yes lazyclaude-ai@0.2.1 install
90
101
  ```
91
102
 
92
103
  설치 상태를 확인합니다.
@@ -99,7 +110,7 @@ installer는 Claude Code의 `statusLine` command도 packaged LazyClaude HUD로
99
110
  설정합니다. 색상을 제거한 예시는 다음처럼 시작합니다.
100
111
 
101
112
  ```text
102
- [💤LAZYCLAUDE v0.1.18] | O4.8 │ ctx [▎░░] 9%/1000k │ 5h [▏░] 4% ↻2h15m │ 1w [▊░] 35% ↻3d6h │ git main +3 ✓
113
+ [💤LAZYCLAUDE v0.2.1] | O4.8 │ ctx [▎░░] 9%/1000k │ 5h [▏░] 4% ↻2h15m │ 1w [▊░] 35% ↻3d6h │ git main +3 ✓
103
114
  ```
104
115
 
105
116
  `↻` 표시는 rate-limit reset까지 남은 시간을 짧게 보여주는 countdown입니다.
@@ -171,6 +182,12 @@ $ulw-loop <증거 기반으로 실행할 작업>
171
182
  /ulw-loop <증거 기반으로 실행할 작업>
172
183
  $deep-interview <명확화가 필요한 작업>
173
184
  /deep-interview <명확화가 필요한 작업>
185
+ $dynamic-workflow <병렬 또는 위임할 목표>
186
+ /dynamic-workflow <병렬 또는 위임할 목표>
187
+ $review-work <검토할 범위>
188
+ /review-work <검토할 범위>
189
+ $ultragoal <goal operation>
190
+ /ultragoal <goal operation>
174
191
  $start-work plans/lazyclaude-retrofit.md
175
192
  /start-work plans/lazyclaude-retrofit.md
176
193
  ```
@@ -198,6 +215,42 @@ goal이 없을 때만 `create_goal`을 호출하며, `update_goal`은 검증 완
198
215
  model-facing worktree를 필요로 하면 `EnterWorktree`를 사용합니다. CLI surface만
199
216
  가능한 새 격리 lane에서는 `claude --worktree <short-name> --tmux`를 사용합니다.
200
217
 
218
+ v0.2.1 dynamic workflow readiness에서 `/dynamic-workflow`는 넓은 위임 작업을
219
+ 위한 통합 bootstrap route입니다. `/goal`은 user-controlled 상태로 두고,
220
+ model-facing goal tools가 노출되면 확인하며, 필요하면 정확한 fallback
221
+ `/goal <completion condition>`만 제안합니다. subagent delegation은
222
+ `prometheus-planner`, `boulder-executor`, `oracle-verifier`, `qa-runner`,
223
+ `quality-reviewer`, `librarian-researcher`에 매핑됩니다. Full QA 전에는 다음
224
+ package diagnostic을 실행합니다.
225
+
226
+ ```bash
227
+ lazyclaude-ai workflow-check --json
228
+ ```
229
+
230
+ v0.2.0 workflow parity에서 `review-work`는 전용 review route입니다. 5-lane
231
+ review는 goal/constraint verification, hands-on QA execution, code quality,
232
+ security, local-first context mining을 포함합니다. 각 lane은
233
+ `oracle-verifier`, `qa-runner`, `quality-reviewer`, `librarian-researcher`에
234
+ 연결되고, 증거를 모아 PASS, FAIL, NEEDS-CONTEXT verdict로 정리합니다.
235
+ Manual-QA channels는 artifact를 남겨야 하며 tmux session, server, port,
236
+ browser tab, temp directory는 completion 전에 cleanup receipt를 남겨야 합니다.
237
+
238
+ `ultragoal`은 긴 목표를 위한 durable local state route입니다. runtime은
239
+ `plugins/lazyclaude/lib/ultragoal/`에 있고 state는 `.omo/ultragoal/` 아래에
240
+ 남깁니다. stale state가 checkout과 어긋나면 current docs/test reads를
241
+ 기준으로 판단합니다. 자주 쓰는 명령은 다음과 같습니다.
242
+
243
+ ```bash
244
+ lazyclaude ultragoal create-goals --brief "<brief>" --json
245
+ lazyclaude ultragoal record-evidence --criterion <id> --status pass --json '{"artifact":"...","cleanup":"..."}'
246
+ lazyclaude ultragoal checkpoint --status active --note "<progress>" --json
247
+ lazyclaude ultragoal steer --kind scope --note "<what changed and why>" --json
248
+ ```
249
+
250
+ `record-review-blockers`는 해결되지 않은 review finding을 기록합니다.
251
+ malformed JSON, unknown criterion, corrupt state, invalid steering kind는
252
+ 성공처럼 보이지 않고 controlled error로 실패해야 합니다.
253
+
201
254
  단순히 `ulw`라고 입력하는 것은 hook context activation입니다. Claude Code
202
255
  history에는 별도 Skill tool invocation이 아니라 hook guidance로 보일 수
203
256
  있습니다. 명시적인 LazyClaude skill activation을 보고 싶다면 namespaced
@@ -205,8 +258,11 @@ command를 사용합니다.
205
258
 
206
259
  ```text
207
260
  /lazyclaude:ulw-loop <증거 기반으로 실행할 작업>
261
+ /lazyclaude:dynamic-workflow <병렬 또는 위임할 목표>
208
262
  /lazyclaude:ulw-plan <계획이 필요한 작업>
209
263
  /lazyclaude:deep-interview <명확화가 필요한 작업>
264
+ /lazyclaude:review-work <검토할 범위>
265
+ /lazyclaude:ultragoal <goal operation>
210
266
  /lazyclaude:start-work plans/lazyclaude-retrofit.md
211
267
  ```
212
268
 
@@ -299,6 +355,6 @@ probe evidence를 남깁니다.
299
355
  | MCP | `plugins/lazyclaude/.mcp.json` |
300
356
  | LSP | `plugins/lazyclaude/.lsp.json` |
301
357
 
302
- 영문 설명은 `README.md`, private snapshot metadata는 `REFERENCE.md`,
303
- reference-to-Claude 변환 표는 `docs/migration.md`, 현재 compatibility audit은
304
- `docs/workflow-compatibility-audit.md`, release notes는 `CHANGELOG.md`를 참고하세요.
358
+ 영문 설명은 `README.md`, workflow migration 표는 `docs/migration.md`, 현재
359
+ compatibility audit은 `docs/workflow-compatibility-audit.md`, release notes는
360
+ `CHANGELOG.md`를 참고하세요.
@@ -1,14 +1,14 @@
1
1
  # LazyClaude Release Checklist
2
2
 
3
- Status: `lazyclaude-ai@0.1.18` is the current release candidate for compact HUD
4
- and vivid color polish. The HUD now uses compact HUD bars with a three-cell
5
- context gauge and two-cell 5-hour / 7-day gauges, keeps low non-zero usage
6
- visible, spaces the `↻` reset countdown away from the percentage, and applies
7
- the selected brand accent more broadly across the status line. Interactive
8
- `npx` installs now show vivid color choices with mini-HUD previews. Versions
9
- `0.1.11`, `0.1.12`, `0.1.13`, `0.1.14`, `0.1.15`, `0.1.16`, and `0.1.17`
10
- already exist or were prepared in this release series, so this patch version is
11
- the next publishable target when explicitly approved.
3
+ Status: `lazyclaude-ai@0.2.1` is the current release candidate for dynamic workflow readiness.
4
+ `package.json` is aligned to `0.2.1`, and
5
+ `plugins/lazyclaude/.claude-plugin/plugin.json` is aligned to `0.2.1`.
6
+
7
+ This release carries the v0.2.1 dynamic workflow readiness surfaces:
8
+ `/dynamic-workflow`, `workflow-check --json`, native `/goal` fallback guidance,
9
+ subagent delegation mapping, and the v0.2.0 `review-work` / `ultragoal`
10
+ workflow parity surfaces, including the ultragoal runtime. It is the
11
+ next publishable target when explicitly approved.
12
12
 
13
13
  DO NOT publish a new version of LazyClaude, run `npm publish`, push release
14
14
  tags, or add a remote Claude Code marketplace entry without explicit user
@@ -17,6 +17,13 @@ approval.
17
17
  This release path is for personal install convenience, not advertisement,
18
18
  public repo promotion, or a public launch campaign.
19
19
 
20
+ Historical baseline anchors still covered by this checklist: `0.1.12` was the
21
+ publish-recovery baseline, `0.1.13` added ULW command trigger guardrails,
22
+ `0.1.14` added command-name HUD display, `0.1.15` introduced HUD brand color
23
+ selection, `0.1.16` added rate-limit reset countdown and deep-interview install
24
+ guidance, and `0.1.18` covered compact HUD bars and broader brand accent
25
+ behavior.
26
+
20
27
  ## Verified Locally
21
28
 
22
29
  - `npm test`
@@ -25,17 +32,37 @@ public repo promotion, or a public launch campaign.
25
32
  - `npm run qa:portable`
26
33
  - `npm run pack:dry-run`
27
34
 
28
- ## Local / Private Checkout Use
35
+ ## Local Checkout Use
29
36
 
30
37
  Use this track when testing from the current checkout:
31
38
 
32
39
  1. Run `npm test`.
33
40
  2. Run `npm run validate:plugin`.
34
41
  3. Run `npm run qa:tmux`.
35
- 4. Start Claude Code with `claude --plugin-dir ./plugins/lazyclaude`.
42
+ 4. Run `node bin/lazyclaude-ai.js workflow-check --json`.
43
+ 5. Run `node bin/lazyclaude-ai.js ultragoal --help`.
44
+ 6. Start Claude Code with `claude --plugin-dir ./plugins/lazyclaude`.
36
45
 
37
46
  No npm publication is required for this track.
38
47
 
48
+ ## v0.2.1 Dynamic Workflow Gates
49
+
50
+ Before requesting publication approval, confirm these artifacts from the current
51
+ checkout:
52
+
53
+ - `package.json` version is `0.2.1`.
54
+ - `plugins/lazyclaude/.claude-plugin/plugin.json` version is `0.2.1`.
55
+ - `plugins/lazyclaude/commands/dynamic-workflow.md` documents subagent delegation.
56
+ - `node bin/lazyclaude-ai.js workflow-check --json` reports `status: pass`.
57
+ - `plugins/lazyclaude/commands/review-work.md` documents the 5-lane review.
58
+ - `plugins/lazyclaude/commands/ultragoal.md` documents durable goal state.
59
+ - `plugins/lazyclaude/lib/ultragoal/` ships the runtime CLI/state modules.
60
+ - `node bin/lazyclaude-ai.js ultragoal --help` prints durable state commands.
61
+ - `npm pack --dry-run --json` includes runtime payloads and excludes local
62
+ `.omo/`, `.omc/`, and `evidence/` state.
63
+ - `.omo/ulw-loop/evidence/v020-red-contracts.txt` or equivalent RED evidence
64
+ exists for the workflow parity contracts before GREEN evidence.
65
+
39
66
  ## Fresh Machine NPM Install Use
40
67
 
41
68
  Use this track after an approved npm package version exists:
@@ -67,7 +94,8 @@ Use this track only when the user explicitly approves making a new package
67
94
  version installable through `npm`, `npx`, and `bunx`.
68
95
 
69
96
  1. Confirm the target package name and version with the user.
70
- 2. Review `REFERENCE.md` and `docs/migration.md` for sanitized private-reference metadata.
97
+ 2. Review `README.md`, `README_ko-KR.md`, `docs/migration.md`, and
98
+ `docs/workflow-compatibility-audit.md` for neutral release wording.
71
99
  3. Run `npm whoami` and confirm the intended npm account.
72
100
  4. Re-run the full local verification set from a clean checkout:
73
101
  - `npm test`
@@ -15,12 +15,14 @@ import { dirname, join, resolve } from "node:path";
15
15
  import { createInterface } from "node:readline/promises";
16
16
  import { fileURLToPath } from "node:url";
17
17
  import { HUD_ACCENT_THEMES, normalizeHudAccent, themeForAccent } from "../plugins/lazyclaude/lib/hud-accent-palette.mjs";
18
+ import { runUltragoalCli } from "../plugins/lazyclaude/lib/ultragoal/cli.mjs";
19
+ import { runWorkflowCheckCli } from "../plugins/lazyclaude/lib/workflow-check.mjs";
18
20
 
19
21
  const root = resolve(dirname(fileURLToPath(import.meta.url)), "..");
20
22
  const packageJson = JSON.parse(readFileSync(join(root, "package.json"), "utf8"));
21
23
  const version = packageJson.version;
22
24
 
23
- const usage = `Usage: lazyclaude-ai [--dry-run] <install|doctor|path|run|update|uninstall> [...args]
25
+ const usage = `Usage: lazyclaude-ai [--dry-run] <install|doctor|path|run|update|uninstall|ultragoal|workflow-check> [...args]
24
26
  lazyclaude-ai --version
25
27
 
26
28
  Commands:
@@ -28,6 +30,8 @@ Commands:
28
30
  doctor Validate the installed LazyClaude plugin path.
29
31
  path Print the installed Claude plugin path.
30
32
  run -- ... Run Claude Code after the global plugin install.
33
+ ultragoal Manage ultragoal runtime state and evidence.
34
+ workflow-check Verify Dynamic workflow, /goal, and subagent delegation readiness.
31
35
  update Reinstall this package version and refresh the Claude plugin registry.
32
36
  uninstall Remove LazyClaude-managed install state.
33
37
  `;
@@ -616,6 +620,12 @@ const main = async () => {
616
620
  case "run":
617
621
  runClaude(parsed);
618
622
  break;
623
+ case "ultragoal":
624
+ process.exit(runUltragoalCli(parsed.rest));
625
+ break;
626
+ case "workflow-check":
627
+ process.exit(runWorkflowCheckCli(root, version, parsed.rest));
628
+ break;
619
629
  case "uninstall":
620
630
  uninstall(parsed);
621
631
  break;
package/cover.png CHANGED
Binary file
package/docs/agents.md CHANGED
@@ -16,6 +16,39 @@ The planner is deliberately constrained because the safest Claude Code retrofit
16
16
  keeps planning separate from mutation. Executor and QA agents can act only
17
17
  inside the plan and evidence contract.
18
18
 
19
+ ## Review Work Routing
20
+
21
+ The v0.2.0 workflow parity review route uses five evidence lanes:
22
+
23
+ | Review lane | Agent routing | Required evidence |
24
+ | --- | --- | --- |
25
+ | goal/constraint verification | `oracle-verifier` with `review-work` and `rules` | Goal, non-goals, acceptance criteria, publish boundary, and constraints checked against current docs/test reads. |
26
+ | hands-on QA execution | `qa-runner` with `start-work` and `review-work` | Automated test output, Manual-QA channels, artifacts, and cleanup receipt. |
27
+ | code quality | `quality-reviewer` with `review-work` and `programming` | Findings-first code review focused on regressions and maintainability. |
28
+ | security | `quality-reviewer` with `review-work` and `programming` | Prompt injection, malformed input, local state, and unsafe command handling risks. |
29
+ | local-first context mining | `librarian-researcher` with `rules` | Local checkout, docs, tests, and ledgers checked before external references. |
30
+
31
+ The aggregate verdict is PASS, FAIL, or NEEDS-CONTEXT. Broad review work may
32
+ use Dynamic workflow when Claude Code exposes it; isolated edits can use
33
+ `claude --worktree <short-name> --tmux` when a separate checkout is required.
34
+
35
+ ## Dynamic Workflow Delegation
36
+
37
+ The v0.2.1 `/dynamic-workflow` route makes the delegation map explicit for
38
+ Claude Code Dynamic workflow lanes and subagent spawning:
39
+
40
+ | Delegation lane | Agent | Evidence boundary |
41
+ | --- | --- | --- |
42
+ | plan and dependency order | `prometheus-planner` | Read-only plan with files, tests, Manual-QA channel, and cleanup. |
43
+ | implementation | `boulder-executor` | Smallest checked code change with RED -> GREEN evidence. |
44
+ | acceptance verification | `oracle-verifier` | Goal, criteria, and artifact checks before completion. |
45
+ | manual QA | `qa-runner` | tmux/browser/HTTP/computer-use artifact plus cleanup receipt. |
46
+ | code/security review | `quality-reviewer` | Findings-first review with concrete file references. |
47
+ | local-first context mining | `librarian-researcher` | Repo/docs/history search before external sources. |
48
+
49
+ `lazyclaude-ai workflow-check --json` verifies that this route, goal guidance,
50
+ Dynamic workflow guidance, and subagent delegation surface are present.
51
+
19
52
  ## Local Use
20
53
 
21
54
  Load the plugin from this checkout:
package/docs/hooks.md CHANGED
@@ -28,6 +28,15 @@ $ulw-loop
28
28
  $deep-interview
29
29
  /deep-interview
30
30
  /lazyclaude:deep-interview
31
+ $dynamic-workflow
32
+ /dynamic-workflow
33
+ /lazyclaude:dynamic-workflow
34
+ $review-work
35
+ /review-work
36
+ /lazyclaude:review-work
37
+ $ultragoal
38
+ /ultragoal
39
+ /lazyclaude:ultragoal
31
40
  $start-work
32
41
  /start-work
33
42
  /lazyclaude:start-work
@@ -60,6 +69,13 @@ cleanup. If isolated edits need a model-facing worktree lane, use
60
69
  `EnterWorktree`; when only the CLI surface is available, the actionable launch
61
70
  form is `claude --worktree <short-name> --tmux`.
62
71
 
72
+ `/dynamic-workflow` and `$dynamic-workflow` are the v0.2.1 consolidated route
73
+ for that behavior. They load `/lazyclaude:dynamic-workflow` / `Skill(ulw-loop)`,
74
+ then map subagent delegation to `prometheus-planner`, `boulder-executor`,
75
+ `oracle-verifier`, `qa-runner`, `quality-reviewer`, and `librarian-researcher`.
76
+ Run `lazyclaude-ai workflow-check --json` to verify the hook route, goal
77
+ guidance, Dynamic workflow guidance, and subagent delegation text before full QA.
78
+
63
79
  Plain `ulw` therefore activates hook context, not a visible Skill tool call.
64
80
  For a visible LazyClaude command/skill invocation, use the namespaced Claude
65
81
  Code commands. The shorter slash aliases above are also recognized by the prompt
@@ -68,6 +84,7 @@ hook so they route to the same discipline instead of falling through to plain
68
84
 
69
85
  ```text
70
86
  /lazyclaude:ulw-loop <goal>
87
+ /lazyclaude:dynamic-workflow <parallel or delegated objective>
71
88
  /lazyclaude:ulw-plan <planning brief>
72
89
  /lazyclaude:start-work plans/lazyclaude-retrofit.md
73
90
  ```
@@ -79,12 +96,20 @@ These are real Claude Code command files in `plugins/lazyclaude/commands/`.
79
96
  before `/ulw-plan` when a request lacks non-goals, decision boundaries, or
80
97
  acceptance criteria.
81
98
 
99
+ `/review-work` and `$review-work` load `/lazyclaude:review-work` /
100
+ `Skill(review-work)`. That route runs the v0.2.0 workflow parity 5-lane review:
101
+ goal/constraint verification, hands-on QA execution, code quality, security,
102
+ and local-first context mining. `/ultragoal` and `$ultragoal` load
103
+ `/lazyclaude:ultragoal` / `Skill(ultragoal)` for durable local goal state and
104
+ the ultragoal CLI.
105
+
82
106
  ## Safety
83
107
 
84
108
  Hooks parse JSON from stdin and return JSON to Claude Code. The hook does not
85
- execute prompt text and does not echo prompt text into the returned context. The
86
- ultrawork detector returns constant workflow guidance, so a prompt cannot become
87
- a shell command through the hook response.
109
+ execute prompt text and does not echo prompt text into the returned context;
110
+ prompt text is not executed or echoed. The ultrawork detector returns constant
111
+ workflow guidance, so a prompt cannot become a shell command through the hook
112
+ response. Malformed hook input and malformed ultragoal JSON should surface a controlled error instead of a misleading success response.
88
113
 
89
114
  ## Local Smoke
90
115
 
package/docs/migration.md CHANGED
@@ -1,8 +1,8 @@
1
1
  # LazyClaude Migration
2
2
 
3
- LazyClaude maps a pinned private workflow reference into Claude Code-native
4
- surfaces. The goal is behavior parity where Claude Code exposes the same kind
5
- of surface, and a conservative local fallback where it does not.
3
+ LazyClaude maps workflow disciplines into Claude Code-native surfaces. The goal
4
+ is behavior parity where Claude Code exposes the same kind of surface, and a
5
+ conservative local fallback where it does not.
6
6
 
7
7
  | Reference surface | Claude Code surface | LazyClaude implementation |
8
8
  | --- | --- | --- |
@@ -11,8 +11,11 @@ of surface, and a conservative local fallback where it does not.
11
11
  | Ultrawork plan mode | Claude Code skill plus planner agent | `ulw-plan` and `prometheus-planner` |
12
12
  | Clarification interview | Claude Code skill plus command | `deep-interview` asks one Socratic question per round, persists state under `deep-interview/`, and hands a spec to planning or execution |
13
13
  | Execution loop | Claude Code skill plus executor agent | `ulw-loop`, `start-work`, and `boulder-executor` |
14
+ | 5-lane review | Claude Code command, skill, and agents | `review-work` runs goal/constraint verification, hands-on QA execution, code quality, security, and local-first context mining |
15
+ | Durable goal runtime | Package CLI plus local state | `ultragoal` writes criteria, evidence, checkpoints, steering, and blockers under `.omo/ultragoal/` |
14
16
  | Goal-tool guidance | Claude Code native goal surface | `/goal` when user-selected, or model-facing `get_goal`, `create_goal`, and verified-final `update_goal` guidance when exposed |
15
17
  | Parallel orchestration | Claude Code Dynamic workflow and Dynamic worktree surfaces | Call `Workflow` for broad independent work when exposed; use `EnterWorktree` or the CLI worktree path for risky or parallel edits |
18
+ | Dynamic workflow readiness | Claude Code command plus package diagnostic | `/dynamic-workflow` and `workflow-check --json` verify goal, Dynamic workflow, and subagent delegation surfaces |
16
19
  | Hooks | Claude Code hooks | `plugins/lazyclaude/hooks/hooks.json` |
17
20
  | MCP helpers | Claude Code plugin MCP config | `plugins/lazyclaude/.mcp.json` |
18
21
  | LSP integration | Claude Code plugin LSP config | `plugins/lazyclaude/.lsp.json` |
@@ -70,6 +73,44 @@ execution, bind each lane to criteria and evidence, and use `EnterWorktree` for
70
73
  isolated model-facing worktree lanes. When only the CLI surface is available,
71
74
  the concrete isolated-lane launch form is `claude --worktree <short-name> --tmux`.
72
75
 
76
+ For v0.2.1, `/dynamic-workflow`, `$dynamic-workflow`, and
77
+ `/lazyclaude:dynamic-workflow` consolidate that behavior into one route. The
78
+ route keeps `/goal` user-controlled, calls model-facing goal tools only when
79
+ exposed, and maps subagent delegation to `prometheus-planner`,
80
+ `boulder-executor`, `oracle-verifier`, `qa-runner`, `quality-reviewer`, and
81
+ `librarian-researcher`. Operators can verify availability with:
82
+
83
+ ```bash
84
+ lazyclaude-ai workflow-check --json
85
+ ```
86
+
87
+ ## v0.2.0 Review And Ultragoal Parity
88
+
89
+ The v0.2.0 workflow parity surface is local-first and evidence-bound. It does
90
+ not imply that an npm publish or remote marketplace publication has happened.
91
+ `/review-work`, `$review-work`, and `/lazyclaude:review-work` run the 5-lane
92
+ review contract: goal/constraint verification, hands-on QA execution, code
93
+ quality, security, and local-first context mining. Manual-QA channels must
94
+ produce artifacts, and all spawned sessions, servers, ports, browser tabs, and
95
+ temp directories need a cleanup receipt before completion.
96
+
97
+ `/ultragoal`, `$ultragoal`, and `/lazyclaude:ultragoal` bind long work to the
98
+ ultragoal runtime in `plugins/lazyclaude/lib/ultragoal/`. The local state lives
99
+ under `.omo/ultragoal/`, and current docs/test reads are the authority if stale
100
+ state contradicts the checkout.
101
+
102
+ Use these CLI commands for durable state:
103
+
104
+ ```bash
105
+ lazyclaude ultragoal create-goals --brief "<brief>" --json
106
+ lazyclaude ultragoal record-evidence --criterion <id> --status pass --json '{"artifact":"...","cleanup":"..."}'
107
+ lazyclaude ultragoal checkpoint --status active --note "<progress>" --json
108
+ lazyclaude ultragoal steer --kind scope --note "<what changed and why>" --json
109
+ ```
110
+
111
+ Malformed evidence JSON, unknown criteria, corrupt state, or invalid steering
112
+ kinds must fail with a controlled error.
113
+
73
114
  If OMC/omc is already installed in Claude Code, keep it disabled or start a
74
115
  separate Claude Code session without OMC while testing LazyClaude. This repo no
75
116
  longer ships a root marketplace skeleton; direct `--plugin-dir` loading avoids