@givolt/i3-composer-agent 1.0.0 → 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.
- package/.agents/plugins/marketplace.json +1 -1
- package/.claude/commands/{build.md → i3-build.md} +10 -10
- package/.claude/commands/{code-simplify.md → i3-code-simplify.md} +2 -2
- package/.claude/commands/{constraints.md → i3-constraints.md} +4 -4
- package/.claude/commands/{plan.md → i3-plan.md} +1 -1
- package/.claude/commands/{review.md → i3-review.md} +3 -3
- package/.claude/commands/{ship.md → i3-ship.md} +4 -4
- package/.claude/commands/{spec.md → i3-spec.md} +1 -1
- package/.claude/commands/{test.md → i3-test.md} +2 -2
- package/.claude/commands/{webperf.md → i3-webperf.md} +1 -1
- package/.claude-plugin/marketplace.json +1 -1
- package/.claude-plugin/plugin.json +1 -1
- package/.codex-plugin/plugin.json +1 -1
- package/.gemini/commands/{build.toml → i3-build.toml} +10 -10
- package/.gemini/commands/{code-simplify.toml → i3-code-simplify.toml} +2 -2
- package/.gemini/commands/{constraints.toml → i3-constraints.toml} +4 -4
- package/.gemini/commands/{planning.toml → i3-planning.toml} +1 -1
- package/{commands/review.toml → .gemini/commands/i3-review.toml} +3 -3
- package/.gemini/commands/{ship.toml → i3-ship.toml} +4 -4
- package/.gemini/commands/{spec.toml → i3-spec.toml} +1 -1
- package/{commands/test.toml → .gemini/commands/i3-test.toml} +2 -2
- package/.gemini/commands/{webperf.toml → i3-webperf.toml} +1 -1
- package/CHANGELOG.md +29 -1
- package/NOTICE.md +8 -2
- package/README.md +98 -54
- package/agents/code-reviewer.md +2 -2
- package/agents/security-auditor.md +1 -1
- package/agents/test-engineer.md +1 -1
- package/agents/web-performance-auditor.md +3 -3
- package/bin/agent-targets.json +726 -0
- package/bin/i3-composer-agent.cjs +84 -16
- package/bin/install.cjs +180 -0
- package/bin/skills-registry.LICENSE +21 -0
- package/bin/wizard.cjs +66 -0
- package/commands/{build.toml → i3-build.toml} +10 -10
- package/commands/{code-simplify.toml → i3-code-simplify.toml} +2 -2
- package/commands/{constraints.toml → i3-constraints.toml} +4 -4
- package/commands/{planning.toml → i3-planning.toml} +1 -1
- package/{.gemini/commands/review.toml → commands/i3-review.toml} +3 -3
- package/commands/{ship.toml → i3-ship.toml} +4 -4
- package/commands/{spec.toml → i3-spec.toml} +1 -1
- package/{.gemini/commands/test.toml → commands/i3-test.toml} +2 -2
- package/commands/{webperf.toml → i3-webperf.toml} +1 -1
- package/docs/adoption-guide.md +35 -35
- package/docs/agents.md +12 -12
- package/docs/antigravity-setup.md +14 -14
- package/docs/codebuddy-setup.md +64 -16
- package/docs/codex-setup.md +17 -6
- package/docs/commandcode-setup.md +5 -5
- package/docs/copilot-cli-setup.md +5 -5
- package/docs/copilot-setup.md +22 -22
- package/docs/cursor-setup.md +20 -20
- package/docs/developer-onboarding.md +5 -5
- package/docs/gemini-cli-setup.md +26 -26
- package/docs/getting-started.md +36 -36
- package/docs/opencode-setup.md +27 -27
- package/docs/skill-anatomy.md +3 -3
- package/docs/windsurf-setup.md +7 -7
- package/evals/cases/{api-and-interface-design.json → i3-api-and-interface-design.json} +4 -4
- package/evals/cases/{browser-testing-with-devtools.json → i3-browser-testing-with-devtools.json} +4 -4
- package/evals/cases/{ci-cd-and-automation.json → i3-ci-cd-and-automation.json} +4 -4
- package/evals/cases/{code-review-and-quality.json → i3-code-review-and-quality.json} +4 -4
- package/evals/cases/{code-simplification.json → i3-code-simplification.json} +4 -4
- package/evals/cases/{constraint-driven-development.json → i3-constraint-driven-development.json} +4 -4
- package/evals/cases/{context-engineering.json → i3-context-engineering.json} +4 -4
- package/evals/cases/{debugging-and-error-recovery.json → i3-debugging-and-error-recovery.json} +5 -5
- package/evals/cases/{deprecation-and-migration.json → i3-deprecation-and-migration.json} +4 -4
- package/evals/cases/{documentation-and-adrs.json → i3-documentation-and-adrs.json} +4 -4
- package/evals/cases/{doubt-driven-development.json → i3-doubt-driven-development.json} +3 -3
- package/evals/cases/{frontend-ui-engineering.json → i3-frontend-ui-engineering.json} +4 -4
- package/evals/cases/{git-workflow-and-versioning.json → i3-git-workflow-and-versioning.json} +3 -3
- package/evals/cases/{idea-refine.json → i3-idea-refine.json} +3 -3
- package/evals/cases/{incremental-implementation.json → i3-incremental-implementation.json} +4 -4
- package/evals/cases/{interview-me.json → i3-interview-me.json} +3 -3
- package/evals/cases/{observability-and-instrumentation.json → i3-observability-and-instrumentation.json} +3 -3
- package/evals/cases/{performance-optimization.json → i3-performance-optimization.json} +4 -4
- package/evals/cases/{planning-and-task-breakdown.json → i3-planning-and-task-breakdown.json} +4 -4
- package/evals/cases/{security-and-hardening.json → i3-security-and-hardening.json} +4 -4
- package/evals/cases/{shipping-and-launch.json → i3-shipping-and-launch.json} +4 -4
- package/evals/cases/{source-driven-development.json → i3-source-driven-development.json} +4 -4
- package/evals/cases/{spec-driven-development.json → i3-spec-driven-development.json} +5 -5
- package/evals/cases/{test-driven-development.json → i3-test-driven-development.json} +5 -5
- package/evals/cases/{using-agent-skills.json → i3-using-agent-skills.json} +4 -4
- package/evals/fixtures/{git-workflow-and-versioning → i3-git-workflow-and-versioning}/.eval/working-tree.patch +3 -3
- package/evals/plugin/code-review-fires/graders/skill-fired.md +1 -1
- package/evals/plugin/code-review-stays-quiet/graders/not-fired.md +1 -1
- package/evals/plugin/code-review-stays-quiet/graders/tdd-fired.md +1 -1
- package/evals/plugin/code-review-stays-quiet/prompt.md +2 -2
- package/evals/plugin/code-review-stays-quiet-on-commit-message/graders/not-fired.md +1 -1
- package/evals/plugin/code-review-stays-quiet-on-commit-message/prompt.md +2 -2
- package/hooks/SDD-CACHE.md +3 -3
- package/hooks/SIMPLIFY-IGNORE.md +2 -2
- package/hooks/session-start-test.sh +1 -1
- package/hooks/session-start.sh +3 -3
- package/package.json +1 -1
- package/plugin.json +1 -1
- package/rebrand/INSTALLATION-SPEC.md +47 -0
- package/rebrand/MAINTENANCE.md +5 -3
- package/rebrand/NOTICE.md +8 -2
- package/rebrand/PREFIX-SPEC.md +16 -0
- package/rebrand/UNIFICATION-SPEC.md +2 -2
- package/rebrand/VALIDATION.md +6 -2
- package/rebrand/VERSIONING.md +8 -5
- package/rebrand/apply.cjs +33 -10
- package/rebrand/brand.json +1 -1
- package/rebrand/catalog.cjs +16 -2
- package/rebrand/fork-patches.json +15 -0
- package/rebrand/identifiers.cjs +41 -0
- package/rebrand/overlay/CHANGELOG.md +29 -1
- package/rebrand/overlay/bin/agent-targets.json +726 -0
- package/rebrand/overlay/bin/i3-composer-agent.cjs +84 -16
- package/rebrand/overlay/bin/install.cjs +180 -0
- package/rebrand/overlay/bin/skills-registry.LICENSE +21 -0
- package/rebrand/overlay/bin/wizard.cjs +66 -0
- package/rebrand/overlay/scripts/validate-brand.cjs +3 -3
- package/rebrand/overlay/tests/installer.test.cjs +241 -0
- package/rebrand/templates/README.md +62 -18
- package/rebrand/templates/codebuddy-setup.md +64 -16
- package/rebrand/templates/codex-setup.md +17 -6
- package/rebrand/tests/pipeline.test.cjs +71 -3
- package/references/accessibility-checklist.md +1 -1
- package/references/definition-of-done.md +7 -7
- package/references/observability-checklist.md +3 -3
- package/references/orchestration-patterns.md +17 -17
- package/references/performance-checklist.md +2 -2
- package/references/security-checklist.md +1 -1
- package/references/testing-patterns.md +1 -1
- package/scripts/floor-guard-reference-test.js +2 -2
- package/scripts/lib/skill-lint.js +2 -0
- package/scripts/run-evals-test.js +2 -2
- package/scripts/validate-artifact-paths-test.js +3 -3
- package/scripts/validate-artifact-paths.js +4 -2
- package/scripts/validate-brand.cjs +3 -3
- package/scripts/validate-commands.js +1 -0
- package/scripts/validate-reference-links-test.js +11 -11
- package/scripts/validate-reference-links.js +1 -1
- package/skills/{api-and-interface-design → i3-api-and-interface-design}/SKILL.md +2 -2
- package/skills/{browser-testing-with-devtools → i3-browser-testing-with-devtools}/SKILL.md +1 -1
- package/skills/{ci-cd-and-automation → i3-ci-cd-and-automation}/SKILL.md +2 -2
- package/skills/{code-review-and-quality → i3-code-review-and-quality}/SKILL.md +5 -5
- package/skills/{code-simplification → i3-code-simplification}/SKILL.md +1 -1
- package/skills/{constraint-driven-development → i3-constraint-driven-development}/SKILL.md +15 -15
- package/skills/{context-engineering → i3-context-engineering}/SKILL.md +1 -1
- package/skills/{debugging-and-error-recovery → i3-debugging-and-error-recovery}/SKILL.md +2 -2
- package/skills/{deprecation-and-migration → i3-deprecation-and-migration}/SKILL.md +2 -2
- package/skills/{documentation-and-adrs → i3-documentation-and-adrs}/SKILL.md +1 -1
- package/skills/{doubt-driven-development → i3-doubt-driven-development}/SKILL.md +8 -8
- package/skills/{frontend-ui-engineering → i3-frontend-ui-engineering}/SKILL.md +1 -1
- package/skills/{git-workflow-and-versioning → i3-git-workflow-and-versioning}/SKILL.md +4 -4
- package/skills/{idea-refine → i3-idea-refine}/SKILL.md +2 -2
- package/skills/{idea-refine → i3-idea-refine}/scripts/idea-refine.sh +1 -1
- package/skills/{incremental-implementation → i3-incremental-implementation}/SKILL.md +3 -3
- package/skills/{interview-me → i3-interview-me}/SKILL.md +12 -12
- package/skills/{observability-and-instrumentation → i3-observability-and-instrumentation}/SKILL.md +5 -5
- package/skills/{performance-optimization → i3-performance-optimization}/SKILL.md +1 -1
- package/skills/{performance-optimization → i3-performance-optimization}/references/optimization-patterns.md +1 -1
- package/skills/{planning-and-task-breakdown → i3-planning-and-task-breakdown}/SKILL.md +2 -2
- package/skills/{security-and-hardening → i3-security-and-hardening}/SKILL.md +3 -3
- package/skills/{security-and-hardening → i3-security-and-hardening}/references/hardening-patterns.md +1 -1
- package/skills/{shipping-and-launch → i3-shipping-and-launch}/SKILL.md +2 -2
- package/skills/{source-driven-development → i3-source-driven-development}/SKILL.md +2 -2
- package/skills/{spec-driven-development → i3-spec-driven-development}/SKILL.md +7 -7
- package/skills/{test-driven-development → i3-test-driven-development}/SKILL.md +2 -2
- package/skills/{using-agent-skills → i3-using-agent-skills}/SKILL.md +67 -67
- package/tests/installer.test.cjs +241 -0
- /package/evals/fixtures/{api-and-interface-design → i3-api-and-interface-design}/service-brief.md +0 -0
- /package/evals/fixtures/{browser-testing-with-devtools → i3-browser-testing-with-devtools}/README.md +0 -0
- /package/evals/fixtures/{browser-testing-with-devtools → i3-browser-testing-with-devtools}/index.html +0 -0
- /package/evals/fixtures/{browser-testing-with-devtools → i3-browser-testing-with-devtools}/server.js +0 -0
- /package/evals/fixtures/{ci-cd-and-automation → i3-ci-cd-and-automation}/package.json +0 -0
- /package/evals/fixtures/{ci-cd-and-automation → i3-ci-cd-and-automation}/src/slug.js +0 -0
- /package/evals/fixtures/{ci-cd-and-automation → i3-ci-cd-and-automation}/test/slug.test.js +0 -0
- /package/evals/fixtures/{code-review-and-quality → i3-code-review-and-quality}/user-search.diff +0 -0
- /package/evals/fixtures/{code-simplification → i3-code-simplification}/config-parser.js +0 -0
- /package/evals/fixtures/{code-simplification → i3-code-simplification}/config-parser.test.js +0 -0
- /package/evals/fixtures/{context-engineering → i3-context-engineering}/context-audit.md +0 -0
- /package/evals/fixtures/{debugging-and-error-recovery → i3-debugging-and-error-recovery}/pagination.js +0 -0
- /package/evals/fixtures/{debugging-and-error-recovery → i3-debugging-and-error-recovery}/pagination.test.js +0 -0
- /package/evals/fixtures/{debugging-and-error-recovery → i3-debugging-and-error-recovery}/time-pressure.md +0 -0
- /package/evals/fixtures/{deprecation-and-migration → i3-deprecation-and-migration}/api-inventory.md +0 -0
- /package/evals/fixtures/{documentation-and-adrs → i3-documentation-and-adrs}/decision-context.md +0 -0
- /package/evals/fixtures/{doubt-driven-development → i3-doubt-driven-development}/migration-plan.md +0 -0
- /package/evals/fixtures/{frontend-ui-engineering → i3-frontend-ui-engineering}/Button.tsx +0 -0
- /package/evals/fixtures/{frontend-ui-engineering → i3-frontend-ui-engineering}/design-system.md +0 -0
- /package/evals/fixtures/{git-workflow-and-versioning → i3-git-workflow-and-versioning}/app.js +0 -0
- /package/evals/fixtures/{git-workflow-and-versioning → i3-git-workflow-and-versioning}/app.test.js +0 -0
- /package/evals/fixtures/{incremental-implementation → i3-incremental-implementation}/reports.js +0 -0
- /package/evals/fixtures/{incremental-implementation → i3-incremental-implementation}/reports.test.js +0 -0
- /package/evals/fixtures/{incremental-implementation → i3-incremental-implementation}/tasks/plan.md +0 -0
- /package/evals/fixtures/{observability-and-instrumentation → i3-observability-and-instrumentation}/operations.md +0 -0
- /package/evals/fixtures/{observability-and-instrumentation → i3-observability-and-instrumentation}/payment-retry.js +0 -0
- /package/evals/fixtures/{performance-optimization → i3-performance-optimization}/benchmark.js +0 -0
- /package/evals/fixtures/{performance-optimization → i3-performance-optimization}/products.js +0 -0
- /package/evals/fixtures/{planning-and-task-breakdown → i3-planning-and-task-breakdown}/notifications-spec.md +0 -0
- /package/evals/fixtures/{security-and-hardening → i3-security-and-hardening}/webhook.js +0 -0
- /package/evals/fixtures/{security-and-hardening → i3-security-and-hardening}/webhook.test.js +0 -0
- /package/evals/fixtures/{shipping-and-launch → i3-shipping-and-launch}/authority-pressure.md +0 -0
- /package/evals/fixtures/{shipping-and-launch → i3-shipping-and-launch}/launch-status.md +0 -0
- /package/evals/fixtures/{source-driven-development → i3-source-driven-development}/framework-task.md +0 -0
- /package/evals/fixtures/{spec-driven-development → i3-spec-driven-development}/billing-brief.md +0 -0
- /package/evals/fixtures/{test-driven-development → i3-test-driven-development}/BUG.md +0 -0
- /package/evals/fixtures/{test-driven-development → i3-test-driven-development}/README.md +0 -0
- /package/evals/fixtures/{test-driven-development → i3-test-driven-development}/package.json +0 -0
- /package/evals/fixtures/{test-driven-development → i3-test-driven-development}/src/split.js +0 -0
- /package/evals/fixtures/{test-driven-development → i3-test-driven-development}/test/split.test.js +0 -0
- /package/evals/fixtures/{using-agent-skills → i3-using-agent-skills}/incident.md +0 -0
- /package/skills/{constraint-driven-development → i3-constraint-driven-development}/references/floor-guard.md +0 -0
- /package/skills/{idea-refine → i3-idea-refine}/examples.md +0 -0
- /package/skills/{idea-refine → i3-idea-refine}/frameworks.md +0 -0
- /package/skills/{idea-refine → i3-idea-refine}/refinement-criteria.md +0 -0
package/docs/adoption-guide.md
CHANGED
|
@@ -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** → It will suggest/activate `spec-driven-development`.
|
|
94
|
-
- **Implement a feature** → It will activate `incremental-implementation` and `test-driven-development`.
|
|
95
|
-
- **Fix a bug** → It will activate `debugging-and-error-recovery`.
|
|
93
|
+
- **Design a new system** → It will suggest/activate `i3-spec-driven-development`.
|
|
94
|
+
- **Implement a feature** → It will activate `i3-incremental-implementation` and `i3-test-driven-development`.
|
|
95
|
+
- **Fix a bug** → 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:
|
package/docs/codebuddy-setup.md
CHANGED
|
@@ -1,12 +1,60 @@
|
|
|
1
1
|
# Using i3 Composer Agent with CodeBuddy
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
## Desktop IDE installation
|
|
4
|
+
|
|
5
|
+
Run inside your business project:
|
|
4
6
|
|
|
5
7
|
```bash
|
|
6
8
|
npx @givolt/i3-composer-agent --codebuddy
|
|
7
9
|
```
|
|
8
10
|
|
|
9
|
-
|
|
11
|
+
The terminal wizard preselects CodeBuddy, still allows multiple tools, and asks
|
|
12
|
+
for project or global scope before installing. Project scope writes these paths:
|
|
13
|
+
|
|
14
|
+
- `.codebuddy/skills/` — all 25 skills with `i3-` IDs.
|
|
15
|
+
- `.codebuddy/references/` — shared checklists used by skill-relative links.
|
|
16
|
+
- `.codebuddy/commands/` — all 9 existing lifecycle workflows.
|
|
17
|
+
- `.codebuddy/agents/` — all 4 persona definitions.
|
|
18
|
+
|
|
19
|
+
Global scope uses the same layout under `~/.codebuddy/`. Existing assets require
|
|
20
|
+
confirmed replacement and are preserved in backup directories. Settings are
|
|
21
|
+
not replaced. Reload the CodeBuddy window or start a new chat, then inspect
|
|
22
|
+
the Skills list and type `/` to inspect the command menu.
|
|
23
|
+
|
|
24
|
+
```text
|
|
25
|
+
/i3-spec
|
|
26
|
+
/i3-plan
|
|
27
|
+
/i3-build
|
|
28
|
+
/i3-build auto
|
|
29
|
+
/i3-review
|
|
30
|
+
/i3-ship
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
The command wrappers reference installed skill IDs without the plugin namespace.
|
|
34
|
+
Their workflow content and approval gates are retained. File installation does
|
|
35
|
+
not itself prove that the IDE has discovered or executed every workflow.
|
|
36
|
+
|
|
37
|
+
For multiple tools or a noninteractive installation:
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
npx @givolt/i3-composer-agent --agents codebuddy,codex --scope project --yes
|
|
41
|
+
npx @givolt/i3-composer-agent --codebuddy --scope global --yes
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
CodeBuddy documents [IDE skills](https://www.codebuddy.cn/docs/ide/Features/Skills)
|
|
45
|
+
and [IDE custom commands](https://www.codebuddy.cn/docs/ide/User-guide/Slash-Commands).
|
|
46
|
+
The directory layout follows its [configuration directory reference](https://www.codebuddy.cn/docs/cli/codebuddy-dir).
|
|
47
|
+
|
|
48
|
+
## CodeBuddy Code native plugin registration
|
|
49
|
+
|
|
50
|
+
For the terminal CodeBuddy Code plugin manager, explicitly prepare the full
|
|
51
|
+
plugin instead of native skill installation:
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
npx @givolt/i3-composer-agent --prepare --codebuddy
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
In CodeBuddy Code, register the prepared directory and install the plugin:
|
|
10
58
|
|
|
11
59
|
```text
|
|
12
60
|
/plugin marketplace add ./i3-composer-agent
|
|
@@ -14,28 +62,28 @@ In the CodeBuddy chat, register the prepared directory and install the plugin:
|
|
|
14
62
|
```
|
|
15
63
|
|
|
16
64
|
Use the absolute directory printed by the CLI if CodeBuddy has a different
|
|
17
|
-
working directory. Choose the intended installation scope in CodeBuddy's native
|
|
65
|
+
working directory. Choose the intended installation scope in CodeBuddy Code's native
|
|
18
66
|
plugin manager. Reload plugins or start a new session after installation.
|
|
19
67
|
|
|
20
|
-
CodeBuddy supports the existing `.claude-plugin/plugin.json` compatibility
|
|
68
|
+
CodeBuddy Code supports the existing `.claude-plugin/plugin.json` compatibility
|
|
21
69
|
manifest. It declares `.claude/commands/` and `commands/`, preserving the nine
|
|
22
70
|
original lifecycle commands and their workflow content.
|
|
23
71
|
|
|
24
72
|
```text
|
|
25
|
-
/i3-composer-agent:spec
|
|
26
|
-
/i3-composer-agent:plan
|
|
27
|
-
/i3-composer-agent:build
|
|
28
|
-
/i3-composer-agent:build auto
|
|
29
|
-
/i3-composer-agent:review
|
|
30
|
-
/i3-composer-agent:ship
|
|
73
|
+
/i3-composer-agent:i3-spec
|
|
74
|
+
/i3-composer-agent:i3-plan
|
|
75
|
+
/i3-composer-agent:i3-build
|
|
76
|
+
/i3-composer-agent:i3-build auto
|
|
77
|
+
/i3-composer-agent:i3-review
|
|
78
|
+
/i3-composer-agent:i3-ship
|
|
31
79
|
```
|
|
32
80
|
|
|
33
|
-
Skill IDs
|
|
34
|
-
upstream behavior. The plugin namespace
|
|
81
|
+
Skill IDs and command filenames use `i3-`. Persona names, artifact paths,
|
|
82
|
+
and workflow gates retain their upstream behavior. The plugin namespace is
|
|
83
|
+
`i3-composer-agent`.
|
|
35
84
|
|
|
36
|
-
The
|
|
37
|
-
|
|
38
|
-
wrappers or persona definitions.
|
|
85
|
+
The prepared plugin includes all skills, personas, commands, hooks and shared
|
|
86
|
+
`references/`. Native skill installation above does not enable plugin hooks.
|
|
39
87
|
|
|
40
|
-
|
|
88
|
+
In this explicit mode the CLI prepares files and prints registration commands. Actual host discovery
|
|
41
89
|
and model execution should be verified after registering the plugin.
|
package/docs/codex-setup.md
CHANGED
|
@@ -1,12 +1,23 @@
|
|
|
1
1
|
# Using i3 Composer Agent with Codex
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
For the multi-tool native skill wizard, run in your project:
|
|
4
4
|
|
|
5
5
|
```bash
|
|
6
6
|
npx @givolt/i3-composer-agent --codex
|
|
7
7
|
```
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
Choose project or global scope. Native installation uses `.agents/skills/`
|
|
10
|
+
or `~/.agents/skills/`, plus the sibling `references/` directory. It installs
|
|
11
|
+
the 25 skills with `i3-` IDs. This mode does not add short lifecycle
|
|
12
|
+
slash commands or enable plugin hooks.
|
|
13
|
+
|
|
14
|
+
For complete plugin registration, prepare a persistent bundle explicitly:
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
npx @givolt/i3-composer-agent --prepare --codex
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
This mode copies a persistent `./i3-composer-agent/` bundle and prints these
|
|
10
21
|
native registration commands. Run them to enable the plugin:
|
|
11
22
|
|
|
12
23
|
```bash
|
|
@@ -14,20 +25,20 @@ codex plugin marketplace add ./i3-composer-agent
|
|
|
14
25
|
codex plugin add i3-composer-agent@i3-composer-agent
|
|
15
26
|
```
|
|
16
27
|
|
|
17
|
-
Start a new Codex session after registration. All 25
|
|
18
|
-
|
|
28
|
+
Start a new Codex session after registration. All 25 skills use
|
|
29
|
+
`i3-` IDs. In CLI/IDE, use `/skills` or `$i3-spec-driven-development`; in chat,
|
|
19
30
|
explicitly request the relevant skill from i3 Composer Agent.
|
|
20
31
|
|
|
21
32
|
The adapter in `.codex-plugin/plugin.json` points at the unchanged `skills/`
|
|
22
33
|
layout. Shared checklists remain under `references/`, so skill-relative links
|
|
23
34
|
resolve inside the complete plugin bundle.
|
|
24
35
|
|
|
25
|
-
The short lifecycle commands (`/spec`, `/plan`, `/build`, `/ship`) remain
|
|
36
|
+
The short lifecycle commands (`/i3-spec`, `/i3-plan`, `/i3-build`, `/i3-ship`) remain
|
|
26
37
|
available in hosts that load the Claude-compatible command manifest. Codex
|
|
27
38
|
lifecycle-command adaptation is separate from this brand conversion. Native
|
|
28
39
|
Codex `/plan` switches planning mode; it is not the plugin's planning wrapper.
|
|
29
40
|
|
|
30
|
-
Do not preload `using-agent-skills/SKILL.md` into always-on context: Codex routes
|
|
41
|
+
Do not preload `i3-using-agent-skills/SKILL.md` into always-on context: Codex routes
|
|
31
42
|
skills natively. The meta-skill can remain installed and explicitly invoked.
|
|
32
43
|
|
|
33
44
|
For local source testing, replace `./i3-composer-agent` above with the absolute
|
|
@@ -17,7 +17,7 @@ In an interactive terminal this shows a multi-select so you can choose which of
|
|
|
17
17
|
**Install a specific skill:**
|
|
18
18
|
|
|
19
19
|
```bash
|
|
20
|
-
cmd skills add /path/to/i3-composer-agent -s spec-driven-development
|
|
20
|
+
cmd skills add /path/to/i3-composer-agent -s i3-spec-driven-development
|
|
21
21
|
```
|
|
22
22
|
|
|
23
23
|
**User scope** (installs into `~/.commandcode/skills/`, available in every project):
|
|
@@ -30,7 +30,7 @@ cmd skills add /path/to/i3-composer-agent --global
|
|
|
30
30
|
|
|
31
31
|
```bash
|
|
32
32
|
# Branch selectors apply to Git sources; prepared npm bundles have no Git history.
|
|
33
|
-
cmd skills add /path/to/i3-composer-agent/skills/interview-me # a specific path in the repo
|
|
33
|
+
cmd skills add /path/to/i3-composer-agent/skills/i3-interview-me # a specific path in the repo
|
|
34
34
|
cmd skills add /path/to/i3-composer-agent --force # overwrite / update if already installed
|
|
35
35
|
```
|
|
36
36
|
|
|
@@ -38,8 +38,8 @@ cmd skills add /path/to/i3-composer-agent --force # overwrite / update i
|
|
|
38
38
|
|
|
39
39
|
```bash
|
|
40
40
|
cmd skills list # list installed skills (project + user + bundled)
|
|
41
|
-
cmd skills remove spec-driven-development # remove a project-scoped skill
|
|
42
|
-
cmd skills remove spec-driven-development --global # remove a user-scoped skill
|
|
41
|
+
cmd skills remove i3-spec-driven-development # remove a project-scoped skill
|
|
42
|
+
cmd skills remove i3-spec-driven-development --global # remove a user-scoped skill
|
|
43
43
|
```
|
|
44
44
|
|
|
45
45
|
`--force` on `add` re-fetches and overwrites an existing skill, which is how you update to the latest version.
|
|
@@ -49,7 +49,7 @@ cmd skills remove spec-driven-development --global # remove a user-scoped skill
|
|
|
49
49
|
Installed skills are discovered automatically and appear in the TUI slash menu, tagged `[skill]`:
|
|
50
50
|
|
|
51
51
|
```
|
|
52
|
-
/spec-driven-development [skill] Write a spec before writing code…
|
|
52
|
+
/i3-spec-driven-development [skill] Write a spec before writing code…
|
|
53
53
|
```
|
|
54
54
|
|
|
55
55
|
Type `/` to browse, or start typing a skill name to filter. Use `/skills` to enable/disable skills.
|
|
@@ -40,7 +40,7 @@ In an interactive session, `/skills list` shows the same catalog.
|
|
|
40
40
|
The root `plugin.json` is the manifest Copilot CLI reads — it takes precedence over `.claude-plugin/plugin.json`, which belongs to Claude Code. That root manifest declares only a name, version and description, so component paths fall back to their defaults:
|
|
41
41
|
|
|
42
42
|
- **Skills — available.** With no explicit path, the CLI uses the conventional `skills/` directory, and the skills are discovered there.
|
|
43
|
-
- **Lifecycle commands — not available.** The root manifest has no `commands` field, so nothing registers `/spec`, `/plan`, `/build`, `/test`, `/review` or `/ship`. Those files live in `.claude/commands/` and are Claude Code commands.
|
|
43
|
+
- **Lifecycle commands — not available.** The root manifest has no `commands` field, so nothing registers `/i3-spec`, `/i3-plan`, `/i3-build`, `/i3-test`, `/i3-review` or `/i3-ship`. Those files live in `.claude/commands/` and are Claude Code commands.
|
|
44
44
|
|
|
45
45
|
For manifest precedence and the per-component path defaults, see the [CLI plugin reference](https://docs.github.com/en/copilot/reference/copilot-cli-reference/cli-plugin-reference) and [Creating plugins](https://docs.github.com/en/copilot/how-tos/copilot-cli/customize-copilot/plugins-creating).
|
|
46
46
|
|
|
@@ -48,11 +48,11 @@ For manifest precedence and the per-component path defaults, see the [CLI plugin
|
|
|
48
48
|
|
|
49
49
|
Name the skill you want, or describe the task and let the agent route to it:
|
|
50
50
|
|
|
51
|
-
> Use the spec-driven-development skill to write a spec for [the feature].
|
|
51
|
+
> Use the i3-spec-driven-development skill to write a spec for [the feature].
|
|
52
52
|
|
|
53
|
-
> Use the test-driven-development skill: write a failing test for this bug first, then fix it.
|
|
53
|
+
> Use the i3-test-driven-development skill: write a failing test for this bug first, then fix it.
|
|
54
54
|
|
|
55
|
-
> Use the code-review-and-quality skill to review my staged changes.
|
|
55
|
+
> Use the i3-code-review-and-quality skill to review my staged changes.
|
|
56
56
|
|
|
57
57
|
## Troubleshooting
|
|
58
58
|
|
|
@@ -60,5 +60,5 @@ Name the skill you want, or describe the task and let the agent route to it:
|
|
|
60
60
|
|---------|---------------|
|
|
61
61
|
| `plugin install` can't resolve `i3-composer-agent@i3-composer-agent` | Run `copilot plugin marketplace add /path/to/i3-composer-agent` first — that name only resolves once the marketplace is registered. Or install the repository directly. |
|
|
62
62
|
| Plugin installed but no skills | `copilot plugin list` to confirm the plugin, then `copilot skill list` (or `/skills list` in session) to see what was discovered. |
|
|
63
|
-
| `/spec`, `/build` and friends are not found | Expected, not a broken install: the root manifest registers no commands. Ask for the skill by name instead. |
|
|
63
|
+
| `/i3-spec`, `/i3-build` and friends are not found | Expected, not a broken install: the root manifest registers no commands. Ask for the skill by name instead. |
|
|
64
64
|
| Skills changed locally but the CLI shows the old copy | Start a fresh session, or run with `--plugin-dir` pointing at your clone. |
|
package/docs/copilot-setup.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
This guide covers Copilot in VS Code. For the standalone `copilot` command-line tool, see [copilot-cli-setup.md](copilot-cli-setup.md).
|
|
4
4
|
|
|
5
|
-
**What an install actually gives you:** the skills. Each installed skill becomes a slash command named after its frontmatter `name` — `/spec-driven-development`, `/test-driven-development`, and so on. `npx skills add /path/to/i3-composer-agent` and the manual copy below both install skills only. Neither of those two routes copies this repo's short lifecycle wrappers (`/spec`, `/plan`, `/build`, `/test`, `/review`, `/ship`) — those are Claude Code commands living in `.claude/commands/`. Use the full skill names, or add your own aliases — see [Lifecycle workflows](#lifecycle-workflows).
|
|
5
|
+
**What an install actually gives you:** the skills. Each installed skill becomes a slash command named after its frontmatter `name` — `/i3-spec-driven-development`, `/i3-test-driven-development`, and so on. `npx skills add /path/to/i3-composer-agent` and the manual copy below both install skills only. Neither of those two routes copies this repo's short lifecycle wrappers (`/i3-spec`, `/i3-plan`, `/i3-build`, `/i3-test`, `/i3-review`, `/i3-ship`) — those are Claude Code commands living in `.claude/commands/`. Use the full skill names, or add your own aliases — see [Lifecycle workflows](#lifecycle-workflows).
|
|
6
6
|
|
|
7
7
|
## Setup
|
|
8
8
|
|
|
@@ -11,11 +11,11 @@ This guide covers Copilot in VS Code. For the standalone `copilot` command-line
|
|
|
11
11
|
Copilot supports creating agent skills using a `.github/skills`, `.claude/skills`, or `.agents/skills` directory in your repository.
|
|
12
12
|
|
|
13
13
|
```bash
|
|
14
|
-
mkdir -p .github/skills/test-driven-development .github/skills/code-review-and-quality
|
|
14
|
+
mkdir -p .github/skills/i3-test-driven-development .github/skills/i3-code-review-and-quality
|
|
15
15
|
|
|
16
16
|
# Create files for essential skills
|
|
17
|
-
cat /path/to/i3-composer-agent/skills/test-driven-development/SKILL.md > .github/skills/test-driven-development/SKILL.md
|
|
18
|
-
cat /path/to/i3-composer-agent/skills/code-review-and-quality/SKILL.md > .github/skills/code-review-and-quality/SKILL.md
|
|
17
|
+
cat /path/to/i3-composer-agent/skills/i3-test-driven-development/SKILL.md > .github/skills/i3-test-driven-development/SKILL.md
|
|
18
|
+
cat /path/to/i3-composer-agent/skills/i3-code-review-and-quality/SKILL.md > .github/skills/i3-code-review-and-quality/SKILL.md
|
|
19
19
|
```
|
|
20
20
|
|
|
21
21
|
Whichever of these two routes you use, the result is one `SKILL.md` per skill directory under one of those three project paths. An installer run with a global/user flag writes somewhere else instead — check its output for the path it used. Run `/skills` in Copilot Chat to open the **Configure Skills** menu and confirm what got discovered.
|
|
@@ -91,26 +91,26 @@ Skills are user-invocable by default, so once they're discovered the whole lifec
|
|
|
91
91
|
|
|
92
92
|
| Workflow | Copilot invocation | Notes |
|
|
93
93
|
|----------|--------------------|-------|
|
|
94
|
-
| Define | `/spec-driven-development` | Writes a structured spec before code |
|
|
95
|
-
| Plan | `/planning-and-task-breakdown` | Produces `tasks/plan.md` and `tasks/todo.md` |
|
|
96
|
-
| Build | `/incremental-implementation` | Pair with `/test-driven-development`; one slice at a time |
|
|
97
|
-
| Verify | `/test-driven-development` | Red-green-refactor, Prove-It for bugs |
|
|
98
|
-
| Review | `/code-review-and-quality` | Five-axis review |
|
|
99
|
-
| Ship | `/shipping-and-launch` | Launch readiness |
|
|
94
|
+
| Define | `/i3-spec-driven-development` | Writes a structured spec before code |
|
|
95
|
+
| Plan | `/i3-planning-and-task-breakdown` | Produces `tasks/plan.md` and `tasks/todo.md` |
|
|
96
|
+
| Build | `/i3-incremental-implementation` | Pair with `/i3-test-driven-development`; one slice at a time |
|
|
97
|
+
| Verify | `/i3-test-driven-development` | Red-green-refactor, Prove-It for bugs |
|
|
98
|
+
| Review | `/i3-code-review-and-quality` | Five-axis review |
|
|
99
|
+
| Ship | `/i3-shipping-and-launch` | Launch readiness |
|
|
100
100
|
|
|
101
101
|
Type `/` to browse what's actually loaded in this workspace.
|
|
102
102
|
|
|
103
103
|
Natural language is the fallback, and works in any Copilot surface whether or not the slash commands show up:
|
|
104
104
|
|
|
105
|
-
> Use the spec-driven-development skill to write a spec for [the feature].
|
|
105
|
+
> Use the i3-spec-driven-development skill to write a spec for [the feature].
|
|
106
106
|
|
|
107
|
-
> Use the code-review-and-quality skill to review my staged changes.
|
|
107
|
+
> Use the i3-code-review-and-quality skill to review my staged changes.
|
|
108
108
|
|
|
109
|
-
### Optional: short `/spec`-style aliases
|
|
109
|
+
### Optional: short `/i3-spec`-style aliases
|
|
110
110
|
|
|
111
111
|
VS Code's extension-host local agents support [prompt files](https://code.visualstudio.com/docs/agent-customization/prompt-files) at `.github/prompts/<name>.prompt.md`, and each becomes a `/<name>` slash command. The Agent Host does **not** use prompt files — there, use the skill names above.
|
|
112
112
|
|
|
113
|
-
An alias is a thin shortcut to one skill, nothing more. These aliases do not implement the orchestration in this repo's Claude Code commands — `/build auto`'s single-approval plan-and-implement pass and `/ship`'s parallel persona fan-out. Reproducing that on Copilot is its own piece of work, not something a one-file alias covers. Prefer the skill names as your default; reach for aliases only if the short form is worth the extra file.
|
|
113
|
+
An alias is a thin shortcut to one skill, nothing more. These aliases do not implement the orchestration in this repo's Claude Code commands — `/i3-build auto`'s single-approval plan-and-implement pass and `/i3-ship`'s parallel persona fan-out. Reproducing that on Copilot is its own piece of work, not something a one-file alias covers. Prefer the skill names as your default; reach for aliases only if the short form is worth the extra file.
|
|
114
114
|
|
|
115
115
|
Create one, without clobbering an existing file:
|
|
116
116
|
|
|
@@ -121,7 +121,7 @@ mkdir -p .github/prompts
|
|
|
121
121
|
description: Write a structured spec before writing code
|
|
122
122
|
---
|
|
123
123
|
|
|
124
|
-
Use the spec-driven-development skill.
|
|
124
|
+
Use the i3-spec-driven-development skill.
|
|
125
125
|
|
|
126
126
|
Ask clarifying questions about the objective and target users, core features and
|
|
127
127
|
acceptance criteria, stack preferences and constraints, and known boundaries.
|
|
@@ -131,27 +131,27 @@ confirm with me before any code is written.
|
|
|
131
131
|
EOF
|
|
132
132
|
```
|
|
133
133
|
|
|
134
|
-
Reload the window, then type `/spec`.
|
|
134
|
+
Reload the window, then type `/i3-spec`.
|
|
135
135
|
|
|
136
|
-
For the rest, run the same `mkdir`/`cat` block with the filename swapped (the filename *is* the command name), and take the `description` and body from this table. **Replace the entire body below the `---` frontmatter**, not just the skill name — the spec body's SPEC.md and clarifying-question instructions belong to Define only, and leaving them in would make `/plan` or `/test` write a spec.
|
|
136
|
+
For the rest, run the same `mkdir`/`cat` block with the filename swapped (the filename *is* the command name), and take the `description` and body from this table. **Replace the entire body below the `---` frontmatter**, not just the skill name — the spec body's SPEC.md and clarifying-question instructions belong to Define only, and leaving them in would make `/i3-plan` or `/i3-test` write a spec.
|
|
137
137
|
|
|
138
138
|
| Alias file | `description` | Complete body — everything below the frontmatter |
|
|
139
139
|
|------------|---------------|--------------------------------------------------|
|
|
140
|
-
| `.github/prompts/plan.prompt.md` | Break an approved spec into ordered, verifiable tasks | Use the planning-and-task-breakdown skill. Read the spec, then break the work into small, independently verifiable tasks, each with acceptance criteria and explicit dependency order. Save the result to `tasks/plan.md` and `tasks/todo.md`. Write no product code — show me the plan and wait for my approval. |
|
|
141
|
-
| `.github/prompts/build.prompt.md` | Implement the next planned task, test-first | Use the incremental-implementation and test-driven-development skills. Read `tasks/plan.md` and `tasks/todo.md`, then take the next unchecked task and only that one. Write a failing test first, make it pass, refactor, run the suite, and tick the task off. Stop there and report what changed. |
|
|
142
|
-
| `.github/prompts/test.prompt.md` | Write tests before the code that satisfies them | Use the test-driven-development skill. For new behavior, write a failing test that captures it before any implementation. For a bug, reproduce it with a failing test first, then fix it. Run the suite after each step and show me the red and the green output. |
|
|
140
|
+
| `.github/prompts/plan.prompt.md` | Break an approved spec into ordered, verifiable tasks | Use the i3-planning-and-task-breakdown skill. Read the spec, then break the work into small, independently verifiable tasks, each with acceptance criteria and explicit dependency order. Save the result to `tasks/plan.md` and `tasks/todo.md`. Write no product code — show me the plan and wait for my approval. |
|
|
141
|
+
| `.github/prompts/build.prompt.md` | Implement the next planned task, test-first | Use the i3-incremental-implementation and i3-test-driven-development skills. Read `tasks/plan.md` and `tasks/todo.md`, then take the next unchecked task and only that one. Write a failing test first, make it pass, refactor, run the suite, and tick the task off. Stop there and report what changed. |
|
|
142
|
+
| `.github/prompts/test.prompt.md` | Write tests before the code that satisfies them | Use the i3-test-driven-development skill. For new behavior, write a failing test that captures it before any implementation. For a bug, reproduce it with a failing test first, then fix it. Run the suite after each step and show me the red and the green output. |
|
|
143
143
|
|
|
144
144
|
Write the body yourself, or take it from this table, rather than copying `.claude/commands/*.md` verbatim: those files reference skills as `i3-composer-agent:<name>`, a Claude Code plugin namespace that means nothing to Copilot.
|
|
145
145
|
|
|
146
146
|
### If the skill slash commands don't appear
|
|
147
147
|
|
|
148
|
-
Work through these in order — `/spec-driven-development` missing and `/spec` missing have different causes:
|
|
148
|
+
Work through these in order — `/i3-spec-driven-development` missing and `/i3-spec` missing have different causes:
|
|
149
149
|
|
|
150
150
|
1. **Check where the skills landed.** Each one needs its own directory containing a `SKILL.md`. The project-level paths this guide uses are `.github/skills/`, `.claude/skills/` and `.agents/skills/` — but an installer run with a global/user flag writes outside the workspace instead (`~/.agents/skills/` and equivalents), so a skill that isn't in any of the three may simply be installed personally. Confirm the actual path against the [VS Code agent skills docs](https://code.visualstudio.com/docs/agent-customization/agent-skills), then re-install into the project if you wanted it project-scoped.
|
|
151
151
|
2. **Check the frontmatter.** `name` must be present and valid — it *is* the slash command. A skill whose frontmatter opts out of user invocation won't appear.
|
|
152
152
|
3. **Check the Configure Skills menu.** Run `/skills` and confirm the skill is enabled here.
|
|
153
153
|
4. **Start a fresh session.** Newly added skills aren't always picked up mid-conversation.
|
|
154
|
-
5. **Check the host.** If `/spec-driven-development` works but your `/spec` alias doesn't, you're likely on the Agent Host, which doesn't read prompt files.
|
|
154
|
+
5. **Check the host.** If `/i3-spec-driven-development` works but your `/i3-spec` alias doesn't, you're likely on the Agent Host, which doesn't read prompt files.
|
|
155
155
|
6. **Check versions.** VS Code (**Help → About**) and the Copilot Chat extension; skills-as-slash-commands is recent, so update if either is behind.
|
|
156
156
|
|
|
157
157
|
## Usage Tips
|