@givolt/i3-composer-agent 1.0.1 → 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 (204) hide show
  1. package/.agents/plugins/marketplace.json +1 -1
  2. package/.claude/commands/{build.md → i3-build.md} +10 -10
  3. package/.claude/commands/{code-simplify.md → i3-code-simplify.md} +2 -2
  4. package/.claude/commands/{constraints.md → i3-constraints.md} +4 -4
  5. package/.claude/commands/{plan.md → i3-plan.md} +1 -1
  6. package/.claude/commands/{review.md → i3-review.md} +3 -3
  7. package/.claude/commands/{ship.md → i3-ship.md} +4 -4
  8. package/.claude/commands/{spec.md → i3-spec.md} +1 -1
  9. package/.claude/commands/{test.md → i3-test.md} +2 -2
  10. package/.claude/commands/{webperf.md → i3-webperf.md} +1 -1
  11. package/.claude-plugin/marketplace.json +1 -1
  12. package/.claude-plugin/plugin.json +1 -1
  13. package/.codex-plugin/plugin.json +1 -1
  14. package/.gemini/commands/{build.toml → i3-build.toml} +10 -10
  15. package/.gemini/commands/{code-simplify.toml → i3-code-simplify.toml} +2 -2
  16. package/.gemini/commands/{constraints.toml → i3-constraints.toml} +4 -4
  17. package/.gemini/commands/{planning.toml → i3-planning.toml} +1 -1
  18. package/{commands/review.toml → .gemini/commands/i3-review.toml} +3 -3
  19. package/.gemini/commands/{ship.toml → i3-ship.toml} +4 -4
  20. package/.gemini/commands/{spec.toml → i3-spec.toml} +1 -1
  21. package/{commands/test.toml → .gemini/commands/i3-test.toml} +2 -2
  22. package/.gemini/commands/{webperf.toml → i3-webperf.toml} +1 -1
  23. package/CHANGELOG.md +17 -0
  24. package/NOTICE.md +2 -1
  25. package/README.md +47 -41
  26. package/agents/code-reviewer.md +2 -2
  27. package/agents/security-auditor.md +1 -1
  28. package/agents/test-engineer.md +1 -1
  29. package/agents/web-performance-auditor.md +3 -3
  30. package/bin/i3-composer-agent.cjs +2 -2
  31. package/bin/install.cjs +20 -4
  32. package/commands/{build.toml → i3-build.toml} +10 -10
  33. package/commands/{code-simplify.toml → i3-code-simplify.toml} +2 -2
  34. package/commands/{constraints.toml → i3-constraints.toml} +4 -4
  35. package/commands/{planning.toml → i3-planning.toml} +1 -1
  36. package/{.gemini/commands/review.toml → commands/i3-review.toml} +3 -3
  37. package/commands/{ship.toml → i3-ship.toml} +4 -4
  38. package/commands/{spec.toml → i3-spec.toml} +1 -1
  39. package/{.gemini/commands/test.toml → commands/i3-test.toml} +2 -2
  40. package/commands/{webperf.toml → i3-webperf.toml} +1 -1
  41. package/docs/adoption-guide.md +35 -35
  42. package/docs/agents.md +12 -12
  43. package/docs/antigravity-setup.md +14 -14
  44. package/docs/codebuddy-setup.md +16 -15
  45. package/docs/codex-setup.md +6 -6
  46. package/docs/commandcode-setup.md +5 -5
  47. package/docs/copilot-cli-setup.md +5 -5
  48. package/docs/copilot-setup.md +22 -22
  49. package/docs/cursor-setup.md +20 -20
  50. package/docs/developer-onboarding.md +5 -5
  51. package/docs/gemini-cli-setup.md +26 -26
  52. package/docs/getting-started.md +36 -36
  53. package/docs/opencode-setup.md +27 -27
  54. package/docs/skill-anatomy.md +3 -3
  55. package/docs/windsurf-setup.md +7 -7
  56. package/evals/cases/{api-and-interface-design.json → i3-api-and-interface-design.json} +4 -4
  57. package/evals/cases/{browser-testing-with-devtools.json → i3-browser-testing-with-devtools.json} +4 -4
  58. package/evals/cases/{ci-cd-and-automation.json → i3-ci-cd-and-automation.json} +4 -4
  59. package/evals/cases/{code-review-and-quality.json → i3-code-review-and-quality.json} +4 -4
  60. package/evals/cases/{code-simplification.json → i3-code-simplification.json} +4 -4
  61. package/evals/cases/{constraint-driven-development.json → i3-constraint-driven-development.json} +4 -4
  62. package/evals/cases/{context-engineering.json → i3-context-engineering.json} +4 -4
  63. package/evals/cases/{debugging-and-error-recovery.json → i3-debugging-and-error-recovery.json} +5 -5
  64. package/evals/cases/{deprecation-and-migration.json → i3-deprecation-and-migration.json} +4 -4
  65. package/evals/cases/{documentation-and-adrs.json → i3-documentation-and-adrs.json} +4 -4
  66. package/evals/cases/{doubt-driven-development.json → i3-doubt-driven-development.json} +3 -3
  67. package/evals/cases/{frontend-ui-engineering.json → i3-frontend-ui-engineering.json} +4 -4
  68. package/evals/cases/{git-workflow-and-versioning.json → i3-git-workflow-and-versioning.json} +3 -3
  69. package/evals/cases/{idea-refine.json → i3-idea-refine.json} +3 -3
  70. package/evals/cases/{incremental-implementation.json → i3-incremental-implementation.json} +4 -4
  71. package/evals/cases/{interview-me.json → i3-interview-me.json} +3 -3
  72. package/evals/cases/{observability-and-instrumentation.json → i3-observability-and-instrumentation.json} +3 -3
  73. package/evals/cases/{performance-optimization.json → i3-performance-optimization.json} +4 -4
  74. package/evals/cases/{planning-and-task-breakdown.json → i3-planning-and-task-breakdown.json} +4 -4
  75. package/evals/cases/{security-and-hardening.json → i3-security-and-hardening.json} +4 -4
  76. package/evals/cases/{shipping-and-launch.json → i3-shipping-and-launch.json} +4 -4
  77. package/evals/cases/{source-driven-development.json → i3-source-driven-development.json} +4 -4
  78. package/evals/cases/{spec-driven-development.json → i3-spec-driven-development.json} +5 -5
  79. package/evals/cases/{test-driven-development.json → i3-test-driven-development.json} +5 -5
  80. package/evals/cases/{using-agent-skills.json → i3-using-agent-skills.json} +4 -4
  81. package/evals/fixtures/{git-workflow-and-versioning → i3-git-workflow-and-versioning}/.eval/working-tree.patch +3 -3
  82. package/evals/plugin/code-review-fires/graders/skill-fired.md +1 -1
  83. package/evals/plugin/code-review-stays-quiet/graders/not-fired.md +1 -1
  84. package/evals/plugin/code-review-stays-quiet/graders/tdd-fired.md +1 -1
  85. package/evals/plugin/code-review-stays-quiet/prompt.md +2 -2
  86. package/evals/plugin/code-review-stays-quiet-on-commit-message/graders/not-fired.md +1 -1
  87. package/evals/plugin/code-review-stays-quiet-on-commit-message/prompt.md +2 -2
  88. package/hooks/SDD-CACHE.md +3 -3
  89. package/hooks/SIMPLIFY-IGNORE.md +2 -2
  90. package/hooks/session-start-test.sh +1 -1
  91. package/hooks/session-start.sh +3 -3
  92. package/package.json +1 -1
  93. package/plugin.json +1 -1
  94. package/rebrand/INSTALLATION-SPEC.md +2 -1
  95. package/rebrand/MAINTENANCE.md +3 -2
  96. package/rebrand/NOTICE.md +2 -1
  97. package/rebrand/PREFIX-SPEC.md +16 -0
  98. package/rebrand/UNIFICATION-SPEC.md +2 -2
  99. package/rebrand/VALIDATION.md +2 -2
  100. package/rebrand/VERSIONING.md +5 -3
  101. package/rebrand/apply.cjs +33 -10
  102. package/rebrand/brand.json +1 -1
  103. package/rebrand/catalog.cjs +16 -2
  104. package/rebrand/fork-patches.json +15 -0
  105. package/rebrand/identifiers.cjs +41 -0
  106. package/rebrand/overlay/CHANGELOG.md +17 -0
  107. package/rebrand/overlay/bin/i3-composer-agent.cjs +2 -2
  108. package/rebrand/overlay/bin/install.cjs +20 -4
  109. package/rebrand/overlay/scripts/validate-brand.cjs +3 -3
  110. package/rebrand/overlay/tests/installer.test.cjs +60 -12
  111. package/rebrand/templates/README.md +11 -5
  112. package/rebrand/templates/codebuddy-setup.md +16 -15
  113. package/rebrand/templates/codex-setup.md +6 -6
  114. package/rebrand/tests/pipeline.test.cjs +71 -3
  115. package/references/accessibility-checklist.md +1 -1
  116. package/references/definition-of-done.md +7 -7
  117. package/references/observability-checklist.md +3 -3
  118. package/references/orchestration-patterns.md +17 -17
  119. package/references/performance-checklist.md +2 -2
  120. package/references/security-checklist.md +1 -1
  121. package/references/testing-patterns.md +1 -1
  122. package/scripts/floor-guard-reference-test.js +2 -2
  123. package/scripts/lib/skill-lint.js +2 -0
  124. package/scripts/run-evals-test.js +2 -2
  125. package/scripts/validate-artifact-paths-test.js +3 -3
  126. package/scripts/validate-artifact-paths.js +4 -2
  127. package/scripts/validate-brand.cjs +3 -3
  128. package/scripts/validate-commands.js +1 -0
  129. package/scripts/validate-reference-links-test.js +11 -11
  130. package/scripts/validate-reference-links.js +1 -1
  131. package/skills/{api-and-interface-design → i3-api-and-interface-design}/SKILL.md +2 -2
  132. package/skills/{browser-testing-with-devtools → i3-browser-testing-with-devtools}/SKILL.md +1 -1
  133. package/skills/{ci-cd-and-automation → i3-ci-cd-and-automation}/SKILL.md +2 -2
  134. package/skills/{code-review-and-quality → i3-code-review-and-quality}/SKILL.md +5 -5
  135. package/skills/{code-simplification → i3-code-simplification}/SKILL.md +1 -1
  136. package/skills/{constraint-driven-development → i3-constraint-driven-development}/SKILL.md +15 -15
  137. package/skills/{context-engineering → i3-context-engineering}/SKILL.md +1 -1
  138. package/skills/{debugging-and-error-recovery → i3-debugging-and-error-recovery}/SKILL.md +2 -2
  139. package/skills/{deprecation-and-migration → i3-deprecation-and-migration}/SKILL.md +2 -2
  140. package/skills/{documentation-and-adrs → i3-documentation-and-adrs}/SKILL.md +1 -1
  141. package/skills/{doubt-driven-development → i3-doubt-driven-development}/SKILL.md +8 -8
  142. package/skills/{frontend-ui-engineering → i3-frontend-ui-engineering}/SKILL.md +1 -1
  143. package/skills/{git-workflow-and-versioning → i3-git-workflow-and-versioning}/SKILL.md +4 -4
  144. package/skills/{idea-refine → i3-idea-refine}/SKILL.md +2 -2
  145. package/skills/{idea-refine → i3-idea-refine}/scripts/idea-refine.sh +1 -1
  146. package/skills/{incremental-implementation → i3-incremental-implementation}/SKILL.md +3 -3
  147. package/skills/{interview-me → i3-interview-me}/SKILL.md +12 -12
  148. package/skills/{observability-and-instrumentation → i3-observability-and-instrumentation}/SKILL.md +5 -5
  149. package/skills/{performance-optimization → i3-performance-optimization}/SKILL.md +1 -1
  150. package/skills/{performance-optimization → i3-performance-optimization}/references/optimization-patterns.md +1 -1
  151. package/skills/{planning-and-task-breakdown → i3-planning-and-task-breakdown}/SKILL.md +2 -2
  152. package/skills/{security-and-hardening → i3-security-and-hardening}/SKILL.md +3 -3
  153. package/skills/{security-and-hardening → i3-security-and-hardening}/references/hardening-patterns.md +1 -1
  154. package/skills/{shipping-and-launch → i3-shipping-and-launch}/SKILL.md +2 -2
  155. package/skills/{source-driven-development → i3-source-driven-development}/SKILL.md +2 -2
  156. package/skills/{spec-driven-development → i3-spec-driven-development}/SKILL.md +7 -7
  157. package/skills/{test-driven-development → i3-test-driven-development}/SKILL.md +2 -2
  158. package/skills/{using-agent-skills → i3-using-agent-skills}/SKILL.md +67 -67
  159. package/tests/installer.test.cjs +60 -12
  160. /package/evals/fixtures/{api-and-interface-design → i3-api-and-interface-design}/service-brief.md +0 -0
  161. /package/evals/fixtures/{browser-testing-with-devtools → i3-browser-testing-with-devtools}/README.md +0 -0
  162. /package/evals/fixtures/{browser-testing-with-devtools → i3-browser-testing-with-devtools}/index.html +0 -0
  163. /package/evals/fixtures/{browser-testing-with-devtools → i3-browser-testing-with-devtools}/server.js +0 -0
  164. /package/evals/fixtures/{ci-cd-and-automation → i3-ci-cd-and-automation}/package.json +0 -0
  165. /package/evals/fixtures/{ci-cd-and-automation → i3-ci-cd-and-automation}/src/slug.js +0 -0
  166. /package/evals/fixtures/{ci-cd-and-automation → i3-ci-cd-and-automation}/test/slug.test.js +0 -0
  167. /package/evals/fixtures/{code-review-and-quality → i3-code-review-and-quality}/user-search.diff +0 -0
  168. /package/evals/fixtures/{code-simplification → i3-code-simplification}/config-parser.js +0 -0
  169. /package/evals/fixtures/{code-simplification → i3-code-simplification}/config-parser.test.js +0 -0
  170. /package/evals/fixtures/{context-engineering → i3-context-engineering}/context-audit.md +0 -0
  171. /package/evals/fixtures/{debugging-and-error-recovery → i3-debugging-and-error-recovery}/pagination.js +0 -0
  172. /package/evals/fixtures/{debugging-and-error-recovery → i3-debugging-and-error-recovery}/pagination.test.js +0 -0
  173. /package/evals/fixtures/{debugging-and-error-recovery → i3-debugging-and-error-recovery}/time-pressure.md +0 -0
  174. /package/evals/fixtures/{deprecation-and-migration → i3-deprecation-and-migration}/api-inventory.md +0 -0
  175. /package/evals/fixtures/{documentation-and-adrs → i3-documentation-and-adrs}/decision-context.md +0 -0
  176. /package/evals/fixtures/{doubt-driven-development → i3-doubt-driven-development}/migration-plan.md +0 -0
  177. /package/evals/fixtures/{frontend-ui-engineering → i3-frontend-ui-engineering}/Button.tsx +0 -0
  178. /package/evals/fixtures/{frontend-ui-engineering → i3-frontend-ui-engineering}/design-system.md +0 -0
  179. /package/evals/fixtures/{git-workflow-and-versioning → i3-git-workflow-and-versioning}/app.js +0 -0
  180. /package/evals/fixtures/{git-workflow-and-versioning → i3-git-workflow-and-versioning}/app.test.js +0 -0
  181. /package/evals/fixtures/{incremental-implementation → i3-incremental-implementation}/reports.js +0 -0
  182. /package/evals/fixtures/{incremental-implementation → i3-incremental-implementation}/reports.test.js +0 -0
  183. /package/evals/fixtures/{incremental-implementation → i3-incremental-implementation}/tasks/plan.md +0 -0
  184. /package/evals/fixtures/{observability-and-instrumentation → i3-observability-and-instrumentation}/operations.md +0 -0
  185. /package/evals/fixtures/{observability-and-instrumentation → i3-observability-and-instrumentation}/payment-retry.js +0 -0
  186. /package/evals/fixtures/{performance-optimization → i3-performance-optimization}/benchmark.js +0 -0
  187. /package/evals/fixtures/{performance-optimization → i3-performance-optimization}/products.js +0 -0
  188. /package/evals/fixtures/{planning-and-task-breakdown → i3-planning-and-task-breakdown}/notifications-spec.md +0 -0
  189. /package/evals/fixtures/{security-and-hardening → i3-security-and-hardening}/webhook.js +0 -0
  190. /package/evals/fixtures/{security-and-hardening → i3-security-and-hardening}/webhook.test.js +0 -0
  191. /package/evals/fixtures/{shipping-and-launch → i3-shipping-and-launch}/authority-pressure.md +0 -0
  192. /package/evals/fixtures/{shipping-and-launch → i3-shipping-and-launch}/launch-status.md +0 -0
  193. /package/evals/fixtures/{source-driven-development → i3-source-driven-development}/framework-task.md +0 -0
  194. /package/evals/fixtures/{spec-driven-development → i3-spec-driven-development}/billing-brief.md +0 -0
  195. /package/evals/fixtures/{test-driven-development → i3-test-driven-development}/BUG.md +0 -0
  196. /package/evals/fixtures/{test-driven-development → i3-test-driven-development}/README.md +0 -0
  197. /package/evals/fixtures/{test-driven-development → i3-test-driven-development}/package.json +0 -0
  198. /package/evals/fixtures/{test-driven-development → i3-test-driven-development}/src/split.js +0 -0
  199. /package/evals/fixtures/{test-driven-development → i3-test-driven-development}/test/split.test.js +0 -0
  200. /package/evals/fixtures/{using-agent-skills → i3-using-agent-skills}/incident.md +0 -0
  201. /package/skills/{constraint-driven-development → i3-constraint-driven-development}/references/floor-guard.md +0 -0
  202. /package/skills/{idea-refine → i3-idea-refine}/examples.md +0 -0
  203. /package/skills/{idea-refine → i3-idea-refine}/frameworks.md +0 -0
  204. /package/skills/{idea-refine → i3-idea-refine}/refinement-criteria.md +0 -0
@@ -46,7 +46,7 @@ Evaluate every change across these five dimensions:
46
46
 
47
47
  ## Output Format
48
48
 
49
- Categorize every finding, using the same severity labels as the `code-review-and-quality` skill:
49
+ Categorize every finding, using the same severity labels as the `i3-code-review-and-quality` skill:
50
50
 
51
51
  **Critical** — Blocks merge (security vulnerability, data loss risk, broken functionality)
52
52
 
@@ -98,5 +98,5 @@ Categorize every finding, using the same severity labels as the `code-review-and
98
98
  ## Composition
99
99
 
100
100
  - **Invoke directly when:** the user asks for a review of a specific change, file, or PR.
101
- - **Invoke via:** `/review` (single-perspective review) or `/ship` (parallel fan-out alongside `security-auditor` and `test-engineer`).
101
+ - **Invoke via:** `/i3-review` (single-perspective review) or `/i3-ship` (parallel fan-out alongside `security-auditor` and `test-engineer`).
102
102
  - **Do not invoke from another persona.** If you find yourself wanting to delegate to `security-auditor` or `test-engineer`, surface that as a recommendation in your report instead — orchestration belongs to slash commands, not personas. See [docs/agents.md](../docs/agents.md).
@@ -108,5 +108,5 @@ Map findings to the OWASP Top 10 for LLM Applications where relevant.
108
108
  ## Composition
109
109
 
110
110
  - **Invoke directly when:** the user wants a security-focused pass on a specific change, file, or system component.
111
- - **Invoke via:** `/ship` (parallel fan-out alongside `code-reviewer` and `test-engineer`), or any future `/audit` command.
111
+ - **Invoke via:** `/i3-ship` (parallel fan-out alongside `code-reviewer` and `test-engineer`), or any future `/audit` command.
112
112
  - **Do not invoke from another persona.** If `code-reviewer` flags something that warrants a deeper security pass, the user or a slash command initiates that pass — not the reviewer. See [docs/agents.md](../docs/agents.md).
@@ -91,5 +91,5 @@ When analyzing test coverage:
91
91
  ## Composition
92
92
 
93
93
  - **Invoke directly when:** the user asks for test design, coverage analysis, or a Prove-It test for a specific bug.
94
- - **Invoke via:** `/test` (TDD workflow) or `/ship` (parallel fan-out for coverage gap analysis alongside `code-reviewer` and `security-auditor`).
94
+ - **Invoke via:** `/i3-test` (TDD workflow) or `/i3-ship` (parallel fan-out for coverage gap analysis alongside `code-reviewer` and `security-auditor`).
95
95
  - **Do not invoke from another persona.** Recommendations to add tests belong in your report; the user or a slash command decides when to act on them. See [docs/agents.md](../docs/agents.md).
@@ -33,7 +33,7 @@ Populate the scorecard only with values backed by these sources. Mark unmeasured
33
33
  | Lab metrics, opportunities, diagnostics | Lighthouse JSON | None (parse a provided file) |
34
34
  | Field metrics (real users, p75) | CrUX API | `CRUX_API_KEY` or `GOOGLE_API_KEY` env var |
35
35
  | Combined lab + field | PageSpeed Insights JSON | None for parsing; the user provides the JSON |
36
- | Live trace, LCP attribution, INP attribution, layout shift attribution | Chrome DevTools MCP server (`performance_*`, `lighthouse_audit`) | `chrome-devtools` MCP server configured in the harness (see `skills/browser-testing-with-devtools`) |
36
+ | Live trace, LCP attribution, INP attribution, layout shift attribution | Chrome DevTools MCP server (`performance_*`, `lighthouse_audit`) | `chrome-devtools` MCP server configured in the harness (see `skills/i3-browser-testing-with-devtools`) |
37
37
  | Manual terminal capture (Lighthouse, trace, screenshot) | Chrome DevTools MCP CLI (e.g. `chrome-devtools lighthouse_audit --output-format=json`) | `npx -p chrome-devtools-mcp chrome-devtools <tool>` or `npm i -g chrome-devtools-mcp` (CLI is independent of the harness) |
38
38
 
39
39
  If a source is unavailable, do not fabricate. Skip the related section of the scorecard and continue with what you have.
@@ -173,12 +173,12 @@ Identify the framework and rendering model (React, Vue, Svelte, Angular, Next.js
173
173
  6. Do not recommend micro-optimizations without evidence they affect a Core Web Vital or another measurable metric.
174
174
  7. Acknowledge good performance practices — positive reinforcement matters.
175
175
  8. Use `references/performance-checklist.md` as the minimum baseline for each area.
176
- 9. Delegate granular optimization guidance and remediation steps to `skills/performance-optimization/SKILL.md` — keep this report at the audit level.
176
+ 9. Delegate granular optimization guidance and remediation steps to `skills/i3-performance-optimization/SKILL.md` — keep this report at the audit level.
177
177
  10. Fold AI-generated anti-patterns into their relevant area (Network or Rendering/JS); do not create a separate "AI" category.
178
178
  11. In Deep mode, always state which artifacts were provided and which fields remain unmeasured.
179
179
 
180
180
  ## Composition
181
181
 
182
182
  - **Invoke directly when:** the user wants a performance-focused pass on a web application, a specific component, a route, or a live URL.
183
- - **Invoke via:** `/webperf` (dedicated performance audit command). Not included in `/ship` fan-out — performance audits apply to web applications only, not to utility libraries or CLI tools, so adding it to a global pre-launch fan-out would create noise in non-web projects.
183
+ - **Invoke via:** `/i3-webperf` (dedicated performance audit command). Not included in `/i3-ship` fan-out — performance audits apply to web applications only, not to utility libraries or CLI tools, so adding it to a global pre-launch fan-out would create noise in non-web projects.
184
184
  - **Do not invoke from another persona.** If `code-reviewer` flags a performance concern that warrants a deeper pass, surface that recommendation in the report; the user or a slash command initiates the deeper pass. See [docs/agents.md](../docs/agents.md).
@@ -127,7 +127,7 @@ function prepare() {
127
127
  } else {
128
128
  console.log(`/plugin marketplace add ${quote(directory)}`);
129
129
  console.log(`/plugin install ${selector}`);
130
- console.log(`Use /${name}:spec, /${name}:plan, /${name}:build, and /${name}:ship in ${host === 'claude' ? 'Claude Code' : 'CodeBuddy'}.`);
130
+ console.log(`Use /${name}:i3-spec, /${name}:i3-plan, /${name}:i3-build, and /${name}:i3-ship in ${host === 'claude' ? 'Claude Code' : 'CodeBuddy'}.`);
131
131
  }
132
132
  }
133
133
  async function main() {
@@ -180,7 +180,7 @@ async function main() {
180
180
  console.log(identity);
181
181
  for (const target of plan.targets) {
182
182
  console.log(`Installed ${target.agents.join(', ')} skills at ${target.skillsDirectory}`);
183
- if (target.commandsDirectory) console.log(`Commands: /spec, /plan, /build, /ship (all ${fs.readdirSync(target.commandsDirectory).filter(file => file.endsWith('.md')).length} workflows) at ${target.commandsDirectory}`);
183
+ if (target.commandsDirectory) console.log(`Commands: /i3-spec, /i3-plan, /i3-build, /i3-ship (all ${fs.readdirSync(target.commandsDirectory).filter(file => file.endsWith('.md')).length} workflows) at ${target.commandsDirectory}`);
184
184
  }
185
185
  for (const backup of backups) console.log(`Previous assets preserved at ${backup}`);
186
186
  console.log('Reload the IDE window or start a new host session to discover installed files.');
package/bin/install.cjs CHANGED
@@ -5,6 +5,7 @@ const path = require('node:path');
5
5
  const os = require('node:os');
6
6
  const crypto = require('node:crypto');
7
7
  const registry = require('./agent-targets.json');
8
+ const upstream = require('../rebrand/upstream.json');
8
9
  const root = path.resolve(__dirname, '..');
9
10
  const name = 'i3-composer-agent';
10
11
  const aliases = { claude: 'claude-code', gemini: 'gemini-cli', copilot: 'github-copilot' };
@@ -82,7 +83,19 @@ function planInstallation({ agents, scope, projectDir = process.cwd(), home = os
82
83
  }
83
84
  assets.push({ source: path.join(root, 'LICENSE'), destination: destination(path.join(target.base, `${name}-LICENSE`)), kind: 'attribution' });
84
85
  assets.push({ source: path.join(root, 'NOTICE.md'), destination: destination(path.join(target.base, `${name}-NOTICE.md`)), kind: 'attribution' });
85
- assets.push({ target, destination: destination(path.join(target.base, `.${name}.json`)), kind: 'manifest' });
86
+ const manifestFile = path.join(target.base, `.${name}.json`);
87
+ if (exists(manifestFile)) {
88
+ const previous = JSON.parse(fs.readFileSync(manifestFile, 'utf8'));
89
+ if (previous.name === name && Array.isArray(previous.assets)) {
90
+ const legacy = upstream.skills.map(id => `skills/${id}`);
91
+ if (target.commandsDirectory) legacy.push(...upstream.commands.map(id => `commands/${id}.md`));
92
+ for (const relative of legacy) {
93
+ const file = destination(path.join(target.base, relative));
94
+ if (previous.assets.includes(relative) && exists(file)) assets.push({ destination: file, kind: 'legacy' });
95
+ }
96
+ }
97
+ }
98
+ assets.push({ target, destination: destination(manifestFile), kind: 'manifest' });
86
99
  for (const asset of assets.slice(start)) {
87
100
  asset.base = target.base;
88
101
  asset.codebuddyCommand = asset.kind === 'command' && target.agents.includes('codebuddy');
@@ -120,9 +133,10 @@ function executeInstallation(plan, { force = false } = {}) {
120
133
  contexts.set(asset.base, { staging: fs.mkdtempSync(path.join(asset.base, `.${name}-stage-`)), backup: path.join(asset.base, `.${name}-backup-${crypto.randomUUID()}`) });
121
134
  }
122
135
  const context = contexts.get(asset.base);
136
+ if (asset.kind === 'legacy') continue;
123
137
  asset.staged = path.join(context.staging, String(index));
124
138
  if (asset.kind === 'manifest') {
125
- fs.writeFileSync(asset.staged, JSON.stringify({ name, version: pkg.version, upstreamVersion: pkg.i3ComposerAgent.upstreamVersion, upstreamCommit: pkg.i3ComposerAgent.upstreamCommit, scope: plan.scope, agents: asset.target.agents, assets: plan.assets.filter(item => item.base === asset.base).map(item => path.relative(asset.base, item.destination)) }, null, 2) + '\n');
139
+ fs.writeFileSync(asset.staged, JSON.stringify({ name, version: pkg.version, entryPrefix: 'i3-', upstreamVersion: pkg.i3ComposerAgent.upstreamVersion, upstreamCommit: pkg.i3ComposerAgent.upstreamCommit, scope: plan.scope, agents: asset.target.agents, assets: plan.assets.filter(item => item.base === asset.base && item.kind !== 'legacy').map(item => path.relative(asset.base, item.destination)) }, null, 2) + '\n');
126
140
  } else {
127
141
  fs.cpSync(asset.source, asset.staged, { recursive: true, filter: file => {
128
142
  if (fs.lstatSync(file).isSymbolicLink()) throw new Error(`Package contains a symlink: ${file}`);
@@ -143,8 +157,10 @@ function executeInstallation(plan, { force = false } = {}) {
143
157
  fs.renameSync(asset.destination, change.backup);
144
158
  }
145
159
  committed.push(change);
146
- fs.renameSync(asset.staged, asset.destination);
147
- change.written = true;
160
+ if (asset.kind !== 'legacy') {
161
+ fs.renameSync(asset.staged, asset.destination);
162
+ change.written = true;
163
+ }
148
164
  }
149
165
  return [...contexts.values()].map(context => context.backup).filter(exists);
150
166
  } catch (error) {
@@ -1,12 +1,12 @@
1
1
  description = "Implement tasks incrementally — build, test, verify, commit. Add \"auto\" to run the whole plan in one approved pass."
2
2
 
3
3
  prompt = """
4
- Invoke the incremental-implementation skill alongside test-driven-development.
4
+ Invoke the i3-incremental-implementation skill alongside i3-test-driven-development.
5
5
 
6
6
  ## Modes
7
7
 
8
- - `/build` — implement the next pending task, then stop (careful, one slice at a time).
9
- - `/build auto` — generate the plan if needed, get a single approval, then implement every task without stopping between them.
8
+ - `/i3-build` — implement the next pending task, then stop (careful, one slice at a time).
9
+ - `/i3-build auto` — generate the plan if needed, get a single approval, then implement every task without stopping between them.
10
10
 
11
11
  The arguments select the mode. Treat `auto` (canonical) or `all` as autonomous mode; anything else (or empty) is the default single-task mode. Note: autonomous mode is not faster per task — it runs the same test-driven loop — it only removes the human stepping between tasks.
12
12
 
@@ -23,21 +23,21 @@ Pick the next pending task from the plan. Then:
23
23
  7. Commit with a descriptive message
24
24
  8. Mark the task complete and stop
25
25
 
26
- ## Autonomous: the whole plan (`/build auto`)
26
+ ## Autonomous: the whole plan (`/i3-build auto`)
27
27
 
28
28
  Use this once a spec exists and you want to collapse plan + build into one run. It removes the manual stepping between tasks — not the verification. Every task still earns a passing test and its own commit.
29
29
 
30
- 1. Require a spec. Look only for a spec at a known path: SPEC.md at the repo root, docs/SPEC.md, or a file under spec/. A README or arbitrary doc does NOT count. If none exists, stop and tell the user to run /spec first — do not invent requirements.
30
+ 1. Require a spec. Look only for a spec at a known path: SPEC.md at the repo root, docs/SPEC.md, or a file under spec/. A README or arbitrary doc does NOT count. If none exists, stop and tell the user to run /i3-spec first — do not invent requirements.
31
31
  2. Establish a clean baseline. Run `git status --porcelain`. If there are uncommitted changes outside the expected planning artifacts (SPEC.md, docs/SPEC.md, spec/*, tasks/plan.md, tasks/todo.md), stop and ask the user to commit, stash, or confirm how to handle them. Autonomous per-task commits must not absorb unrelated local work, or the clean-rollback guarantee breaks.
32
- 3. Plan if needed. If there is no tasks/plan.md, invoke the planning-and-task-breakdown skill to generate one.
32
+ 3. Plan if needed. If there is no tasks/plan.md, invoke the i3-planning-and-task-breakdown skill to generate one.
33
33
  4. Single checkpoint. Present the full plan and wait for an unambiguous affirmative (e.g. "approve", "go", "yes"). Treat hedged responses ("looks reasonable", "I guess") as NOT approved. This is the only human gate — after approval, run autonomously. If you generated tasks/plan.md, commit it as a single preparatory commit now so it doesn't bleed into the first task's commit.
34
34
  5. Execute every task in dependency order. Use each task's declared dependencies; if they aren't explicit, execute in the order the plan lists them. For each task, run the full default loop above (RED → GREEN → regression → build → commit → mark complete). Stage only the files that task touched plus its task-status update — never `git add -A` blindly — and make one commit per task so any point is a clean rollback.
35
35
  6. Stop and ask the user (do not push through) when:
36
- - a test can't be made to pass or the build breaks without an obvious fix → follow the debugging-and-error-recovery skill
36
+ - a test can't be made to pass or the build breaks without an obvious fix → follow the i3-debugging-and-error-recovery skill
37
37
  - the spec is ambiguous, or a task needs a decision the spec doesn't cover
38
- - a task is high-risk or irreversible — auth/permission changes, destructive data migrations, payments, deletions, deploys, anything touching secrets, or anything you can't undo with `git revert` → follow the doubt-driven-development skill and get explicit sign-off before continuing
39
- After the user resolves a blocker, they re-invoke /build auto — it resumes from the next pending task.
38
+ - a task is high-risk or irreversible — auth/permission changes, destructive data migrations, payments, deletions, deploys, anything touching secrets, or anything you can't undo with `git revert` → follow the i3-doubt-driven-development skill and get explicit sign-off before continuing
39
+ After the user resolves a blocker, they re-invoke /i3-build auto — it resumes from the next pending task.
40
40
  7. Summarize at the end: tasks completed, tests added, commits made, and anything skipped, flagged, or left for the user.
41
41
 
42
- If any step fails, follow the debugging-and-error-recovery skill.
42
+ If any step fails, follow the i3-debugging-and-error-recovery skill.
43
43
  """
@@ -1,7 +1,7 @@
1
1
  description = "Simplify code for clarity and maintainability — reduce complexity without changing behavior"
2
2
 
3
3
  prompt = """
4
- Invoke the code-simplification skill.
4
+ Invoke the i3-code-simplification skill.
5
5
 
6
6
  Simplify recently changed code (or the specified scope) while preserving exact behavior:
7
7
 
@@ -18,5 +18,5 @@ Simplify recently changed code (or the specified scope) while preserving exact b
18
18
  5. Apply each simplification incrementally — run tests after each change
19
19
  6. Verify all tests pass, the build succeeds, and the diff is clean
20
20
 
21
- If tests fail after a simplification, revert that change and reconsider. Use `code-review-and-quality` to review the result.
21
+ If tests fail after a simplification, revert that change and reconsider. Use `i3-code-review-and-quality` to review the result.
22
22
  """
@@ -1,7 +1,7 @@
1
1
  description = "Define and enforce this project's quality bar — interview, sane defaults, CONSTRAINTS.md"
2
2
 
3
3
  prompt = """
4
- Invoke the constraint-driven-development skill.
4
+ Invoke the i3-constraint-driven-development skill.
5
5
 
6
6
  $ARGUMENTS
7
7
 
@@ -26,7 +26,7 @@ Default behaviour with no arguments: set up constraints for this repository.
26
26
  7. **Verify.** Run the constraints against the current branch. If anything fails that the user disagrees with, fix the constraint now rather than leaving a gate people will learn to ignore.
27
27
 
28
28
  Sub-commands:
29
- - `/constraints check` — run the current constraints against this branch and report
30
- - `/constraints guard` — inspect the diff for a weakened bar: lowered thresholds, skipped or deleted tests, new suppression comments, unfinished stubs, new exceptions
31
- - `/constraints ratchet` — record today's measured values as the floor that must not fall
29
+ - `/i3-constraints check` — run the current constraints against this branch and report
30
+ - `/i3-constraints guard` — inspect the diff for a weakened bar: lowered thresholds, skipped or deleted tests, new suppression comments, unfinished stubs, new exceptions
31
+ - `/i3-constraints ratchet` — record today's measured values as the floor that must not fall
32
32
  """
@@ -1,7 +1,7 @@
1
1
  description = "Break work into small verifiable tasks with acceptance criteria and dependency ordering"
2
2
 
3
3
  prompt = """
4
- Invoke the planning-and-task-breakdown skill.
4
+ Invoke the i3-planning-and-task-breakdown skill.
5
5
 
6
6
  Read the existing spec (SPEC.md or equivalent) and the relevant codebase sections. Then:
7
7
 
@@ -1,15 +1,15 @@
1
1
  description = "Conduct a five-axis code review — correctness, readability, architecture, security, performance"
2
2
 
3
3
  prompt = """
4
- Invoke the code-review-and-quality skill.
4
+ Invoke the i3-code-review-and-quality skill.
5
5
 
6
6
  Review the current changes (staged or recent commits) across all five axes:
7
7
 
8
8
  1. **Correctness** — Does it match the spec? Edge cases handled? Tests adequate?
9
9
  2. **Readability** — Clear names? Straightforward logic? Well-organized?
10
10
  3. **Architecture** — Follows existing patterns? Clean boundaries? Right abstraction level?
11
- 4. **Security** — Input validated? Secrets safe? Auth checked? (Use security-and-hardening skill)
12
- 5. **Performance** — No N+1 queries? No unbounded ops? (Use performance-optimization skill)
11
+ 4. **Security** — Input validated? Secrets safe? Auth checked? (Use i3-security-and-hardening skill)
12
+ 5. **Performance** — No N+1 queries? No unbounded ops? (Use i3-performance-optimization skill)
13
13
 
14
14
  Categorize findings as Critical, Important, or Suggestion.
15
15
  Output a structured review with specific file:line references and fix recommendations.
@@ -1,9 +1,9 @@
1
1
  description = "Run the pre-launch checklist via parallel fan-out to specialist personas, then synthesize a go/no-go decision"
2
2
 
3
3
  prompt = """
4
- Invoke the shipping-and-launch skill.
4
+ Invoke the i3-shipping-and-launch skill.
5
5
 
6
- `/ship` is a **fan-out orchestrator**. It runs three specialist personas in parallel against the current change, then merges their reports into a single go/no-go decision with a rollback plan. The personas operate independently — no shared state, no ordering — which is what makes parallel execution safe and useful here.
6
+ `/i3-ship` is a **fan-out orchestrator**. It runs three specialist personas in parallel against the current change, then merges their reports into a single go/no-go decision with a rollback plan. The personas operate independently — no shared state, no ordering — which is what makes parallel execution safe and useful here.
7
7
 
8
8
  ## Phase A — Parallel fan-out
9
9
 
@@ -22,7 +22,7 @@ Constraints (from CLI's subagent model):
22
22
  - Do not let one persona delegate to another — keep the fan-out flat.
23
23
  - For richer multi-agent collaboration where teammates talk to each other instead of just reporting back, see `references/orchestration-patterns.md`.
24
24
 
25
- **Persona resolution.** If you've defined your own `code-reviewer`, `security-auditor`, or `test-engineer` in `agents/` or your global configuration, those take precedence over this plugin's versions — `/ship` picks up your customizations automatically. This is intentional: plugin subagents sit at the bottom of the CLI's scope priority table, so user-level definitions win by design.
25
+ **Persona resolution.** If you've defined your own `code-reviewer`, `security-auditor`, or `test-engineer` in `agents/` or your global configuration, those take precedence over this plugin's versions — `/i3-ship` picks up your customizations automatically. This is intentional: plugin subagents sit at the bottom of the CLI's scope priority table, so user-level definitions win by design.
26
26
 
27
27
  ## Phase B — Merge in main context
28
28
 
@@ -68,5 +68,5 @@ Produce a single output:
68
68
  2. Personas do not call each other. The main agent merges in Phase B.
69
69
  3. The rollback plan is mandatory before any GO decision.
70
70
  4. If any persona returns a Critical finding, the default verdict is NO-GO unless the user explicitly accepts the risk.
71
- 5. **Skip the fan-out only if all of the following are true:** the change touches 2 files or fewer, the diff is under 50 lines, and it does not touch auth, payments, data access, or config/env. Otherwise, default to fan-out. `/ship` is designed for production-bound changes — when the blast radius is non-trivial, run the parallel review even if the diff looks small.
71
+ 5. **Skip the fan-out only if all of the following are true:** the change touches 2 files or fewer, the diff is under 50 lines, and it does not touch auth, payments, data access, or config/env. Otherwise, default to fan-out. `/i3-ship` is designed for production-bound changes — when the blast radius is non-trivial, run the parallel review even if the diff looks small.
72
72
  """
@@ -1,7 +1,7 @@
1
1
  description = "Start spec-driven development — write a structured specification before writing code"
2
2
 
3
3
  prompt = """
4
- Invoke the spec-driven-development skill.
4
+ Invoke the i3-spec-driven-development skill.
5
5
 
6
6
  Begin by understanding what the user wants to build. Ask clarifying questions about:
7
7
  1. The objective and target users
@@ -1,7 +1,7 @@
1
1
  description = "Run TDD workflow — write failing tests, implement, verify. For bugs, use the Prove-It pattern."
2
2
 
3
3
  prompt = """
4
- Invoke the test-driven-development skill.
4
+ Invoke the i3-test-driven-development skill.
5
5
 
6
6
  For new features:
7
7
  1. Write tests that describe the expected behavior (they should FAIL)
@@ -15,5 +15,5 @@ For bug fixes (Prove-It pattern):
15
15
  4. Confirm the test passes
16
16
  5. Run the full test suite for regressions
17
17
 
18
- For browser-related issues, also invoke browser-testing-with-devtools to verify with Chrome DevTools MCP.
18
+ For browser-related issues, also invoke i3-browser-testing-with-devtools to verify with Chrome DevTools MCP.
19
19
  """
@@ -1,7 +1,7 @@
1
1
  description = "Run a web performance audit via the web-performance-auditor persona"
2
2
 
3
3
  prompt = """
4
- /webperf targets web applications specifically. Do not use it for utility libraries, CLIs, or server-only code with no browser-facing output.
4
+ /i3-webperf targets web applications specifically. Do not use it for utility libraries, CLIs, or server-only code with no browser-facing output.
5
5
 
6
6
  ## Determine the mode
7
7
 
@@ -28,44 +28,44 @@ A new project is the best-case scenario: there's no legacy behavior to preserve,
28
28
  ### Day 0 | Install and wire up
29
29
 
30
30
  1. Install the pack (`npx skills add /path/to/i3-composer-agent`, or the native integration for your tool, see [getting-started.md](getting-started.md)).
31
- 2. If the host has no native skill router, load `using-agent-skills` (the meta-skill) so the agent can route work to the right skill on its own. On hosts with native routing, install the individual skills and do not preload the meta-skill as always-on context.
32
- 3. Add a short project rules file (`CLAUDE.md`, `.cursorrules`, etc.) with your stack, commands, and boundaries, `context-engineering` describes what belongs there.
31
+ 2. If the host has no native skill router, load `i3-using-agent-skills` (the meta-skill) so the agent can route work to the right skill on its own. On hosts with native routing, install the individual skills and do not preload the meta-skill as always-on context.
32
+ 3. Add a short project rules file (`CLAUDE.md`, `.cursorrules`, etc.) with your stack, commands, and boundaries, `i3-context-engineering` describes what belongs there.
33
33
 
34
34
  ### Day 0 | Define before you build
35
35
 
36
36
  Run the lifecycle in order for the project's first real feature:
37
37
 
38
38
  ```
39
- /spec → SPEC.md (spec-driven-development)
40
- /plan → tasks/plan.md (planning-and-task-breakdown)
41
- /build → one slice at a time (incremental-implementation + test-driven-development)
42
- /review → before every merge (code-review-and-quality)
43
- /ship → when going live (shipping-and-launch)
39
+ /i3-spec → SPEC.md (i3-spec-driven-development)
40
+ /i3-plan → tasks/plan.md (i3-planning-and-task-breakdown)
41
+ /i3-build → one slice at a time (i3-incremental-implementation + i3-test-driven-development)
42
+ /i3-review → before every merge (i3-code-review-and-quality)
43
+ /i3-ship → when going live (i3-shipping-and-launch)
44
44
  ```
45
45
 
46
- `/build auto` is a good fit for greenfield: you approve the plan once and every task still runs test-driven and commits individually. The spec and plan artifacts (`SPEC.md`, `tasks/`) are living documents, keep them in version control while the work is in flight. If the feature spans more than one session, those files are also the handoff, see [working across sessions](getting-started.md#working-across-sessions).
46
+ `/i3-build auto` is a good fit for greenfield: you approve the plan once and every task still runs test-driven and commits individually. The spec and plan artifacts (`SPEC.md`, `tasks/`) are living documents, keep them in version control while the work is in flight. If the feature spans more than one session, those files are also the handoff, see [working across sessions](getting-started.md#working-across-sessions).
47
47
 
48
48
  ### From the start, treat these as always-on
49
49
 
50
- - **test-driven-development**, coverage debt is cheapest to avoid at zero.
51
- - **git-workflow-and-versioning**, atomic commits and ~100-line changes are habits, not retrofits.
52
- - **security-and-hardening**, auth, input validation, and secrets handling are structural; bolting them on later is a migration project.
53
- - **documentation-and-adrs**, the first architectural decisions are exactly the ones nobody will remember the _why_ of in two years. An ADR now prevents the brownfield archaeology described in Path B.
50
+ - **i3-test-driven-development**, coverage debt is cheapest to avoid at zero.
51
+ - **i3-git-workflow-and-versioning**, atomic commits and ~100-line changes are habits, not retrofits.
52
+ - **i3-security-and-hardening**, auth, input validation, and secrets handling are structural; bolting them on later is a migration project.
53
+ - **i3-documentation-and-adrs**, the first architectural decisions are exactly the ones nobody will remember the _why_ of in two years. An ADR now prevents the brownfield archaeology described in Path B.
54
54
 
55
55
  ### Add as the project grows
56
56
 
57
57
  | When | Load |
58
58
  | ----------------------------------- | ------------------------------------------------------------- |
59
- | First public API or module boundary | `api-and-interface-design` |
60
- | First UI work | `frontend-ui-engineering` (+ `browser-testing-with-devtools`) |
61
- | First CI pipeline | `ci-cd-and-automation` |
62
- | First production deploy | `observability-and-instrumentation`, `shipping-and-launch` |
63
- | Performance requirements appear | `performance-optimization` |
59
+ | First public API or module boundary | `i3-api-and-interface-design` |
60
+ | First UI work | `i3-frontend-ui-engineering` (+ `i3-browser-testing-with-devtools`) |
61
+ | First CI pipeline | `i3-ci-cd-and-automation` |
62
+ | First production deploy | `i3-observability-and-instrumentation`, `i3-shipping-and-launch` |
63
+ | Performance requirements appear | `i3-performance-optimization` |
64
64
 
65
65
  ### Greenfield anti-patterns
66
66
 
67
- - **Skipping `/spec` because "it's just a prototype."** Prototypes become products. The spec is the cheapest artifact you'll ever write for this codebase.
68
- - **Loading all 25 skills into every session.** It wastes context and dilutes the ones that matter. Load by phase; let the host's native router or `using-agent-skills` route, but not both.
67
+ - **Skipping `/i3-spec` because "it's just a prototype."** Prototypes become products. The spec is the cheapest artifact you'll ever write for this codebase.
68
+ - **Loading all 25 skills into every session.** It wastes context and dilutes the ones that matter. Load by phase; let the host's native router or `i3-using-agent-skills` route, but not both.
69
69
  - **Deferring observability until "there's something to observe."** Instrument as you build, retrofitting structured logging is a Path B problem you're choosing to create.
70
70
 
71
71
  ---
@@ -78,38 +78,38 @@ In an established codebase, the risk profile inverts: the danger isn't building
78
78
 
79
79
  Goal: the agent understands the codebase before it modifies anything.
80
80
 
81
- 1. **`context-engineering` first.** Write the project rules file describing the real conventions, the ones in the code, not the ones in the wiki. Include build/test commands, directory meaning, known landmines ("don't touch `legacy/billing`, it has no tests and three known workarounds").
82
- 2. **`code-review-and-quality` on incoming changes.** Reviewing is zero-risk and immediately valuable: the five-axis review and its severity labels (which separate what blocks a merge, Critical and Required, from what doesn't) work on any PR regardless of the codebase's state.
83
- 3. **`debugging-and-error-recovery` for the bugs you were fixing anyway.** The five-step triage (reproduce → localize → reduce → fix → guard) shines in unfamiliar code, and the "guard" step starts building the regression suite you don't have.
84
- 4. **`doubt-driven-development` as a safety net.** Legacy code is exactly the "unfamiliar code, high cost of being wrong" scenario this skill targets. Adversarial fresh-context review of the agent's claims about how the legacy system works catches confident hallucinations before they become commits.
81
+ 1. **`i3-context-engineering` first.** Write the project rules file describing the real conventions, the ones in the code, not the ones in the wiki. Include build/test commands, directory meaning, known landmines ("don't touch `legacy/billing`, it has no tests and three known workarounds").
82
+ 2. **`i3-code-review-and-quality` on incoming changes.** Reviewing is zero-risk and immediately valuable: the five-axis review and its severity labels (which separate what blocks a merge, Critical and Required, from what doesn't) work on any PR regardless of the codebase's state.
83
+ 3. **`i3-debugging-and-error-recovery` for the bugs you were fixing anyway.** The five-step triage (reproduce → localize → reduce → fix → guard) shines in unfamiliar code, and the "guard" step starts building the regression suite you don't have.
84
+ 4. **`i3-doubt-driven-development` as a safety net.** Legacy code is exactly the "unfamiliar code, high cost of being wrong" scenario this skill targets. Adversarial fresh-context review of the agent's claims about how the legacy system works catches confident hallucinations before they become commits.
85
85
 
86
86
  ### Phase 2 | Tests before change
87
87
 
88
88
  Goal: every area the agent will touch gets a safety net first.
89
89
 
90
- - **`test-driven-development`, applied selectively.** Don't aim for global coverage; aim for coverage _where change is planned_. For untested legacy behavior, write characterization tests, tests that pin down what the code currently does, right or wrong, before any modification. The Beyonce Rule applies: if the agent liked a behavior enough to depend on it, it should have put a test on it.
91
- - **`code-simplification` on the worst hotspots.** Chesterton's Fence is the operative principle: the skill forces the agent to understand _why_ code exists before removing it. Behavior-preserving simplification plus characterization tests is the lowest-risk way to make legacy code changeable.
92
- - **`git-workflow-and-versioning` everywhere.** Small atomic commits matter _more_ in brownfield: when a change to old code breaks something subtle, a ~100-line commit is bisectable; a 2,000-line "modernization" commit is not.
90
+ - **`i3-test-driven-development`, applied selectively.** Don't aim for global coverage; aim for coverage _where change is planned_. For untested legacy behavior, write characterization tests, tests that pin down what the code currently does, right or wrong, before any modification. The Beyonce Rule applies: if the agent liked a behavior enough to depend on it, it should have put a test on it.
91
+ - **`i3-code-simplification` on the worst hotspots.** Chesterton's Fence is the operative principle: the skill forces the agent to understand _why_ code exists before removing it. Behavior-preserving simplification plus characterization tests is the lowest-risk way to make legacy code changeable.
92
+ - **`i3-git-workflow-and-versioning` everywhere.** Small atomic commits matter _more_ in brownfield: when a change to old code breaks something subtle, a ~100-line commit is bisectable; a 2,000-line "modernization" commit is not.
93
93
 
94
94
  ### Phase 3 | New work runs the full lifecycle
95
95
 
96
96
  Goal: two-speed adoption, legacy code stays under the Phase 1–2 regime; **new features get the greenfield treatment**.
97
97
 
98
- - New feature in the old codebase? `/spec → /plan → /build → /review`. The spec's boundaries section is where you declare what legacy surface the feature may and may not touch.
99
- - **`api-and-interface-design` at the seams.** When new code must talk to old code, design the boundary contract-first. Hyrum's Law is not theoretical in a years-old codebase, someone depends on every observable behavior, including the bugs.
100
- - **`security-and-hardening` as an audit, then a gate.** Run it once across the existing attack surface (auth, input handling, dependencies, the dependency audit alone usually pays for the exercise), file what you find, then enforce it on new changes.
98
+ - New feature in the old codebase? `/i3-spec → /i3-plan → /i3-build → /i3-review`. The spec's boundaries section is where you declare what legacy surface the feature may and may not touch.
99
+ - **`i3-api-and-interface-design` at the seams.** When new code must talk to old code, design the boundary contract-first. Hyrum's Law is not theoretical in a years-old codebase, someone depends on every observable behavior, including the bugs.
100
+ - **`i3-security-and-hardening` as an audit, then a gate.** Run it once across the existing attack surface (auth, input handling, dependencies, the dependency audit alone usually pays for the exercise), file what you find, then enforce it on new changes.
101
101
 
102
102
  ### Phase 4 | Pay down, deprecate, observe
103
103
 
104
- - **`deprecation-and-migration`** is the brownfield skill par excellence: code-as-liability, compulsory vs. advisory deprecation, and zombie-code removal give you a disciplined way to shrink the legacy surface instead of just wrapping it.
105
- - **`observability-and-instrumentation`** retrofitted along the paths you actually debug: structured logging and RED metrics on the top incident sources first.
106
- - **`performance-optimization`** when regressions matter, its measure-first rule prevents the classic legacy trap of optimizing code that was never the bottleneck.
104
+ - **`i3-deprecation-and-migration`** is the brownfield skill par excellence: code-as-liability, compulsory vs. advisory deprecation, and zombie-code removal give you a disciplined way to shrink the legacy surface instead of just wrapping it.
105
+ - **`i3-observability-and-instrumentation`** retrofitted along the paths you actually debug: structured logging and RED metrics on the top incident sources first.
106
+ - **`i3-performance-optimization`** when regressions matter, its measure-first rule prevents the classic legacy trap of optimizing code that was never the bottleneck.
107
107
 
108
108
  ### Brownfield anti-patterns
109
109
 
110
110
  - **"Big bang" adoption.** Loading the full lifecycle onto a legacy codebase on day one produces specs for code that already exists and refactors without safety nets. Sequence it.
111
111
  - **Letting the agent refactor untested code.** No characterization tests, no refactor. This is the single most expensive shortcut in brownfield adoption.
112
- - **Skipping `context-engineering` because "the code is the documentation."** The agent will infer conventions from the worst file it happens to read. Tell it the real ones.
112
+ - **Skipping `i3-context-engineering` because "the code is the documentation."** The agent will infer conventions from the worst file it happens to read. Tell it the real ones.
113
113
  - **Treating the legacy system's behavior as wrong by default.** Chesterton's Fence: the weird retry loop may be load-bearing. Understand, then change.
114
114
  - **Ratcheting nothing.** Adoption should make quality monotonically better: each phase adds a gate that doesn't come back off. If a month in you can't name what's now enforced that wasn't before, the rollout has stalled.
115
115
 
@@ -117,11 +117,11 @@ Goal: two-speed adoption, legacy code stays under the Phase 1–2 regime; **new
117
117
 
118
118
  ## The two paths converge
119
119
 
120
- Both end in the same steady state: `/spec → /plan → /build → /review → /ship` for new work, always-on TDD and git discipline, review gates before merge, and skills loaded by phase rather than in bulk. Greenfield gets there in days; brownfield gets there in a quarter, and the difference is exactly the safety nets (context, characterization tests, boundaries) that the old codebase never had.
120
+ Both end in the same steady state: `/i3-spec → /i3-plan → /i3-build → /i3-review → /i3-ship` for new work, always-on TDD and git discipline, review gates before merge, and skills loaded by phase rather than in bulk. Greenfield gets there in days; brownfield gets there in a quarter, and the difference is exactly the safety nets (context, characterization tests, boundaries) that the old codebase never had.
121
121
 
122
122
  | | Greenfield | Brownfield |
123
123
  | ---------------------- | ------------------------------ | ---------------------------------------- |
124
- | First skill loaded | Native router, or `using-agent-skills` + `/spec` | `context-engineering` |
124
+ | First skill loaded | Native router, or `i3-using-agent-skills` + `/i3-spec` | `i3-context-engineering` |
125
125
  | First value delivered | Spec'd, tested first feature | Zero-risk reviews and safer bug fixes |
126
126
  | TDD posture | Universal from commit one | Selective: tests where change is planned |
127
127
  | Refactoring rule | Rare (little to refactor) | Characterization tests first, always |
package/docs/agents.md CHANGED
@@ -15,9 +15,9 @@ Three layers, each with a distinct job:
15
15
 
16
16
  | Layer | What it is | Example | Composition role |
17
17
  |-------|-----------|---------|------------------|
18
- | **Skill** | A workflow with steps and exit criteria | `code-review-and-quality` | The *how* — invoked from inside a persona or command |
18
+ | **Skill** | A workflow with steps and exit criteria | `i3-code-review-and-quality` | The *how* — invoked from inside a persona or command |
19
19
  | **Persona** | A role with a perspective and an output format | `code-reviewer` | The *who* — adopts a viewpoint, produces a report |
20
- | **Command** | A user-facing entry point | `/review`, `/ship` | The *when* — composes personas and skills |
20
+ | **Command** | A user-facing entry point | `/i3-review`, `/i3-ship` | The *when* — composes personas and skills |
21
21
 
22
22
  The user (or a slash command) is the orchestrator. **Personas do not call other personas.** Skills are mandatory hops inside a persona's workflow.
23
23
 
@@ -34,14 +34,14 @@ Pick this when you want one perspective on the current change and the user is in
34
34
  ### Slash command (single persona behind it)
35
35
  Pick this when there's a repeatable workflow you'd otherwise re-explain every time.
36
36
 
37
- - `/review` → wraps `code-reviewer` with the project's review skill
38
- - `/test` → wraps `test-engineer` with TDD skill
39
- - `/webperf` → wraps `web-performance-auditor` for performance-focused audits on web apps
37
+ - `/i3-review` → wraps `code-reviewer` with the project's review skill
38
+ - `/i3-test` → wraps `test-engineer` with TDD skill
39
+ - `/i3-webperf` → wraps `web-performance-auditor` for performance-focused audits on web apps
40
40
 
41
41
  ### Slash command (orchestrator — fan-out)
42
42
  Pick this only when **independent** investigations can run in parallel and produce reports that a single agent then merges.
43
43
 
44
- - `/ship` → fans out to `code-reviewer` + `security-auditor` + `test-engineer` in parallel, then synthesizes their reports into a go/no-go decision
44
+ - `/i3-ship` → fans out to `code-reviewer` + `security-auditor` + `test-engineer` in parallel, then synthesizes their reports into a go/no-go decision
45
45
 
46
46
  This is the only orchestration pattern this repo endorses. See [references/orchestration-patterns.md](../references/orchestration-patterns.md) for the full pattern catalog and anti-patterns.
47
47
 
@@ -51,16 +51,16 @@ This is the only orchestration pattern this repo endorses. See [references/orche
51
51
  Is the work a single perspective on a single artifact?
52
52
  ├── Yes → Direct persona invocation
53
53
  └── No → Are the sub-tasks independent (no shared mutable state, no ordering)?
54
- ├── Yes → Slash command with parallel fan-out (e.g. /ship)
55
- └── No → Sequential slash commands run by the user (/spec → /plan → /build → /test → /review)
54
+ ├── Yes → Slash command with parallel fan-out (e.g. /i3-ship)
55
+ └── No → Sequential slash commands run by the user (/i3-spec → /i3-plan → /i3-build → /i3-test → /i3-review)
56
56
  ```
57
57
 
58
58
  ## Worked example: valid orchestration
59
59
 
60
- `/ship` is the canonical fan-out orchestrator in this repo:
60
+ `/i3-ship` is the canonical fan-out orchestrator in this repo:
61
61
 
62
62
  ```
63
- /ship
63
+ /i3-ship
64
64
  ├── (parallel) code-reviewer → review report
65
65
  ├── (parallel) security-auditor → audit report
66
66
  └── (parallel) test-engineer → coverage report
@@ -93,7 +93,7 @@ A `meta-orchestrator` persona whose job is "decide which other persona to call":
93
93
  Why this fails:
94
94
  - Pure routing layer with no domain value
95
95
  - Adds two paraphrasing hops → information loss + 2× token cost
96
- - The user already knows they want a review; let them call `/review` directly
96
+ - The user already knows they want a review; let them call `/i3-review` directly
97
97
  - Replicates work that slash commands and `AGENTS.md` intent-mapping already do
98
98
 
99
99
  ## Rules for personas
@@ -107,7 +107,7 @@ Why this fails:
107
107
 
108
108
  The personas in this repo are designed to work as Claude Code subagents and as Agent Teams teammates without modification:
109
109
 
110
- - **As subagents:** auto-discovered when this plugin is enabled (no path config needed). Use the Agent tool with `subagent_type: code-reviewer` (or `security-auditor`, `test-engineer`). `/ship` is the canonical example.
110
+ - **As subagents:** auto-discovered when this plugin is enabled (no path config needed). Use the Agent tool with `subagent_type: code-reviewer` (or `security-auditor`, `test-engineer`). `/i3-ship` is the canonical example.
111
111
  - **As Agent Teams teammates** (experimental, requires `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1`): reference the same persona name when spawning a teammate. The persona's body is **appended to** the teammate's system prompt as additional instructions (not a replacement), so your persona text sits on top of the team-coordination instructions the lead installs (SendMessage, task-list tools, etc.).
112
112
 
113
113
  Subagents only report results back to the main agent. Agent Teams let teammates message each other directly. Use subagents when reports are enough; use Agent Teams when sub-agents need to challenge each other's findings (e.g. competing-hypothesis debugging). See [references/orchestration-patterns.md](../references/orchestration-patterns.md) for the full mapping.
@@ -45,21 +45,21 @@ agy plugin list
45
45
 
46
46
  ## Lifecycle Workflows and Command Compatibility
47
47
 
48
- Antigravity's [migration tooling](https://www.agy.dev/docs/cli/gcli-migration/) reports the 9 legacy definitions in `commands/*.toml` as "converted to skills." In affected `agy` 1.1.x releases, validation succeeds but the converted wrappers do not appear in the slash-command or skill catalog. A successful `agy plugin validate` therefore confirms the files are well formed, not that `/build` and the other short wrappers are available. This is tracked in [upstream agent-skills #445](https://github.com/addyosmani/agent-skills/issues/445) and upstream in [antigravity-cli #788](https://github.com/google-antigravity/antigravity-cli/issues/788).
48
+ Antigravity's [migration tooling](https://www.agy.dev/docs/cli/gcli-migration/) reports the 9 legacy definitions in `commands/*.toml` as "converted to skills." In affected `agy` 1.1.x releases, validation succeeds but the converted wrappers do not appear in the slash-command or skill catalog. A successful `agy plugin validate` therefore confirms the files are well formed, not that `/i3-build` and the other short wrappers are available. This is tracked in [upstream agent-skills #445](https://github.com/addyosmani/agent-skills/issues/445) and upstream in [antigravity-cli #788](https://github.com/google-antigravity/antigravity-cli/issues/788).
49
49
 
50
50
  Use the native plugin skills directly while that importer limitation applies:
51
51
 
52
52
  | Intended wrapper | Direct Antigravity invocation | Notes |
53
53
  |------------------|-------------------------------|-------|
54
- | `/spec` | `/i3-composer-agent:spec-driven-development` | Writes a structured spec before code |
55
- | `/constraints` | `/i3-composer-agent:constraint-driven-development` | Defines and enforces the project's quality bar |
56
- | `/planning` | `/i3-composer-agent:planning-and-task-breakdown` | Antigravity's built-in `/planning` command is a separate plan-mode control |
57
- | `/build` | `/i3-composer-agent:incremental-implementation` | Also invoke `/i3-composer-agent:test-driven-development`; wrapper-only `/build auto` orchestration is unavailable |
58
- | `/test` | `/i3-composer-agent:test-driven-development` | Runs the red-green-refactor workflow |
59
- | `/review` | `/i3-composer-agent:code-review-and-quality` | Runs the five-axis review workflow |
60
- | `/code-simplify` | `/i3-composer-agent:code-simplification` | Simplifies without changing behavior |
61
- | `/ship` | `/i3-composer-agent:shipping-and-launch` | The wrapper's automatic persona fan-out is unavailable; invoke specialist agents separately |
62
- | `/webperf` | Select `web-performance-auditor` from `/agents` | This workflow is a persona, not a skill |
54
+ | `/i3-spec` | `/i3-composer-agent:i3-spec-driven-development` | Writes a structured spec before code |
55
+ | `/i3-constraints` | `/i3-composer-agent:i3-constraint-driven-development` | Defines and enforces the project's quality bar |
56
+ | `/i3-planning` | `/i3-composer-agent:i3-planning-and-task-breakdown` | Antigravity's built-in `/i3-planning` command is a separate plan-mode control |
57
+ | `/i3-build` | `/i3-composer-agent:i3-incremental-implementation` | Also invoke `/i3-composer-agent:i3-test-driven-development`; wrapper-only `/i3-build auto` orchestration is unavailable |
58
+ | `/i3-test` | `/i3-composer-agent:i3-test-driven-development` | Runs the red-green-refactor workflow |
59
+ | `/i3-review` | `/i3-composer-agent:i3-code-review-and-quality` | Runs the five-axis review workflow |
60
+ | `/i3-code-simplify` | `/i3-composer-agent:i3-code-simplification` | Simplifies without changing behavior |
61
+ | `/i3-ship` | `/i3-composer-agent:i3-shipping-and-launch` | The wrapper's automatic persona fan-out is unavailable; invoke specialist agents separately |
62
+ | `/i3-webperf` | Select `web-performance-auditor` from `/agents` | This workflow is a persona, not a skill |
63
63
 
64
64
  Do not add YAML frontmatter to the TOML files as a workaround. Gemini CLI reads the parallel TOML command format with a strict parser, and `---` frontmatter makes those files invalid TOML without changing Antigravity's conversion behavior.
65
65
 
@@ -80,7 +80,7 @@ To validate that your local plugin is correctly structured and contains all skil
80
80
  agy plugin validate /path/to/i3-composer-agent
81
81
  ```
82
82
 
83
- Then start a fresh session and type `/i3-composer-agent:` to inspect the namespaced skill catalog. If the validator reports that commands were converted but `/build` returns `No matches`, use the direct invocations above; reinstalling or adding a TOML `name` field does not resolve the known importer limitation.
83
+ Then start a fresh session and type `/i3-composer-agent:` to inspect the namespaced skill catalog. If the validator reports that commands were converted but `/i3-build` returns `No matches`, use the direct invocations above; reinstalling or adding a TOML `name` field does not resolve the known importer limitation.
84
84
 
85
85
  ---
86
86
 
@@ -90,9 +90,9 @@ Then start a fresh session and type `/i3-composer-agent:` to inspect the namespa
90
90
  Antigravity CLI automatically discovers the `SKILL.md` files located in the `skills/` directory of the installed plugin. Using the trigger descriptions in each skill's frontmatter, the agent will dynamically activate the appropriate workflow when it detects matching developer intent.
91
91
 
92
92
  For example, when you ask the agent to:
93
- - **Design a new system** &rarr; It will suggest/activate `spec-driven-development`.
94
- - **Implement a feature** &rarr; It will activate `incremental-implementation` and `test-driven-development`.
95
- - **Fix a bug** &rarr; It will activate `debugging-and-error-recovery`.
93
+ - **Design a new system** &rarr; It will suggest/activate `i3-spec-driven-development`.
94
+ - **Implement a feature** &rarr; It will activate `i3-incremental-implementation` and `i3-test-driven-development`.
95
+ - **Fix a bug** &rarr; It will activate `i3-debugging-and-error-recovery`.
96
96
 
97
97
  ### 2. Specialized Agent Personas
98
98
  The plugin registers reusable subagent definitions from the `agents/` directory: