nitm-ai-dev-toolkit 5.0.0 → 5.0.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 (162) hide show
  1. package/CHANGELOG.md +46 -0
  2. package/README.md +27 -7
  3. package/bin/cli.js +598 -88
  4. package/package.json +1 -1
  5. package/src/monorepo/.agents/skills/factory/SKILL.md +77 -27
  6. package/src/monorepo/.claude/commands/assign-tasks.md +1 -0
  7. package/src/monorepo/.claude/commands/factory.md +1 -1
  8. package/src/monorepo/.claude/commands/ponytail-review.md +1 -1
  9. package/src/monorepo/.claude/prompt-snippets/assign-tasks.md +13 -3
  10. package/src/monorepo/.claude/prompt-snippets/bootstrap-patch.md +31 -24
  11. package/src/monorepo/.claude/prompt-snippets/bootstrap-upgrade.md +12 -13
  12. package/src/monorepo/.claude/prompt-snippets/bootstrap.md +11 -11
  13. package/src/monorepo/.claude/prompt-snippets/factory.md +4 -4
  14. package/src/monorepo/.claude/prompt-snippets/implement-feature.md +3 -1
  15. package/src/monorepo/.claude/rules-snippets/subagent-workflow.md +2 -2
  16. package/src/monorepo/.cursor/commands/factory.md +1 -1
  17. package/src/monorepo/.github/prompts/factory.prompt.md +1 -1
  18. package/src/monorepo/.opencode/agents/admin-portal.md +1 -1
  19. package/src/monorepo/.opencode/agents/api-specialist.md +1 -1
  20. package/src/monorepo/.opencode/agents/backend-architect.md +1 -1
  21. package/src/monorepo/.opencode/agents/documenter.md +1 -1
  22. package/src/monorepo/.opencode/agents/factory-approver.md +1 -1
  23. package/src/monorepo/.opencode/agents/factory-builder.md +1 -1
  24. package/src/monorepo/.opencode/agents/factory-reviewer-code.md +1 -1
  25. package/src/monorepo/.opencode/agents/factory-reviewer-security.md +1 -1
  26. package/src/monorepo/.opencode/agents/factory-reviewer-ui.md +1 -1
  27. package/src/monorepo/.opencode/agents/factory-reviewer-ux.md +1 -1
  28. package/src/monorepo/.opencode/agents/factory-spec-writer.md +1 -1
  29. package/src/monorepo/.opencode/agents/feature-builder.md +1 -1
  30. package/src/monorepo/.opencode/agents/frontend-developer.md +1 -1
  31. package/src/monorepo/.opencode/agents/green.md +1 -1
  32. package/src/monorepo/.opencode/agents/implementer.md +1 -1
  33. package/src/monorepo/.opencode/agents/planner.md +1 -1
  34. package/src/monorepo/.opencode/agents/red.md +1 -1
  35. package/src/monorepo/.opencode/agents/refactor.md +1 -1
  36. package/src/monorepo/.opencode/agents/researcher.md +1 -1
  37. package/src/monorepo/.opencode/agents/reviewer.md +1 -1
  38. package/src/monorepo/.opencode/agents/tdd.md +1 -1
  39. package/src/monorepo/.opencode/commands/assign-tasks.md +1 -1
  40. package/src/monorepo/.opencode/commands/bootstrap-patch.md +1 -1
  41. package/src/monorepo/.opencode/commands/bootstrap-upgrade.md +1 -1
  42. package/src/monorepo/.opencode/commands/bootstrap.md +1 -1
  43. package/src/monorepo/.opencode/commands/commit-push.md +1 -1
  44. package/src/monorepo/.opencode/commands/constitution.md +1 -1
  45. package/src/monorepo/.opencode/commands/create-skill.md +1 -1
  46. package/src/monorepo/.opencode/commands/factory.md +1 -1
  47. package/src/monorepo/.opencode/commands/implement-feature.md +1 -1
  48. package/src/monorepo/.opencode/commands/implement-fixes.md +1 -1
  49. package/src/monorepo/.opencode/commands/implement.md +1 -1
  50. package/src/monorepo/.opencode/commands/plan.md +1 -1
  51. package/src/monorepo/.opencode/commands/playwright-test.md +1 -1
  52. package/src/monorepo/.opencode/commands/ponytail-audit.md +1 -1
  53. package/src/monorepo/.opencode/commands/ponytail-debt.md +1 -1
  54. package/src/monorepo/.opencode/commands/ponytail-gain.md +1 -1
  55. package/src/monorepo/.opencode/commands/ponytail-help.md +1 -1
  56. package/src/monorepo/.opencode/commands/ponytail-review.md +1 -1
  57. package/src/monorepo/.opencode/commands/ponytail.md +1 -1
  58. package/src/monorepo/.opencode/commands/release-notes.md +1 -1
  59. package/src/monorepo/.opencode/commands/review-pr.md +1 -1
  60. package/src/monorepo/.opencode/commands/review.md +1 -1
  61. package/src/monorepo/.opencode/commands/specify.md +1 -1
  62. package/src/monorepo/.opencode/commands/tasks.md +1 -1
  63. package/src/monorepo/.opencode/opencode.jsonc +1 -2
  64. package/src/monorepo/.opencode/rules/agent-conduct.md +1 -1
  65. package/src/monorepo/.opencode/rules/api-server.md +1 -1
  66. package/src/monorepo/.opencode/rules/coding-standards.md +1 -1
  67. package/src/monorepo/.opencode/rules/component-structure.md +1 -1
  68. package/src/monorepo/.opencode/rules/core-libraries.md +1 -1
  69. package/src/monorepo/.opencode/rules/environment-tooling.md +1 -1
  70. package/src/monorepo/.opencode/rules/logging-comments.md +1 -1
  71. package/src/monorepo/.opencode/rules/logging.md +1 -1
  72. package/src/monorepo/.opencode/rules/prisma-migrations.md +1 -1
  73. package/src/monorepo/.opencode/rules/project-context.md +1 -1
  74. package/src/monorepo/.opencode/rules/server-client-separation.md +1 -1
  75. package/src/monorepo/.opencode/rules/subagent-workflow.md +1 -1
  76. package/src/monorepo/.opencode/rules/testing-quality.md +1 -1
  77. package/src/monorepo/.opencode/rules/ui-accessibility.md +1 -1
  78. package/src/monorepo/.opencode/rules/version-control.md +1 -1
  79. package/src/monorepo/.opencode/rules/what-to-avoid.md +1 -1
  80. package/src/monorepo/AGENTS.md +3 -3
  81. package/src/monorepo/README.md +4 -4
  82. package/src/monorepo/factory/README.md +40 -15
  83. package/src/monorepo/factory/worktree-bootstrap.md +32 -0
  84. package/src/repo/.agents/skills/factory/SKILL.md +76 -26
  85. package/src/repo/.claude/commands/assign-tasks.md +1 -0
  86. package/src/repo/.claude/commands/factory.md +1 -1
  87. package/src/repo/.claude/commands/ponytail-review.md +1 -1
  88. package/src/repo/.claude/prompt-snippets/assign-tasks.md +13 -3
  89. package/src/repo/.claude/prompt-snippets/bootstrap-patch.md +31 -24
  90. package/src/repo/.claude/prompt-snippets/bootstrap-upgrade.md +16 -16
  91. package/src/repo/.claude/prompt-snippets/bootstrap.md +11 -11
  92. package/src/repo/.claude/prompt-snippets/factory.md +4 -4
  93. package/src/repo/.claude/prompt-snippets/implement-feature.md +3 -1
  94. package/src/repo/.claude/rules-snippets/subagent-workflow.md +2 -2
  95. package/src/repo/.cursor/commands/factory.md +1 -1
  96. package/src/repo/.github/prompts/factory.prompt.md +1 -1
  97. package/src/repo/.opencode/agents/admin-portal.md +1 -1
  98. package/src/repo/.opencode/agents/api-specialist.md +1 -1
  99. package/src/repo/.opencode/agents/backend-architect.md +1 -1
  100. package/src/repo/.opencode/agents/documenter.md +1 -1
  101. package/src/repo/.opencode/agents/factory-approver.md +1 -1
  102. package/src/repo/.opencode/agents/factory-builder.md +1 -1
  103. package/src/repo/.opencode/agents/factory-reviewer-code.md +1 -1
  104. package/src/repo/.opencode/agents/factory-reviewer-security.md +1 -1
  105. package/src/repo/.opencode/agents/factory-reviewer-ui.md +1 -1
  106. package/src/repo/.opencode/agents/factory-reviewer-ux.md +1 -1
  107. package/src/repo/.opencode/agents/factory-spec-writer.md +1 -1
  108. package/src/repo/.opencode/agents/feature-builder.md +1 -1
  109. package/src/repo/.opencode/agents/frontend-developer.md +1 -1
  110. package/src/repo/.opencode/agents/green.md +1 -1
  111. package/src/repo/.opencode/agents/implementer.md +1 -1
  112. package/src/repo/.opencode/agents/planner.md +1 -1
  113. package/src/repo/.opencode/agents/red.md +1 -1
  114. package/src/repo/.opencode/agents/refactor.md +1 -1
  115. package/src/repo/.opencode/agents/researcher.md +1 -1
  116. package/src/repo/.opencode/agents/reviewer.md +1 -1
  117. package/src/repo/.opencode/agents/tdd.md +1 -1
  118. package/src/repo/.opencode/commands/assign-tasks.md +1 -1
  119. package/src/repo/.opencode/commands/bootstrap-patch.md +1 -1
  120. package/src/repo/.opencode/commands/bootstrap-upgrade.md +1 -1
  121. package/src/repo/.opencode/commands/bootstrap.md +1 -1
  122. package/src/repo/.opencode/commands/commit-push.md +1 -1
  123. package/src/repo/.opencode/commands/constitution.md +1 -1
  124. package/src/repo/.opencode/commands/create-skill.md +1 -1
  125. package/src/repo/.opencode/commands/factory.md +1 -1
  126. package/src/repo/.opencode/commands/implement-feature.md +1 -1
  127. package/src/repo/.opencode/commands/implement-fixes.md +1 -1
  128. package/src/repo/.opencode/commands/implement.md +1 -1
  129. package/src/repo/.opencode/commands/plan.md +1 -1
  130. package/src/repo/.opencode/commands/playwright-test.md +1 -1
  131. package/src/repo/.opencode/commands/ponytail-audit.md +1 -1
  132. package/src/repo/.opencode/commands/ponytail-debt.md +1 -1
  133. package/src/repo/.opencode/commands/ponytail-gain.md +1 -1
  134. package/src/repo/.opencode/commands/ponytail-help.md +1 -1
  135. package/src/repo/.opencode/commands/ponytail-review.md +1 -1
  136. package/src/repo/.opencode/commands/ponytail.md +1 -1
  137. package/src/repo/.opencode/commands/release-notes.md +1 -1
  138. package/src/repo/.opencode/commands/review-pr.md +1 -1
  139. package/src/repo/.opencode/commands/review.md +1 -1
  140. package/src/repo/.opencode/commands/specify.md +1 -1
  141. package/src/repo/.opencode/commands/tasks.md +1 -1
  142. package/src/repo/.opencode/opencode.jsonc +1 -2
  143. package/src/repo/.opencode/rules/agent-conduct.md +1 -1
  144. package/src/repo/.opencode/rules/api-server.md +1 -1
  145. package/src/repo/.opencode/rules/coding-standards.md +1 -1
  146. package/src/repo/.opencode/rules/component-structure.md +1 -1
  147. package/src/repo/.opencode/rules/core-libraries.md +1 -1
  148. package/src/repo/.opencode/rules/environment-tooling.md +1 -1
  149. package/src/repo/.opencode/rules/logging-comments.md +1 -1
  150. package/src/repo/.opencode/rules/logging.md +1 -1
  151. package/src/repo/.opencode/rules/prisma-migrations.md +1 -1
  152. package/src/repo/.opencode/rules/project-context.md +1 -1
  153. package/src/repo/.opencode/rules/server-client-separation.md +1 -1
  154. package/src/repo/.opencode/rules/subagent-workflow.md +1 -1
  155. package/src/repo/.opencode/rules/testing-quality.md +1 -1
  156. package/src/repo/.opencode/rules/ui-accessibility.md +1 -1
  157. package/src/repo/.opencode/rules/version-control.md +1 -1
  158. package/src/repo/.opencode/rules/what-to-avoid.md +1 -1
  159. package/src/repo/AGENTS.md +3 -3
  160. package/src/repo/README.md +4 -4
  161. package/src/repo/factory/README.md +33 -14
  162. package/src/repo/factory/worktree-bootstrap.md +32 -0
@@ -1,12 +1,12 @@
1
- # Bootstrap Upgrade to v4.0
1
+ # Bootstrap Upgrade to toolkit <version>
2
2
 
3
- Upgrade to toolkit 4.0.0, including native OpenCode V2 for confirmed OpenCode users. For pre-3.0 installations, also migrate inline content to snippet-based architecture and clean up duplicate skills. Only modify confirmed harness targets; preserve unrelated harness/Codex behavior.
3
+ Upgrade to toolkit <version> (the installed package version), including native OpenCode V2 for confirmed OpenCode users (toolkit 4.0.0 and later). For pre-3.0 installations, also migrate inline content to snippet-based architecture and clean up duplicate skills. Only modify confirmed harness targets; preserve unrelated harness/Codex behavior.
4
4
 
5
5
  ## OpenCode version preflight (before any changes)
6
6
 
7
7
  - Confirm OpenCode use from actual session/runtime evidence or ask the user; directory presence alone is not proof. If only other harnesses are used, skip this preflight and all OpenCode steps.
8
- - For confirmed OpenCode use, run `opencode --version` before any project writes. Trim output and parse numeric major/minor/patch components, accepting an optional leading `v`; toolkit 4.x requires `major >= 2`.
9
- - If OpenCode V1 (`major < 2`) is detected, **STOP** before customizing/migrating OpenCode files or writing `.toolkit-version` as `4.0.0`. Ask the user to upgrade OpenCode to V2 or remain on toolkit 3.x.
8
+ - For confirmed OpenCode use, run `opencode --version` before any project writes. Trim output and parse numeric major/minor/patch components, accepting an optional leading `v`; toolkit 4.0.0 and later require `major >= 2`.
9
+ - If OpenCode V1 (`major < 2`) is detected, **STOP** before customizing/migrating OpenCode files or writing `.toolkit-version` as 4.0.0 or later. Ask the user to upgrade OpenCode to V2 or remain on toolkit 3.x.
10
10
  - If the CLI is missing, fails, or output is unparseable, **STOP OpenCode steps** and leave the version marker unchanged; ask the user to confirm/install a supported OpenCode version, then rerun this check. Never assume V2.
11
11
  - If oh-my-opencode-slim >=3.0.0 is used or planned, require OpenCode >=2.0.7 (compare version components numerically); otherwise **STOP** before changes and ask to upgrade. Proceed only after this gate passes.
12
12
 
@@ -21,7 +21,7 @@ Read `.toolkit-version` and select the route before dispatching agents or changi
21
21
 
22
22
  ## OpenCode migration guardrails
23
23
 
24
- Back up V1; native-converted files are incompatible with V1. Preserve models/providers/user-global plugins. Templates register the author's native V2 package `@dietrichgebert/ponytail@4.12.0`; obsolete toolkit-local Ponytail copies are replaced only after backup and approval (Step 7), with no API port or bridge. Keep `opentmux` commented as V1-only. Only with approval, merge pinned `"plugins": ["oh-my-opencode-slim@3.0.0"]` locally without replacing other registrations. Slim's separate strict schema retains `prompt`/`permission`/`variant`; do not host-migrate it or silently upgrade the separate external starter. Activate on the next run/restart; plugin/runtime integration is untested and publishing 4.0.0 has not been executed.
24
+ Back up V1; native-converted files are incompatible with V1. Preserve models/providers/user-global plugins. The OpenCode Ponytail plugin (`@dietrichgebert/ponytail`) is installed globally by the operator and is never registered by templates or project config; obsolete toolkit-local Ponytail copies are removed only after backup and approval (Step 7), with no API port or bridge. Keep `opentmux` commented as V1-only. Only with approval, merge pinned `"plugins": ["oh-my-opencode-slim@3.0.0"]` locally without replacing other registrations. Slim's separate strict schema retains `prompt`/`permission`/`variant`; do not host-migrate it or silently upgrade the separate external starter. Activate on the next run/restart; plugin/runtime integration is untested.
25
25
 
26
26
  ## Usage
27
27
 
@@ -56,7 +56,7 @@ Run all checks before making any changes:
56
56
  3. **Confirm migration scope**:
57
57
 
58
58
  ```markdown
59
- ## 🔄 Bootstrap Upgrade: toolkit v4.0.0
59
+ ## 🔄 Bootstrap Upgrade: toolkit <version>
60
60
 
61
61
  **Project type**: repo | monorepo
62
62
  **Current version**: <version or "none (legacy)">
@@ -68,7 +68,7 @@ Run all checks before making any changes:
68
68
  2. Confirmed OpenCode only: merge native V2 host files and approved missing wrappers (Step 7)
69
69
  3. Verified legacy only: approved hook installation and verified identical duplicate skill cleanup (Steps 8–10); preserve custom skills
70
70
  4. Merge only applicable missing documentation and validate the selected route; v3 keeps existing snippet bodies/frontmatter unchanged
71
- 5. Create `.toolkit-version` with `4.0.0` after the approved migration
71
+ 5. Keep the `.toolkit-version` the CLI writes (installed package version, 4.0.0 or later) after the approved migration
72
72
  6. Commit all changes
73
73
 
74
74
  Proceed? (Y/n)
@@ -176,18 +176,17 @@ For the v3 route, merge only relevant native OpenCode host fields; preserve exis
176
176
  "$schema": "https://opencode.ai/config.json",
177
177
  "instructions": ["AGENTS.md", ".opencode/rules/*.md"],
178
178
  "skills": [".agents/skills"],
179
- "plugins": ["@dietrichgebert/ponytail@4.12.0"],
180
179
  "lsp": true
181
180
  }
182
181
  ```
183
182
 
184
183
  Follow official V2 [migration](https://opencode.ai/v2/docs/migrate-v1), [config](https://opencode.ai/v2/docs/config), [agents](https://opencode.ai/v2/docs/agents), and [plugins](https://opencode.ai/v2/docs/build/plugins) docs. The published schema may describe V1; do not use it or a V1 API fetch as native V2 validation authority. Use `agents`/JSON `system` (Markdown bodies for file agents), `request.body.temperature`, ordered `permissions` (`action`/`resource`/`effect`, `shell`/`subagent`, last match wins), `commands`/`subagent`, `plugins` with `{ "package": "…", "options": {} }`, skill-directory arrays, and `mcp.servers` with inverse `disabled` and `timeout.catalog`/`timeout.execution`.
185
184
 
186
- `instructions` entries are accepted but not loaded; ambient `AGENTS.md` works. `@refs` are ordinary text, not attachments: wrappers must explicitly tell agents to read referenced snippets. `request.body.temperature` remains in config, but the current runner does not send it. Preserve `lsp: true`; use project lint/typecheck/compiler commands (no current V2 LSP tools/diagnostics). `--env opencode` supplies minimal shared references without other harness activation. Verify using installed V2 after the next run/restart; report only checks actually run.
185
+ Ambient `AGENTS.md` works. `instructions` entries load only when the runtime injects them (OpenChamber does; other hosts may not), so do not rely on them: write explicit "Read and follow" wrappers regardless. `@refs` are ordinary text, not attachments: wrappers must explicitly tell agents to read referenced snippets. `request.body.temperature` remains in config, but the current runner does not send it. Preserve `lsp: true`; use project lint/typecheck/compiler commands (no current V2 LSP tools/diagnostics). `--env opencode` supplies minimal shared references without other harness activation. Verify using installed V2 after the next run/restart; report only checks actually run.
187
186
 
188
187
  2. **Replace obsolete toolkit Ponytail (backup and approval only)**:
189
188
  - Back up the local config and known obsolete toolkit-owned `.opencode/plugins/ponytail.js`, `.opencode/plugins/ponytail.mjs`, and `.opencode/plugins/ponytail.ts` copies; obtain approval before removing only those copies. Preserve unrelated local plugins.
190
- - Merge/deduplicate the author's native V2 `@dietrichgebert/ponytail@4.12.0` package in the local `plugins` array where appropriate, preserving other registrations/options. Do not edit global config or overwrite global plugins. Keep `opentmux` commented as V1-only; do not copy local Ponytail source, port APIs, or introduce bridges. Native local discovery needs no duplicate explicit registration; runtime integration remains untested.
189
+ - The OpenCode Ponytail plugin (`@dietrichgebert/ponytail`) is installed globally by the operator. Never add or pin it in the local `plugins` array. Check whether it is installed globally; if not, tell the operator to install it globally. Do not edit global config or overwrite global plugins. Keep `opentmux` commented as V1-only; do not copy local Ponytail source, port APIs, or introduce bridges. Runtime integration remains untested.
191
190
 
192
191
  3. **Create wrappers with explicit snippet-read instructions** — one file per snippet:
193
192
 
@@ -252,12 +251,13 @@ If `CLAUDE.md` is an applicable confirmed harness target and a thin redirect to
252
251
 
253
252
  See existing `CLAUDE.md` in the toolkit template (`src/repo/CLAUDE.md`) for the exact format.
254
253
 
255
- ### 12. Create `.toolkit-version` File
254
+ ### 12. Check `.toolkit-version` File
256
255
 
257
256
  Only after the approved migration and OpenCode preflight pass (or OpenCode is confirmed out of scope):
258
257
 
259
258
  ```bash
260
- echo "4.0.0" > .toolkit-version
259
+ # Keep the value the CLI wrote (the installed package version). If it is missing, record it with the CLI:
260
+ npx nitm-ai-dev-toolkit patch
261
261
  ```
262
262
 
263
263
  ### 13. Validation
@@ -277,13 +277,13 @@ If `--verbose`: log each check result with file paths.
277
277
 
278
278
  ### 14. Generate Upgrade Report
279
279
 
280
- Output the report to stdout (and optionally to `docs/upgrade-report-v4.md`). Include only operations/checks actually performed for the selected route; omit legacy extraction/cleanup rows on v3 and never pre-mark skipped checks as passed:
280
+ Output the report to stdout (and optionally to `docs/upgrade-report-<version>.md`). Include only operations/checks actually performed for the selected route; omit legacy extraction/cleanup rows on v3 and never pre-mark skipped checks as passed:
281
281
 
282
282
  ```markdown
283
283
  ## 🚀 Bootstrap Upgrade Report
284
284
 
285
285
  **From**: detected installed version (include inline extraction only for pre-3.0)
286
- **To**: 4.0.0 (native V2 for confirmed OpenCode use; snippet conversion only for verified legacy)
286
+ **To**: <version> (toolkit 4.0.0 or later; native V2 for confirmed OpenCode use; snippet conversion only for verified legacy)
287
287
  **Selected route**: verified legacy | v3 native OpenCode
288
288
  **Date**: {{DATE}}
289
289
  **Dry run**: yes | no
@@ -317,7 +317,7 @@ Output the report to stdout (and optionally to `docs/upgrade-report-v4.md`). Inc
317
317
 
318
318
  ### Files Created
319
319
 
320
- - `.toolkit-version` — 4.0.0
320
+ - `.toolkit-version` — installed package version (written by the CLI)
321
321
 
322
322
  ### Validation
323
323
 
@@ -337,7 +337,7 @@ If not `--dry-run`, stage and commit all changes:
337
337
 
338
338
  ```bash
339
339
  git add -A
340
- git commit -m "chore: upgrade AI instructions to toolkit v4.0.0"
340
+ git commit -m "chore: upgrade AI instructions to toolkit <version>"
341
341
  ```
342
342
 
343
343
  If `--dry-run`: skip commit, note in report: "Dry run — no changes committed."
@@ -5,8 +5,8 @@ Analyze the project structure and customize AI instruction templates for this co
5
5
  ## OpenCode version preflight (before any changes)
6
6
 
7
7
  - Confirm OpenCode use from actual session/runtime evidence or ask the user; directory presence alone is not proof. If only other harnesses are used, skip this preflight and all OpenCode steps.
8
- - For confirmed OpenCode use, run `opencode --version` before any project writes. Trim output and parse numeric major/minor/patch components, accepting an optional leading `v`; toolkit 4.x requires `major >= 2`.
9
- - If OpenCode V1 (`major < 2`) is detected, **STOP** before customizing/migrating OpenCode files or writing `.toolkit-version` as `4.0.0`. Ask the user to upgrade OpenCode to V2 or remain on toolkit 3.x.
8
+ - For confirmed OpenCode use, run `opencode --version` before any project writes. Trim output and parse numeric major/minor/patch components, accepting an optional leading `v`; toolkit 4.0.0 and later require `major >= 2`.
9
+ - If OpenCode V1 (`major < 2`) is detected, **STOP** before customizing/migrating OpenCode files or writing `.toolkit-version` as 4.0.0 or later. Ask the user to upgrade OpenCode to V2 or remain on toolkit 3.x.
10
10
  - If the CLI is missing, fails, or output is unparseable, **STOP OpenCode steps** and leave the version marker unchanged; ask the user to confirm/install a supported OpenCode version, then rerun this check. Never assume V2.
11
11
  - If oh-my-opencode-slim >=3.0.0 is used or planned, require OpenCode >=2.0.7 (compare version components numerically); otherwise **STOP** before changes and ask to upgrade. Proceed only after this gate passes.
12
12
 
@@ -126,9 +126,9 @@ Map discovered information to template variables:
126
126
  | `{{PROJECT_KEY}}` | Project ID or workspace ID (if applicable) |
127
127
  | `{{PM_ISSUE_KEY}}` | Issue key format (e.g., PROJ-###) |
128
128
  | `{{DEFAULT_BRANCH}}` | `git symbolic-ref --short refs/remotes/origin/HEAD`, minus `origin/`; else `main` |
129
- | `{{FACTORY_PORT_BASE}}` | Default `5100` |
130
- | `{{APPROVAL_MODE}}` | Default `human` |
131
- | `{{FACTORY_REVIEW_LENSES}}` | Default `code, security`; add `ux, ui` only if the project has a UI and a browser tool is configured (for example a browser MCP server) |
129
+ | `{{FACTORY_PORT_BASE}}` | Only if Factory is installed. Default `5100` |
130
+ | `{{APPROVAL_MODE}}` | Only if Factory is installed. Default `human` |
131
+ | `{{FACTORY_REVIEW_LENSES}}` | Only if Factory is installed. Default `code, security`; add `ux, ui` only if the project has a UI and a browser tool is configured (for example a browser MCP server) |
132
132
  | `{{NEW_RELEVANT_VARIABLE}}` | ...other inferred values... |
133
133
 
134
134
  ### Step 2.5: Project Management Detection
@@ -252,23 +252,23 @@ Follow the official [V2 migration](https://opencode.ai/v2/docs/migrate-v1), [con
252
252
 
253
253
  - After the version preflight passes, use `agents` with JSON `system` or Markdown bodies; `request.body.temperature`; ordered `permissions` rules (`action`, `resource`, `effect`; `shell`/`subagent`; last match wins); `commands` with `subagent`; `plugins` with `{ "package": "…", "options": {} }`; `skills` as directory-path arrays; `mcp.servers` with inverse `disabled` and `timeout.catalog`/`timeout.execution`.
254
254
  - Back up V1; native-converted files are incompatible with V1. Merge, don't clobber models/providers/user-global plugins. With approval only, merge pinned `"plugins": ["oh-my-opencode-slim@3.0.0"]` locally. Slim's separate strict schema retains its own `prompt`, `permission`, and `variant`; do not host-migrate it or upgrade the separate external starter silently.
255
- - Templates register the author's native V2 package `@dietrichgebert/ponytail@4.12.0` locally; no local Ponytail source is bundled or ported. Keep `opentmux` commented as V1-only. Native local discovery needs no duplicate registration; do not introduce API ports or bridges or claim tested runtime integration.
256
- - Config `instructions` entries are accepted but not loaded; ambient `AGENTS.md` works. `@refs` are ordinary text: explicitly read referenced snippet docs. `request.body.temperature` remains in config, but the current runner does not send it. Preserve `lsp: true`, but use project lint/typecheck/compiler commands (no current V2 LSP tools/diagnostics).
257
- - `--env opencode` supplies minimal shared references without activating other harnesses. Activate on the next run/restart and report only checks actually run using installed V2; scaffold/placeholder checks are not runtime validation. Publishing 4.0.0 has not been executed.
255
+ - The OpenCode Ponytail plugin (`@dietrichgebert/ponytail`, the author's native V2 package) is installed globally by the operator. Templates do not register or pin it, and no local Ponytail source is bundled or ported. Keep `opentmux` commented as V1-only. Do not introduce API ports or bridges or claim tested runtime integration.
256
+ - Ambient `AGENTS.md` works. Config `instructions` entries load only when the runtime injects them (OpenChamber does; other hosts may not), so do not rely on them: write explicit "Read and follow" wrappers regardless. `@refs` are ordinary text: explicitly read referenced snippet docs. `request.body.temperature` remains in config, but the current runner does not send it. Preserve `lsp: true`, but use project lint/typecheck/compiler commands (no current V2 LSP tools/diagnostics).
257
+ - `--env opencode` supplies minimal shared references without activating other harnesses. Activate on the next run/restart and report only checks actually run using installed V2; scaffold/placeholder checks are not runtime validation.
258
258
 
259
259
  **Ponytail pre-activation cleanup (confirmed OpenCode use only):**
260
260
 
261
261
  1. In this bootstrap flow, inspect `.opencode/plugins/ponytail.js`, `.opencode/plugins/ponytail.mjs`, and `.opencode/plugins/ponytail.ts` for existing-target leftovers. Verify obsolete toolkit ownership from contents/provenance, not filename alone; absent paths need no deletion. Preserve unrelated/custom plugins and global config.
262
262
  2. Back up the local config and verified obsolete toolkit copies, obtain explicit removal approval, then remove ONLY those copies. Do not automatically delete files in the CLI or remove custom plugins.
263
- 3. With approval, merge/deduplicate upstream `@dietrichgebert/ponytail@4.12.0` registration locally where appropriate, preserving other registrations/options and leaving global config untouched. No API port or bridge.
263
+ 3. Never add `@dietrichgebert/ponytail` to project `.opencode/opencode.jsonc`. Check whether it is installed globally; if not, tell the operator to install it globally and leave global and project config untouched. No API port or bridge.
264
264
  4. If any present copy's ownership or safe removal is unverified, or required removal approval is denied, **STOP OpenCode activation and migration completion**; leave `.toolkit-version` unchanged and report blocked, not complete. Proceed/restart only after this gate passes; runtime integration remains untested.
265
265
 
266
266
  **Create Toolkit Version File:**
267
267
 
268
- Create a `.toolkit-version` file in the project root with the current toolkit version only after the OpenCode preflight and Ponytail cleanup gate pass (or OpenCode is confirmed out of scope):
268
+ Confirm `.toolkit-version` in the project root. The CLI writes it on install and patch with the installed package version. For toolkit 4.0.0 or later, keep the value the CLI wrote; do not write it by hand or overwrite it with a hard-coded version. If it is missing, run `npx nitm-ai-dev-toolkit patch` only after the OpenCode preflight and Ponytail cleanup gate pass (or OpenCode is confirmed out of scope). Expected form:
269
269
 
270
270
  ```
271
- 4.0.0
271
+ <installed package version, for example 5.0.0>
272
272
  ```
273
273
 
274
274
  This file enables `bootstrap-patch` to detect version changes and apply migrations automatically.
@@ -1,5 +1,5 @@
1
1
  ---
2
- description: "Run an opt-in factory job: intake, spec and plan gates, build in a worktree or in place, reviews, approval, local merge"
2
+ description: "Run an opt-in factory job: intake, spec and plan gates, build in a worktree or in place, reviews, approval, merge (local, or a merge request on the forge)"
3
3
  ---
4
4
 
5
5
  You are the factory orchestrator for this session. Arguments: $ARGUMENTS
@@ -9,12 +9,12 @@ Follow the [factory orchestrator skill](../../.agents/skills/factory/SKILL.md) e
9
9
  Ground rules:
10
10
 
11
11
  - Run the orchestrator in this session. Dispatch the `factory-*` agents for every spec, plan, build, review, and approval step, and do not write their files yourself.
12
- - Only write `job.json`, `intake.md`, `spec-<k>.md`, `plan-<k>.md`, `rework-<k>.md`, the escalation `decision.md`, `merge-conflict.md`, the ticket keys in `tasks.md`, the feature folder rename or copy, the feature docs commit on the job branch, and worktree, branch, or merge steps, and the `archive` moves.
12
+ - Only write `job.json`, `intake.md`, `spec-<k>.md`, `plan-<k>.md`, `rework-<k>.md`, the escalation `decision.md`, `merge-conflict.md`, `bootstrap.md`, the ticket keys in `tasks.md`, the feature folder rename or copy, the feature docs commit on the job branch, and worktree, branch, or merge steps, and the `archive` moves.
13
13
  - Intake asks in chat before any folder, job, or spec exists. Hold the intake gate: nothing is created until the operator picks to continue.
14
14
  - Hold the spec gate and the plan gate: nothing is planned, ticketed, or built until the operator confirms in chat. The spec cannot be confirmed while a `[PRODUCT DECISION]` item is open.
15
15
  - `--in-place` on the command, or the operator saying in place, builds in the main checkout instead of a worktree. Only a new job takes it.
16
16
  - `abandon <job-id>` closes a job without merging it. Ask first when an agent may still be running.
17
- - Never push. Merges stay local.
17
+ - Local merges never push. With `MERGE_MODE` set to `push-mr`, the branch is pushed and its merge request opened only on `/factory approve` or an `auto` APPROVE, and never force-pushed.
18
18
  - `archive` moves closed jobs only, to `factory/archive/`. It deletes an abandoned job's branch and worktree only after the operator says yes.
19
- - `prune` permanently deletes closed jobs from `factory/jobs/` and `factory/archive/`, after one confirmation in chat: merged jobs by default, and abandoned jobs too with `--abandoned`. It never touches an open job or `docs/features/`.
19
+ - `prune` permanently deletes closed jobs from `factory/jobs/` and `factory/archive/`, after one confirmation in chat: merged jobs by default, and abandoned jobs too with `--abandoned`. It never touches an open job or the feature folders.
20
20
  - If `$ARGUMENTS` is empty, show the invocation list from the skill and ask which one the user wants.
@@ -85,7 +85,9 @@ Implement a feature by completing tasks sequentially with proper tracking.
85
85
  git commit -m "feat({{SCOPE}}): {{DESCRIPTION}}"
86
86
  ```
87
87
 
88
- f. **Mark Task Complete**: tick `- [x]` for the task in `tasks.md`
88
+ f. **Mark Task Complete**:
89
+ - Slim `tasks.md`: tick `- [x]` on the task's line
90
+ - Legacy `tasks.md`: tick `- [x]` only on checkboxes under the current task's heading (until the next heading). Never tick checkboxes under other headings. If that heading has no checkboxes, report "no checkboxes under <heading>; nothing ticked" and continue
89
91
 
90
92
  5. **Post-Implementation Review**:
91
93
  - Dispatch **Reviewer** agent on all changes before proceeding
@@ -103,8 +103,8 @@ Before executing any task list, the orchestrator MUST run this analysis:
103
103
  - **Mixed** → Dispatch independent group in parallel, then continue sequential chain
104
104
 
105
105
  ```
106
- Example: 5 tasks → T001 (setup) → T002 [P] (backend API) + T003 [P] (frontend UI) + T004 [P] (docs) → T005 (integration tests)
107
- Dispatch: T001 sequential → T002+T003+T004 parallel → T005 sequential
106
+ Example: 5 tasks → T1 (setup) → T2 [P] (backend API) + T3 [P] (frontend UI) + T4 [P] (docs) → T5 (integration tests)
107
+ Dispatch: T1 sequential → T2+T3+T4 parallel → T5 sequential
108
108
  ```
109
109
 
110
110
  ## Quality Gates
@@ -1,5 +1,5 @@
1
1
  ---
2
- description: "Run an opt-in factory job: intake, spec and plan gates, build in a worktree or in place, reviews, approval, local merge"
2
+ description: "Run an opt-in factory job: intake, spec and plan gates, build in a worktree or in place, reviews, approval, merge (local, or a merge request on the forge)"
3
3
  argument-hint: "[--in-place] <feature request> | start [--in-place] <request | KEY | slug | job-id> | approve <job-id> | rework <job-id> <note> | abandon <job-id> | status [--all] | watch [--all] | archive [--all] [--dry-run] | prune [--all] [--abandoned] [--dry-run]"
4
4
  ---
5
5
 
@@ -1,5 +1,5 @@
1
1
  ---
2
- description: "Run an opt-in factory job: intake, spec and plan gates, build in a worktree or in place, reviews, approval, local merge"
2
+ description: "Run an opt-in factory job: intake, spec and plan gates, build in a worktree or in place, reviews, approval, merge (local, or a merge request on the forge)"
3
3
  tools: ["agent", "edit", "search", "read", "runInTerminal", "terminalLastCommand"]
4
4
  argument-hint: "[--in-place] <feature request> | start [--in-place] <request | KEY | slug | job-id> | approve <job-id> | rework <job-id> <note> | abandon <job-id> | status [--all] | watch [--all] | archive [--all] [--dry-run] | prune [--all] [--abandoned] [--dry-run]"
5
5
  ---
@@ -17,4 +17,4 @@ permissions:
17
17
 
18
18
  Build administrator portals with RBAC, system dashboards, reporting, analytics, and operational tooling.
19
19
 
20
- @.claude/agents-snippets/admin-portal.md
20
+ Read and follow `.claude/agents-snippets/admin-portal.md` before performing this role.
@@ -17,4 +17,4 @@ permissions:
17
17
 
18
18
  Design and implement API architecture, documentation, and developer experience.
19
19
 
20
- @.claude/agents-snippets/api-specialist.md
20
+ Read and follow `.claude/agents-snippets/api-specialist.md` before performing this role.
@@ -17,4 +17,4 @@ permissions:
17
17
 
18
18
  Design APIs, databases, and server-side architecture.
19
19
 
20
- @.claude/agents-snippets/backend-architect.md
20
+ Read and follow `.claude/agents-snippets/backend-architect.md` before performing this role.
@@ -17,4 +17,4 @@ permissions:
17
17
 
18
18
  Analyze codebases and create comprehensive documentation.
19
19
 
20
- @.claude/agents-snippets/documenter.md
20
+ Read and follow `.claude/agents-snippets/documenter.md` before performing this role.
@@ -17,4 +17,4 @@ permissions:
17
17
 
18
18
  Decide whether a factory job is approved for merge or escalated to a human.
19
19
 
20
- @.claude/agents-snippets/factory-approver.md
20
+ Read and follow `.claude/agents-snippets/factory-approver.md` before performing this role.
@@ -17,4 +17,4 @@ permissions:
17
17
 
18
18
  Build a factory job's feature inside its git worktree, following TDD, and log results in build.md.
19
19
 
20
- @.claude/agents-snippets/factory-builder.md
20
+ Read and follow `.claude/agents-snippets/factory-builder.md` before performing this role.
@@ -17,4 +17,4 @@ permissions:
17
17
 
18
18
  Review a factory job's branch for correctness, simplicity, reuse, conventions, and docs, and run the project's checks.
19
19
 
20
- @.claude/agents-snippets/factory-reviewer-code.md
20
+ Read and follow `.claude/agents-snippets/factory-reviewer-code.md` before performing this role.
@@ -17,4 +17,4 @@ permissions:
17
17
 
18
18
  Audit a factory job's branch diff for security problems in a fresh context.
19
19
 
20
- @.claude/agents-snippets/factory-reviewer-security.md
20
+ Read and follow `.claude/agents-snippets/factory-reviewer-security.md` before performing this role.
@@ -17,4 +17,4 @@ permissions:
17
17
 
18
18
  Review a factory job's feature at its build location for design-system consistency, spacing, typography, contrast, and responsive layout, without signing in or writing to real services.
19
19
 
20
- @.claude/agents-snippets/factory-reviewer-ui.md
20
+ Read and follow `.claude/agents-snippets/factory-reviewer-ui.md` before performing this role.
@@ -17,4 +17,4 @@ permissions:
17
17
 
18
18
  Review a factory job's feature at its build location for flows, states, copy, accessibility, and mobile, without signing in or writing to real services.
19
19
 
20
- @.claude/agents-snippets/factory-reviewer-ux.md
20
+ Read and follow `.claude/agents-snippets/factory-reviewer-ux.md` before performing this role.
@@ -17,4 +17,4 @@ permissions:
17
17
 
18
18
  Write a testable spec.md for a factory job from a feature request, after inspecting the real code.
19
19
 
20
- @.claude/agents-snippets/factory-spec-writer.md
20
+ Read and follow `.claude/agents-snippets/factory-spec-writer.md` before performing this role.
@@ -20,4 +20,4 @@ permissions:
20
20
 
21
21
  Coordinate end-to-end feature development using subagents for planning, implementation, and review.
22
22
 
23
- @.claude/agents-snippets/feature-builder.md
23
+ Read and follow `.claude/agents-snippets/feature-builder.md` before performing this role.
@@ -17,4 +17,4 @@ permissions:
17
17
 
18
18
  Build user interfaces, implement components, handle state management, and optimize frontend performance.
19
19
 
20
- @.claude/agents-snippets/frontend-developer.md
20
+ Read and follow `.claude/agents-snippets/frontend-developer.md` before performing this role.
@@ -17,4 +17,4 @@ permissions:
17
17
 
18
18
  Write minimal code to make failing tests pass. Part of the TDD red-green-refactor cycle.
19
19
 
20
- @.claude/agents-snippets/green.md
20
+ Read and follow `.claude/agents-snippets/green.md` before performing this role.
@@ -17,4 +17,4 @@ permissions:
17
17
 
18
18
  Implement code changes for a specific task. Follow TDD, write tests alongside code, and self-review before reporting completion.
19
19
 
20
- @.claude/agents-snippets/implementer.md
20
+ Read and follow `.claude/agents-snippets/implementer.md` before performing this role.
@@ -17,4 +17,4 @@ permissions:
17
17
 
18
18
  Break down feature requests into implementation tasks. Read specifications, analyze codebase patterns, and produce structured plans with dependencies.
19
19
 
20
- @.claude/agents-snippets/planner.md
20
+ Read and follow `.claude/agents-snippets/planner.md` before performing this role.
@@ -17,4 +17,4 @@ permissions:
17
17
 
18
18
  Write failing tests that define expected behavior. Part of the TDD red-green-refactor cycle.
19
19
 
20
- @.claude/agents-snippets/red.md
20
+ Read and follow `.claude/agents-snippets/red.md` before performing this role.
@@ -17,4 +17,4 @@ permissions:
17
17
 
18
18
  Improve code quality and structure while keeping all tests passing. Part of the TDD red-green-refactor cycle.
19
19
 
20
- @.claude/agents-snippets/refactor.md
20
+ Read and follow `.claude/agents-snippets/refactor.md` before performing this role.
@@ -17,4 +17,4 @@ permissions:
17
17
 
18
18
  Research codebase patterns, dependencies, and technical context. Analyze code structure, find relevant examples, and report findings without making changes.
19
19
 
20
- @.claude/agents-snippets/researcher.md
20
+ Read and follow `.claude/agents-snippets/researcher.md` before performing this role.
@@ -17,4 +17,4 @@ permissions:
17
17
 
18
18
  Review code changes for correctness, code quality, security, and adherence to project patterns.
19
19
 
20
- @.claude/agents-snippets/reviewer.md
20
+ Read and follow `.claude/agents-snippets/reviewer.md` before performing this role.
@@ -20,4 +20,4 @@ permissions:
20
20
 
21
21
  Implement a feature using test-driven development with red-green-refactor cycle.
22
22
 
23
- @.claude/agents-snippets/tdd.md
23
+ Read and follow `.claude/agents-snippets/tdd.md` before performing this role.
@@ -13,4 +13,4 @@ description: "Create {{ISSUE_TRACKER}} tickets from requirements or task files"
13
13
 
14
14
  $ARGUMENTS
15
15
 
16
- @.claude/prompt-snippets/assign-tasks.md
16
+ Read and follow `.claude/prompt-snippets/assign-tasks.md` before executing this command.
@@ -15,4 +15,4 @@ description: "Patch AI instructions by fetching updates from the toolkit repo an
15
15
 
16
16
  $ARGUMENTS
17
17
 
18
- @.claude/prompt-snippets/bootstrap-patch.md
18
+ Read and follow `.claude/prompt-snippets/bootstrap-patch.md` before executing this command.
@@ -15,4 +15,4 @@ description: "Upgrade AI instructions from pre-3.0 inline pattern to 3.0+ snippe
15
15
 
16
16
  $ARGUMENTS
17
17
 
18
- @.claude/prompt-snippets/bootstrap-upgrade.md
18
+ Read and follow `.claude/prompt-snippets/bootstrap-upgrade.md` before executing this command.
@@ -15,4 +15,4 @@ description: "Bootstrap AI instructions by inferring project details and customi
15
15
 
16
16
  $ARGUMENTS
17
17
 
18
- @.claude/prompt-snippets/bootstrap.md
18
+ Read and follow `.claude/prompt-snippets/bootstrap.md` before executing this command.
@@ -11,6 +11,6 @@ description: "Commit and push changes with conventional commit messages"
11
11
 
12
12
  Commit and push changes using conventional commit format.
13
13
 
14
- @.claude/prompt-snippets/commit-push.md
14
+ Read and follow `.claude/prompt-snippets/commit-push.md` before executing this command.
15
15
 
16
16
  $ARGUMENTS
@@ -15,4 +15,4 @@ description: "Create or update the project constitution defining core principles
15
15
 
16
16
  $ARGUMENTS
17
17
 
18
- @.claude/prompt-snippets/constitution.md
18
+ Read and follow `.claude/prompt-snippets/constitution.md` before executing this command.
@@ -13,4 +13,4 @@ description: "Create a new agent skill following VS Code and agentskills.io spec
13
13
 
14
14
  $ARGUMENTS
15
15
 
16
- @.claude/prompt-snippets/create-skill.md
16
+ Read and follow `.claude/prompt-snippets/create-skill.md` before executing this command.
@@ -26,4 +26,4 @@ Subcommands: `[--in-place] <feature request>` · `start [--in-place] <request |
26
26
 
27
27
  $ARGUMENTS
28
28
 
29
- @.claude/prompt-snippets/factory.md
29
+ Read and follow `.claude/prompt-snippets/factory.md` before executing this command.
@@ -15,4 +15,4 @@ description: "Implement a feature by completing tasks sequentially"
15
15
 
16
16
  $ARGUMENTS
17
17
 
18
- @.claude/prompt-snippets/implement-feature.md
18
+ Read and follow `.claude/prompt-snippets/implement-feature.md` before executing this command.
@@ -17,4 +17,4 @@ argument-hint: "bug description or fix requirements"
17
17
 
18
18
  $ARGUMENTS
19
19
 
20
- @.claude/prompt-snippets/implement-fixes.md
20
+ Read and follow `.claude/prompt-snippets/implement-fixes.md` before executing this command.
@@ -15,4 +15,4 @@ description: "Execute implementation tasks from a task list or specification"
15
15
 
16
16
  $ARGUMENTS
17
17
 
18
- @.claude/prompt-snippets/implement.md
18
+ Read and follow `.claude/prompt-snippets/implement.md` before executing this command.
@@ -15,4 +15,4 @@ description: "Create an implementation plan from a feature specification or requ
15
15
 
16
16
  $ARGUMENTS
17
17
 
18
- @.claude/prompt-snippets/plan.md
18
+ Read and follow `.claude/prompt-snippets/plan.md` before executing this command.
@@ -13,4 +13,4 @@ description: "Run or create E2E tests using Playwright"
13
13
 
14
14
  $ARGUMENTS
15
15
 
16
- @.claude/prompt-snippets/playwright-test.md
16
+ Read and follow `.claude/prompt-snippets/playwright-test.md` before executing this command.
@@ -7,4 +7,4 @@ description: "Whole-repo audit for over-engineering. Scans entire codebase for w
7
7
  > **Recommended agent:** `oracle`
8
8
  > Whole-repo over-engineering analysis
9
9
 
10
- @.claude/prompt-snippets/ponytail-audit.md
10
+ Read and follow `.claude/prompt-snippets/ponytail-audit.md` before executing this command.
@@ -7,4 +7,4 @@
7
7
  > **Recommended agent:** `fixer`
8
8
  > Debt ledger harvesting
9
9
 
10
- @.claude/prompt-snippets/ponytail-debt.md
10
+ Read and follow `.claude/prompt-snippets/ponytail-debt.md` before executing this command.
@@ -7,4 +7,4 @@
7
7
  > **Recommended agent:** `fixer`
8
8
  > Impact scoreboard display
9
9
 
10
- @.claude/prompt-snippets/ponytail-gain.md
10
+ Read and follow `.claude/prompt-snippets/ponytail-gain.md` before executing this command.
@@ -7,4 +7,4 @@
7
7
  > **Recommended agent:** `fixer`
8
8
  > Quick-reference display
9
9
 
10
- @.claude/prompt-snippets/ponytail-help.md
10
+ Read and follow `.claude/prompt-snippets/ponytail-help.md` before executing this command.
@@ -7,4 +7,4 @@
7
7
  > **Recommended agent:** `oracle`
8
8
  > Diff-level over-engineering review
9
9
 
10
- @.claude/prompt-snippets/ponytail-review.md
10
+ Read and follow `.claude/prompt-snippets/ponytail-review.md` before executing this command.
@@ -7,4 +7,4 @@ description: "Forces the laziest solution that actually works — YAGNI, stdlib,
7
7
  > **Recommended agent:** `fixer`
8
8
  > Apply YAGNI/stdlib discipline
9
9
 
10
- @.claude/prompt-snippets/ponytail.md
10
+ Read and follow `.claude/prompt-snippets/ponytail.md` before executing this command.
@@ -13,4 +13,4 @@ description: "Generate release notes from git commits (web, git tag, or document
13
13
 
14
14
  $ARGUMENTS
15
15
 
16
- @.claude/prompt-snippets/release-notes.md
16
+ Read and follow `.claude/prompt-snippets/release-notes.md` before executing this command.
@@ -13,6 +13,6 @@ description: "Review pull request for code quality and best practices"
13
13
 
14
14
  Conduct comprehensive code review for pull requests.
15
15
 
16
- @.claude/prompt-snippets/review-pr.md
16
+ Read and follow `.claude/prompt-snippets/review-pr.md` before executing this command.
17
17
 
18
18
  $ARGUMENTS
@@ -13,6 +13,6 @@ description: "Review code for quality, consistency, and adherence to project pat
13
13
 
14
14
  Review code for quality, security, and adherence to project patterns.
15
15
 
16
- @.claude/prompt-snippets/review.md
16
+ Read and follow `.claude/prompt-snippets/review.md` before executing this command.
17
17
 
18
18
  $ARGUMENTS
@@ -15,4 +15,4 @@ description: "Create a feature specification from a natural language description
15
15
 
16
16
  $ARGUMENTS
17
17
 
18
- @.claude/prompt-snippets/specify.md
18
+ Read and follow `.claude/prompt-snippets/specify.md` before executing this command.
@@ -13,4 +13,4 @@ description: "Generate an actionable task list from a specification or plan"
13
13
 
14
14
  $ARGUMENTS
15
15
 
16
- @.claude/prompt-snippets/tasks.md
16
+ Read and follow `.claude/prompt-snippets/tasks.md` before executing this command.
@@ -11,8 +11,7 @@
11
11
  ],
12
12
  "plugins": [
13
13
  "opencode-mem",
14
- "@tarquinen/opencode-dcp@latest",
15
- "@dietrichgebert/ponytail@4.12.0"
14
+ "@tarquinen/opencode-dcp@latest"
16
15
  // "opentmux": V1-only; enable only after it supports V2.
17
16
  ],
18
17
  "lsp": true