@givolt/i3-composer-agent 0.0.0-stage → 0.6.12

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 (213) hide show
  1. package/.agents/plugins/marketplace.json +22 -0
  2. package/.claude/commands/build.md +44 -0
  3. package/.claude/commands/code-simplify.md +22 -0
  4. package/.claude/commands/constraints.md +32 -0
  5. package/.claude/commands/plan.md +18 -0
  6. package/.claude/commands/review.md +16 -0
  7. package/.claude/commands/ship.md +72 -0
  8. package/.claude/commands/spec.md +17 -0
  9. package/.claude/commands/test.md +19 -0
  10. package/.claude/commands/webperf.md +32 -0
  11. package/.claude-plugin/marketplace.json +26 -0
  12. package/.claude-plugin/plugin.json +17 -0
  13. package/.codex-plugin/plugin.json +26 -0
  14. package/.gemini/commands/build.toml +43 -0
  15. package/.gemini/commands/code-simplify.toml +22 -0
  16. package/.gemini/commands/constraints.toml +32 -0
  17. package/.gemini/commands/planning.toml +18 -0
  18. package/.gemini/commands/review.toml +16 -0
  19. package/.gemini/commands/ship.toml +72 -0
  20. package/.gemini/commands/spec.toml +17 -0
  21. package/.gemini/commands/test.toml +19 -0
  22. package/.gemini/commands/webperf.toml +32 -0
  23. package/LICENSE +21 -0
  24. package/NOTICE.md +9 -0
  25. package/README.md +177 -2
  26. package/agents/code-reviewer.md +102 -0
  27. package/agents/security-auditor.md +112 -0
  28. package/agents/test-engineer.md +95 -0
  29. package/agents/web-performance-auditor.md +184 -0
  30. package/bin/i3-composer-agent.cjs +119 -0
  31. package/commands/build.toml +43 -0
  32. package/commands/code-simplify.toml +22 -0
  33. package/commands/constraints.toml +32 -0
  34. package/commands/planning.toml +18 -0
  35. package/commands/review.toml +16 -0
  36. package/commands/ship.toml +72 -0
  37. package/commands/spec.toml +17 -0
  38. package/commands/test.toml +19 -0
  39. package/commands/webperf.toml +32 -0
  40. package/docs/adoption-guide.md +129 -0
  41. package/docs/advanced-per-agent-configuration.md +70 -0
  42. package/docs/agents.md +123 -0
  43. package/docs/antigravity-setup.md +128 -0
  44. package/docs/codebuddy-setup.md +41 -0
  45. package/docs/codex-setup.md +34 -0
  46. package/docs/commandcode-setup.md +69 -0
  47. package/docs/comparison.md +131 -0
  48. package/docs/copilot-cli-setup.md +64 -0
  49. package/docs/copilot-setup.md +162 -0
  50. package/docs/cursor-setup.md +225 -0
  51. package/docs/developer-onboarding.md +116 -0
  52. package/docs/gemini-cli-setup.md +133 -0
  53. package/docs/getting-started.md +208 -0
  54. package/docs/opencode-setup.md +259 -0
  55. package/docs/other-hosts.md +7 -0
  56. package/docs/skill-anatomy.md +203 -0
  57. package/docs/windsurf-setup.md +48 -0
  58. package/evals/README.md +101 -0
  59. package/evals/cases/api-and-interface-design.json +45 -0
  60. package/evals/cases/browser-testing-with-devtools.json +44 -0
  61. package/evals/cases/ci-cd-and-automation.json +45 -0
  62. package/evals/cases/code-review-and-quality.json +49 -0
  63. package/evals/cases/code-simplification.json +45 -0
  64. package/evals/cases/constraint-driven-development.json +79 -0
  65. package/evals/cases/context-engineering.json +44 -0
  66. package/evals/cases/debugging-and-error-recovery.json +58 -0
  67. package/evals/cases/deprecation-and-migration.json +52 -0
  68. package/evals/cases/documentation-and-adrs.json +44 -0
  69. package/evals/cases/doubt-driven-development.json +43 -0
  70. package/evals/cases/frontend-ui-engineering.json +52 -0
  71. package/evals/cases/git-workflow-and-versioning.json +47 -0
  72. package/evals/cases/idea-refine.json +43 -0
  73. package/evals/cases/incremental-implementation.json +57 -0
  74. package/evals/cases/interview-me.json +42 -0
  75. package/evals/cases/observability-and-instrumentation.json +44 -0
  76. package/evals/cases/performance-optimization.json +53 -0
  77. package/evals/cases/planning-and-task-breakdown.json +45 -0
  78. package/evals/cases/security-and-hardening.json +53 -0
  79. package/evals/cases/shipping-and-launch.json +56 -0
  80. package/evals/cases/source-driven-development.json +44 -0
  81. package/evals/cases/spec-driven-development.json +72 -0
  82. package/evals/cases/test-driven-development.json +73 -0
  83. package/evals/cases/using-agent-skills.json +44 -0
  84. package/evals/fixtures/api-and-interface-design/service-brief.md +19 -0
  85. package/evals/fixtures/browser-testing-with-devtools/README.md +5 -0
  86. package/evals/fixtures/browser-testing-with-devtools/index.html +24 -0
  87. package/evals/fixtures/browser-testing-with-devtools/server.js +15 -0
  88. package/evals/fixtures/ci-cd-and-automation/package.json +8 -0
  89. package/evals/fixtures/ci-cd-and-automation/src/slug.js +3 -0
  90. package/evals/fixtures/ci-cd-and-automation/test/slug.test.js +9 -0
  91. package/evals/fixtures/code-review-and-quality/user-search.diff +16 -0
  92. package/evals/fixtures/code-simplification/config-parser.js +46 -0
  93. package/evals/fixtures/code-simplification/config-parser.test.js +15 -0
  94. package/evals/fixtures/context-engineering/context-audit.md +15 -0
  95. package/evals/fixtures/debugging-and-error-recovery/pagination.js +8 -0
  96. package/evals/fixtures/debugging-and-error-recovery/pagination.test.js +9 -0
  97. package/evals/fixtures/debugging-and-error-recovery/time-pressure.md +6 -0
  98. package/evals/fixtures/deprecation-and-migration/api-inventory.md +9 -0
  99. package/evals/fixtures/documentation-and-adrs/decision-context.md +16 -0
  100. package/evals/fixtures/doubt-driven-development/migration-plan.md +19 -0
  101. package/evals/fixtures/frontend-ui-engineering/Button.tsx +7 -0
  102. package/evals/fixtures/frontend-ui-engineering/design-system.md +11 -0
  103. package/evals/fixtures/git-workflow-and-versioning/.eval/working-tree.patch +21 -0
  104. package/evals/fixtures/git-workflow-and-versioning/app.js +7 -0
  105. package/evals/fixtures/git-workflow-and-versioning/app.test.js +9 -0
  106. package/evals/fixtures/incremental-implementation/reports.js +7 -0
  107. package/evals/fixtures/incremental-implementation/reports.test.js +12 -0
  108. package/evals/fixtures/incremental-implementation/tasks/plan.md +8 -0
  109. package/evals/fixtures/incremental-implementation-pressure/draft-export.js +17 -0
  110. package/evals/fixtures/incremental-implementation-pressure/scenario.md +9 -0
  111. package/evals/fixtures/observability-and-instrumentation/operations.md +11 -0
  112. package/evals/fixtures/observability-and-instrumentation/payment-retry.js +14 -0
  113. package/evals/fixtures/performance-optimization/benchmark.js +15 -0
  114. package/evals/fixtures/performance-optimization/products.js +14 -0
  115. package/evals/fixtures/planning-and-task-breakdown/notifications-spec.md +18 -0
  116. package/evals/fixtures/security-and-hardening/webhook.js +11 -0
  117. package/evals/fixtures/security-and-hardening/webhook.test.js +13 -0
  118. package/evals/fixtures/shipping-and-launch/authority-pressure.md +6 -0
  119. package/evals/fixtures/shipping-and-launch/launch-status.md +11 -0
  120. package/evals/fixtures/source-driven-development/framework-task.md +10 -0
  121. package/evals/fixtures/spec-driven-development/billing-brief.md +16 -0
  122. package/evals/fixtures/spec-driven-development-decomposition/portal-brief.md +22 -0
  123. package/evals/fixtures/test-driven-development/BUG.md +10 -0
  124. package/evals/fixtures/test-driven-development/README.md +28 -0
  125. package/evals/fixtures/test-driven-development/package.json +9 -0
  126. package/evals/fixtures/test-driven-development/src/split.js +8 -0
  127. package/evals/fixtures/test-driven-development/test/split.test.js +13 -0
  128. package/evals/fixtures/test-driven-development-ecosystem/README.md +9 -0
  129. package/evals/fixtures/test-driven-development-ecosystem/ledger.py +15 -0
  130. package/evals/fixtures/test-driven-development-ecosystem/test_ledger.py +19 -0
  131. package/evals/fixtures/using-agent-skills/incident.md +6 -0
  132. package/evals/plugin/code-review-fires/graders/off-by-one.md +7 -0
  133. package/evals/plugin/code-review-fires/graders/severity-labels.md +4 -0
  134. package/evals/plugin/code-review-fires/graders/skill-fired.md +5 -0
  135. package/evals/plugin/code-review-fires/prompt.md +31 -0
  136. package/evals/plugin/code-review-stays-quiet/graders/not-fired.md +8 -0
  137. package/evals/plugin/code-review-stays-quiet/graders/tdd-fired.md +6 -0
  138. package/evals/plugin/code-review-stays-quiet/prompt.md +8 -0
  139. package/evals/plugin/code-review-stays-quiet-on-commit-message/graders/not-fired.md +8 -0
  140. package/evals/plugin/code-review-stays-quiet-on-commit-message/prompt.md +25 -0
  141. package/evals/skill-impact.md +6 -0
  142. package/hooks/SDD-CACHE.md +167 -0
  143. package/hooks/SIMPLIFY-IGNORE.md +91 -0
  144. package/hooks/sdd-cache-post.sh +135 -0
  145. package/hooks/sdd-cache-pre.sh +106 -0
  146. package/hooks/sdd-cache-test.sh +246 -0
  147. package/hooks/session-start-test.sh +47 -0
  148. package/hooks/session-start.sh +33 -0
  149. package/hooks/simplify-ignore-test.sh +476 -0
  150. package/hooks/simplify-ignore.sh +352 -0
  151. package/package.json +31 -4
  152. package/plugin.json +5 -0
  153. package/rebrand/MAINTENANCE.md +51 -0
  154. package/rebrand/apply.cjs +121 -0
  155. package/rebrand/brand.json +9 -0
  156. package/rebrand/templates/README.md +178 -0
  157. package/rebrand/templates/codebuddy-setup.md +41 -0
  158. package/rebrand/templates/codex-setup.md +34 -0
  159. package/references/accessibility-checklist.md +160 -0
  160. package/references/definition-of-done.md +67 -0
  161. package/references/observability-checklist.md +92 -0
  162. package/references/orchestration-patterns.md +370 -0
  163. package/references/performance-checklist.md +236 -0
  164. package/references/security-checklist.md +248 -0
  165. package/references/testing-patterns.md +235 -0
  166. package/scripts/floor-guard-reference-test.js +291 -0
  167. package/scripts/lib/skill-lint-test.js +650 -0
  168. package/scripts/lib/skill-lint.js +584 -0
  169. package/scripts/run-evals-test.js +623 -0
  170. package/scripts/run-evals.js +638 -0
  171. package/scripts/validate-artifact-paths-test.js +179 -0
  172. package/scripts/validate-artifact-paths.js +128 -0
  173. package/scripts/validate-brand.cjs +36 -0
  174. package/scripts/validate-commands-test.js +216 -0
  175. package/scripts/validate-commands.js +222 -0
  176. package/scripts/validate-reference-links-test.js +495 -0
  177. package/scripts/validate-reference-links.js +187 -0
  178. package/scripts/validate-skills.js +69 -0
  179. package/scripts/validate-versions-test.js +32 -0
  180. package/scripts/validate-versions.js +35 -0
  181. package/skills/api-and-interface-design/SKILL.md +367 -0
  182. package/skills/browser-testing-with-devtools/SKILL.md +317 -0
  183. package/skills/ci-cd-and-automation/SKILL.md +390 -0
  184. package/skills/code-review-and-quality/SKILL.md +398 -0
  185. package/skills/code-simplification/SKILL.md +331 -0
  186. package/skills/constraint-driven-development/SKILL.md +311 -0
  187. package/skills/constraint-driven-development/references/floor-guard.md +182 -0
  188. package/skills/context-engineering/SKILL.md +353 -0
  189. package/skills/debugging-and-error-recovery/SKILL.md +300 -0
  190. package/skills/deprecation-and-migration/SKILL.md +247 -0
  191. package/skills/documentation-and-adrs/SKILL.md +288 -0
  192. package/skills/doubt-driven-development/SKILL.md +243 -0
  193. package/skills/frontend-ui-engineering/SKILL.md +340 -0
  194. package/skills/git-workflow-and-versioning/SKILL.md +355 -0
  195. package/skills/idea-refine/SKILL.md +178 -0
  196. package/skills/idea-refine/examples.md +238 -0
  197. package/skills/idea-refine/frameworks.md +99 -0
  198. package/skills/idea-refine/refinement-criteria.md +113 -0
  199. package/skills/idea-refine/scripts/idea-refine.sh +15 -0
  200. package/skills/incremental-implementation/SKILL.md +249 -0
  201. package/skills/interview-me/SKILL.md +235 -0
  202. package/skills/observability-and-instrumentation/SKILL.md +238 -0
  203. package/skills/performance-optimization/SKILL.md +267 -0
  204. package/skills/performance-optimization/references/optimization-patterns.md +250 -0
  205. package/skills/planning-and-task-breakdown/SKILL.md +257 -0
  206. package/skills/security-and-hardening/SKILL.md +216 -0
  207. package/skills/security-and-hardening/references/hardening-patterns.md +324 -0
  208. package/skills/shipping-and-launch/SKILL.md +330 -0
  209. package/skills/source-driven-development/SKILL.md +216 -0
  210. package/skills/spec-driven-development/SKILL.md +259 -0
  211. package/skills/test-driven-development/SKILL.md +398 -0
  212. package/skills/using-agent-skills/SKILL.md +192 -0
  213. package/tests/bundle.test.cjs +79 -0
@@ -0,0 +1,116 @@
1
+ # Developer Onboarding
2
+
3
+ This guide is for people working **on** the i3-composer-agent repository itself: contributing skills, fixing docs, improving the eval harness. If you want to *use* the skills in your own projects, you're looking for [getting-started.md](getting-started.md) instead.
4
+
5
+ It's a guided tour, not a rulebook. The rules live in [CONTRIBUTING.md](../CONTRIBUTING.md) (contribution workflow), [skill-anatomy.md](skill-anatomy.md) (skill format), and [evals/README.md](../evals/README.md) (eval framework); this document tells you when to read each one and how the pieces fit.
6
+
7
+ ---
8
+
9
+ ## 1. The mental model
10
+
11
+ The repo has five composable layers. Understanding what each one is *for* prevents the most common contribution mistakes (putting reference material in a skill, building a persona that routes to other personas, duplicating content across skills).
12
+
13
+ | Layer | Location | Job | In one word |
14
+ |---|---|---|---|
15
+ | **Skills** | `skills/<name>/SKILL.md` | Step-by-step workflows with verification gates | *How* |
16
+ | **Personas** | `agents/<role>.md` | Roles with a perspective and output format | *Who* |
17
+ | **Commands** | `.claude/commands/`, `.gemini/commands/`, `commands/` | User-facing entry points; the orchestration layer | *When* |
18
+ | **References** | `references/*.md` | Checklists skills pull in on demand | *What to check* |
19
+ | **Evals** | `evals/cases/<name>.json` | Proof that skills trigger and behave correctly | *Does it work* |
20
+
21
+ Two structural rules worth internalizing early:
22
+
23
+ - **The user (or a slash command) is the orchestrator.** Personas never invoke other personas; the only endorsed multi-persona pattern is parallel fan-out with a merge step (see [references/orchestration-patterns.md](../references/orchestration-patterns.md)).
24
+ - **Don't duplicate, reference.** Skills link to other skills and to `references/` instead of restating content. The same rule applies to docs, including this one.
25
+
26
+ One scope caveat that trips people up: `AGENTS.md` and `CLAUDE.md` at the repo root configure agents working on *this repo*. They are not reusable assets and setup guides must never tell users to copy them into their own projects; the reusable assets are the skills.
27
+
28
+ Note that commands exist in three parallel directories (Claude Code, Gemini CLI, Antigravity). Touch one and CI checks parity across all of them, see §3.
29
+
30
+ ## 2. Local setup
31
+
32
+ ```bash
33
+ npx @givolt/i3-composer-agent --extract --dir ./i3-composer-agent
34
+ cd i3-composer-agent
35
+ ```
36
+
37
+ There's no build step and no `package.json`; validators are plain Node scripts. You need:
38
+
39
+ - **Node 20+** (what CI runs) for the `scripts/` validators
40
+ - **bash** (+ `jq` recommended) for the hook regression test
41
+ - **`gh` CLI** for the duplicate-PR check before proposing a skill
42
+ - **Claude Code** only if you want to run Tier 3 behavioral evals locally
43
+
44
+ To try the pack live against a local checkout:
45
+
46
+ ```bash
47
+ claude --plugin-dir /path/to/i3-composer-agent
48
+ ```
49
+
50
+ ## 3. The verification loop
51
+
52
+ The repo eats its own cooking: verification is non-negotiable for skills, and it's non-negotiable for contributions to the repo too. Everything CI runs, you can run locally in seconds:
53
+
54
+ ```bash
55
+ # Tier 1, structural: frontmatter, naming, required sections
56
+ node scripts/validate-skills.js
57
+
58
+ # Command parity and description sync across the three command directories
59
+ node scripts/validate-commands.js
60
+
61
+ # Tier 2, trigger & routing: positive prompts rank top-k, negatives don't collide
62
+ node scripts/run-evals.js
63
+
64
+ # Tier 3, behavioral (on demand, spends tokens; --dry-run prints the plan)
65
+ node scripts/run-evals.js --behavioral <skill-name> --dry-run
66
+
67
+ # Hook regression test, required if you touch hooks/session-start.sh
68
+ # or skills/using-agent-skills/SKILL.md
69
+ bash hooks/session-start-test.sh
70
+ ```
71
+
72
+ The three eval tiers are worth understanding even if you never touch the harness, because a red Tier 2 usually means *fix your skill's description*, not the eval: Tier 2 is a lexical approximation of routing (stemmed TF-IDF over descriptions), and its two target failure modes are a description missing the vocabulary users actually say, and an over-broad description that outranks the right skill. The full design, schema, and trust-level rules are in [evals/README.md](../evals/README.md).
73
+
74
+ Run the relevant subset before every PR. A PR that arrives green through Tier 1 + Tier 2 + command parity is reviewable; one that doesn't will bounce on mechanics before anyone reads the content.
75
+
76
+ ## 4. Contribution paths
77
+
78
+ ### Path 1: Fixing or improving an existing skill (most common, best first PR)
79
+
80
+ 1. Keep changes focused and minimal; preserve the skill's structure and tone.
81
+ 2. If you changed the frontmatter `description`, expect Tier 2 effects; run `node scripts/run-evals.js` and check the skill's trigger prompts still rank.
82
+ 3. Run Tier 1 to confirm frontmatter is still valid.
83
+
84
+ ### Path 2: Proposing a new skill (higher bar, do the pre-flight)
85
+
86
+ The catalog already covers most of the lifecycle, so the burden of proof is on the gap. Before writing anything, run the pre-flight checks in [CONTRIBUTING.md](../CONTRIBUTING.md#before-proposing-a-new-skill): search the catalog, check open PRs (`gh pr list --state open`; near-duplicate clusters already exist), confirm the idea fits [skill-anatomy.md](skill-anatomy.md), and justify the gap explicitly in your PR description. If it overlaps an existing skill, a focused edit to that skill beats a new directory.
87
+
88
+ A new skill ships as a set, not a single file: the `skills/<kebab-case-name>/SKILL.md`, a matching `evals/cases/<name>.json`, and a `scripts/` directory only when it ships runnable helpers (reference material goes in `references/`, never inside the skill). The exact frontmatter rules, the section anatomy, and the eval-case minimums live in [CONTRIBUTING.md](../CONTRIBUTING.md#structure) and [skill-anatomy.md](skill-anatomy.md); take them from there rather than this tour, so the two can't drift.
89
+
90
+ One point worth internalizing rather than looking up: when writing trigger prompts, paraphrase how users actually talk; copying the description into the prompts games the eval and tells you nothing.
91
+
92
+ ### Path 3: Docs, references, harness
93
+
94
+ - Docs and skills are **English only**; translations aren't accepted because they drift ([CONTRIBUTING.md](../CONTRIBUTING.md#translations) has the rationale).
95
+ - Changes to `scripts/run-evals.js` or the eval schema should stay compatible with skill-creator's `evals.json` schema (adopted verbatim for the behavioral tier; that compatibility is a feature, not an accident).
96
+ - Anything touching the session-start hook or the meta-skill it embeds requires the hook regression test (§3).
97
+
98
+ ## 5. Pre-PR checklist
99
+
100
+ - [ ] Tier 1 green: `node scripts/validate-skills.js`
101
+ - [ ] Tier 2 green: `node scripts/run-evals.js`
102
+ - [ ] Command parity green if you touched any command directory: `node scripts/validate-commands.js`
103
+ - [ ] Hook test green if you touched `hooks/` or `using-agent-skills`
104
+ - [ ] New skill → eval case file present with the minimum trigger/behavioral counts
105
+ - [ ] New skill → gap justified in the PR description; catalog and open PRs checked
106
+ - [ ] No duplicated content; cross-references used instead
107
+ - [ ] Change is small and focused (the repo's own `code-review-and-quality` change-sizing guidance applies to contributions here too)
108
+
109
+ ## 6. Suggested reading order
110
+
111
+ 1. [README.md](../README.md): the catalog and the lifecycle diagram (10 min)
112
+ 2. `skills/using-agent-skills/SKILL.md`: how routing works from the agent's side
113
+ 3. One well-established skill end to end (e.g. `test-driven-development`): internalize the anatomy by example
114
+ 4. [skill-anatomy.md](skill-anatomy.md): the format spec, now with context
115
+ 5. [evals/README.md](../evals/README.md): the three tiers and the case format
116
+ 6. [CONTRIBUTING.md](../CONTRIBUTING.md) + [AGENTS.md](../AGENTS.md): the rules and the repo-scoped agent config
@@ -0,0 +1,133 @@
1
+ # Using i3-composer-agent with Gemini CLI
2
+
3
+ ## Setup
4
+
5
+ ### Option 1: Install as Skills (Recommended)
6
+
7
+ Gemini CLI has a native skills system that auto-discovers `SKILL.md` files in `.gemini/skills/` or `.agents/skills/` directories. Each skill activates on demand when it matches your task.
8
+
9
+ **Install from the repo:**
10
+
11
+ ```bash
12
+ gemini skills install /path/to/i3-composer-agent --path skills
13
+ ```
14
+
15
+ **Or install from a local clone:**
16
+
17
+ ```bash
18
+ npx @givolt/i3-composer-agent --extract --dir ./i3-composer-agent
19
+ gemini skills install /path/to/i3-composer-agent/skills/
20
+ ```
21
+
22
+ **Install for a specific workspace only:**
23
+
24
+ ```bash
25
+ gemini skills install /path/to/i3-composer-agent/skills/ --scope workspace
26
+ ```
27
+
28
+ Skills installed at workspace scope go into `.gemini/skills/` (or `.agents/skills/`). User-level skills go into `~/.gemini/skills/`.
29
+
30
+ Once installed, verify with:
31
+
32
+ ```
33
+ /skills list
34
+ ```
35
+
36
+ Gemini CLI injects skill names and descriptions into the prompt automatically. When it recognizes a matching task, it asks permission to activate the skill before loading its full instructions.
37
+
38
+ ### Option 2: GEMINI.md (Persistent Context)
39
+
40
+ For skills you want always loaded as persistent project context (rather than on-demand activation), add them to your project's `GEMINI.md`:
41
+
42
+ ```bash
43
+ # Create GEMINI.md with core skills as persistent context
44
+ cat /path/to/i3-composer-agent/skills/incremental-implementation/SKILL.md > GEMINI.md
45
+ echo -e "\n---\n" >> GEMINI.md
46
+ cat /path/to/i3-composer-agent/skills/code-review-and-quality/SKILL.md >> GEMINI.md
47
+ ```
48
+
49
+ You can also modularize by importing from separate files:
50
+
51
+ ```markdown
52
+ # Project Instructions
53
+
54
+ @skills/test-driven-development/SKILL.md
55
+ @skills/incremental-implementation/SKILL.md
56
+ ```
57
+
58
+ Use `/memory show` to verify loaded context, and `/memory reload` to refresh after changes.
59
+
60
+ > **Skills vs GEMINI.md:** Skills are on-demand expertise that activate only when relevant, keeping your context window clean. GEMINI.md provides persistent context loaded for every prompt. Use skills for phase-specific workflows and GEMINI.md for always-on project conventions.
61
+
62
+ ## Recommended Configuration
63
+
64
+ ### Always-On (GEMINI.md)
65
+
66
+ Add these as persistent context for every session:
67
+
68
+ - `incremental-implementation` — Build in small verifiable slices
69
+ - `code-review-and-quality` — Five-axis review
70
+
71
+ ### On-Demand (Skills)
72
+
73
+ Install these as skills so they activate only when relevant:
74
+
75
+ - `test-driven-development` — Activates when implementing logic or fixing bugs
76
+ - `spec-driven-development` — Activates when starting a new project or feature
77
+ - `frontend-ui-engineering` — Activates when building UI
78
+ - `security-and-hardening` — Activates during security reviews
79
+ - `performance-optimization` — Activates during performance work
80
+
81
+ ## Advanced Configuration
82
+
83
+ ### MCP Integration
84
+
85
+ Many skills in this pack leverage [Model Context Protocol (MCP)](https://modelcontextprotocol.io/) tools to interact with the environment. For example:
86
+
87
+ - `browser-testing-with-devtools` uses the `chrome-devtools` MCP extension.
88
+ - `performance-optimization` can benefit from performance-related MCP tools.
89
+
90
+ To enable these, ensure you have the relevant MCP extensions installed in your Gemini CLI configuration (`~/.gemini/config.json`).
91
+
92
+ ### Session Hooks
93
+
94
+ Gemini CLI supports session lifecycle hooks. You can use these to automatically inject context or run validation scripts at the start of a session.
95
+
96
+ To replicate the `i3-composer-agent` experience from other tools, you can configure a `SessionStart` hook that reminds you of the available skills or loads a meta-skill. `hooks/session-start.sh` in this repo is a ready-made script for that: it prints the `using-agent-skills` meta-skill as a standard `SessionStart` JSON envelope on stdout.
97
+
98
+ ### Explicit Context Loading
99
+
100
+ You can explicitly load any skill into your current session by referencing it with the `@` symbol in your prompt:
101
+
102
+ ```markdown
103
+ Use the @skills/test-driven-development/SKILL.md skill to implement this fix.
104
+ ```
105
+
106
+ This is useful when you want to ensure a specific workflow is followed without waiting for auto-discovery.
107
+
108
+ ## Slash Commands
109
+
110
+ The repo ships 9 slash commands under `.gemini/commands/`: 8 lifecycle commands plus the `/webperf` specialist audit. Gemini CLI auto-discovers them when you run from the project root.
111
+
112
+ | Command | What it does |
113
+ |---------|--------------|
114
+ | `/spec` | Write a structured spec before writing code |
115
+ | `/constraints` | Define and enforce the project's quality bar |
116
+ | `/planning` | Break work into small, verifiable tasks |
117
+ | `/build` | Implement the next task incrementally |
118
+ | `/test` | Run TDD workflow — red, green, refactor |
119
+ | `/review` | Five-axis code review |
120
+ | `/code-simplify` | Reduce complexity without changing behavior |
121
+ | `/ship` | Pre-launch checklist via parallel persona fan-out |
122
+ | `/webperf` | Audit browser-facing apps for Core Web Vitals and performance issues |
123
+
124
+ Each command invokes the corresponding skill automatically — no manual skill loading required.
125
+
126
+ > **Note:** Use `/planning` instead of `/plan` — `/plan` conflicts with a Gemini CLI internal command name.
127
+
128
+ ## Usage Tips
129
+
130
+ 1. **Prefer skills over GEMINI.md** — Skills activate on demand and keep your context window focused. Only put skills in GEMINI.md if you want them always loaded.
131
+ 2. **Skill descriptions matter** — Each SKILL.md has a `description` field in its frontmatter that tells agents when to activate it. The descriptions in this repo are optimized for auto-discovery across all supported tools (Claude Code, Gemini CLI, etc.) by clearly stating both *what* the skill does and *when* it should be triggered.
132
+ 3. **Use agents for review** — Copy `agents/code-reviewer.md` content when requesting structured code reviews.
133
+ 4. **Combine with references** — Reference checklists from `references/` when working on specific quality areas like testing or performance.
@@ -0,0 +1,208 @@
1
+ # Getting Started with i3-composer-agent
2
+
3
+ i3-composer-agent works with any AI coding agent that accepts Markdown instructions. This guide covers the universal approach. For tool-specific setup, see the dedicated guides.
4
+
5
+ Want a worked example before setting up your own project? The
6
+ [interactive tutorials](https://skills.addy.ie/tutorials/) walk through a
7
+ greenfield build, a brownfield feature, and a safe automation loop with
8
+ copyable prompts for Claude Code, Codex, or any other agent.
9
+
10
+ ## How Skills Work
11
+
12
+ Each skill is a Markdown file (`SKILL.md`) that describes a specific engineering workflow. When loaded into an agent's context, the agent follows the workflow — including verification steps, anti-patterns to avoid, and exit criteria.
13
+
14
+ **Skills are not reference docs.** They're step-by-step processes the agent follows.
15
+
16
+ ## Quick Start (Any Agent)
17
+
18
+ ### 1. Prepare the plugin bundle
19
+
20
+ ```bash
21
+ npx @givolt/i3-composer-agent --extract --dir ./i3-composer-agent
22
+ ```
23
+
24
+ ### 2. Choose a skill
25
+
26
+ Browse the `skills/` directory. Each subdirectory contains a `SKILL.md` with:
27
+ - **When to use** — triggers that indicate this skill applies
28
+ - **Process** — step-by-step workflow
29
+ - **Verification** — how to confirm the work is done
30
+ - **Common rationalizations** — excuses the agent might use to skip steps
31
+ - **Red flags** — signs the skill is being violated
32
+
33
+ ### 3. Load the skill into your agent
34
+
35
+ Copy the relevant `SKILL.md` content into your agent's system prompt, rules file, or conversation. The most common approaches:
36
+
37
+ **System prompt:** Paste the skill content at the start of the session.
38
+
39
+ **Rules file:** Add skill content to your project's rules file (CLAUDE.md, .cursorrules, etc.).
40
+
41
+ **Conversation:** Reference the skill when giving instructions: "Follow the test-driven-development process for this change."
42
+
43
+ ### 4. Use the meta-skill for discovery when needed
44
+
45
+ If your agent does not route skills natively, start with the `using-agent-skills` skill loaded. It contains a flowchart that maps task types to the appropriate skill.
46
+
47
+ If your host already discovers and activates skills from their descriptions, do not also paste `using-agent-skills` into an always-on system prompt or rules file. That creates two routers for the same task. Install the individual skills and let the host activate them on demand instead.
48
+
49
+ ### Existing projects need no migration
50
+
51
+ Install the pack from the existing project's root using the normal setup path
52
+ for your agent, then keep working in that project. Skills activate for matching
53
+ tasks; they do not require a new repository layout or a one-time conversion of
54
+ existing code.
55
+
56
+ Do not copy this repository's root `AGENTS.md` or `CLAUDE.md` into the project.
57
+ Those files configure contributors to i3-composer-agent itself. Add only the skills
58
+ and any project-specific instructions your agent normally reads. For a gradual
59
+ rollout in an established codebase, follow the [Adoption Guide](adoption-guide.md).
60
+
61
+ ## Recommended Setup
62
+
63
+ Rolling out to a real project? The **[Adoption Guide](adoption-guide.md)** covers two end-to-end paths: the full lifecycle from day one for a greenfield project, and an incremental, verification-first rollout for an established codebase. The setup below is the quick version.
64
+
65
+ ### Minimal (Start here)
66
+
67
+ Load three essential skills into your rules file:
68
+
69
+ 1. **spec-driven-development** — For defining what to build
70
+ 2. **test-driven-development** — For proving it works
71
+ 3. **code-review-and-quality** — For verifying quality before merge
72
+
73
+ These three cover the most critical quality gaps in AI-assisted development.
74
+
75
+ ### Full Lifecycle
76
+
77
+ For comprehensive coverage, load skills by phase:
78
+
79
+ ```
80
+ Starting a project: spec-driven-development → planning-and-task-breakdown
81
+ During development: incremental-implementation + test-driven-development
82
+ Before merge: code-review-and-quality + security-and-hardening
83
+ Before deploy: shipping-and-launch
84
+ ```
85
+
86
+ ### Context-Aware Loading
87
+
88
+ Don't load all skills at once — it wastes context. Load skills relevant to the current task:
89
+
90
+ - Working on UI? Load `frontend-ui-engineering`
91
+ - Debugging? Load `debugging-and-error-recovery`
92
+ - Setting up CI? Load `ci-cd-and-automation`
93
+
94
+ ## Skill Anatomy
95
+
96
+ Every skill follows the same structure:
97
+
98
+ ```
99
+ YAML frontmatter (name, description)
100
+ ├── Overview — What this skill does
101
+ ├── When to Use — Triggers and conditions
102
+ ├── Core Process — Step-by-step workflow
103
+ ├── Examples — Code samples and patterns
104
+ ├── Common Rationalizations — Excuses and rebuttals
105
+ ├── Red Flags — Signs the skill is being violated
106
+ └── Verification — Exit criteria checklist
107
+ ```
108
+
109
+ See [skill-anatomy.md](skill-anatomy.md) for the full specification.
110
+
111
+ ## Using Agents
112
+
113
+ The `agents/` directory contains pre-configured agent personas:
114
+
115
+ | Agent | Purpose |
116
+ |-------|---------|
117
+ | `code-reviewer.md` | Five-axis code review |
118
+ | `test-engineer.md` | Test strategy and writing |
119
+ | `security-auditor.md` | Vulnerability detection |
120
+ | `web-performance-auditor.md` | Core Web Vitals & performance audit (via `/webperf`) |
121
+
122
+ Load an agent definition when you need specialized review. For example, ask your coding agent to "review this change using the code-reviewer agent persona" and provide the agent definition.
123
+
124
+ ## Using Commands
125
+
126
+ The `.claude/commands/` directory contains slash commands for Claude Code:
127
+
128
+ | Command | Skill Invoked |
129
+ |---------|---------------|
130
+ | `/spec` | spec-driven-development |
131
+ | `/constraints` | constraint-driven-development |
132
+ | `/plan` | planning-and-task-breakdown |
133
+ | `/build` | incremental-implementation + test-driven-development |
134
+ | `/build auto` | planning-and-task-breakdown → incremental-implementation + test-driven-development (whole plan, one approval) |
135
+ | `/test` | test-driven-development |
136
+ | `/review` | code-review-and-quality |
137
+ | `/code-simplify` | code-simplification |
138
+ | `/ship` | shipping-and-launch |
139
+ | `/webperf` | web-performance-auditor (specialist agent, web apps only) |
140
+
141
+ > **Note:** When installed as a Claude Code plugin you may see a warning like
142
+ > _"Default commands/ folder is ignored because the manifest sets 'commands'"_.
143
+ > This is expected. The root `commands/` directory belongs to the Antigravity CLI
144
+ > and is intentionally separate from `.claude/commands/`. All Claude Code slash
145
+ > commands load correctly from `.claude/commands/`; the warning is cosmetic.
146
+
147
+ ## Using References
148
+
149
+ The `references/` directory contains supplementary checklists:
150
+
151
+ | Reference | Use With |
152
+ |-----------|----------|
153
+ | `testing-patterns.md` | test-driven-development |
154
+ | `performance-checklist.md` | performance-optimization |
155
+ | `security-checklist.md` | security-and-hardening |
156
+ | `accessibility-checklist.md` | frontend-ui-engineering |
157
+ | `definition-of-done.md` | all skills / every change |
158
+ | `observability-checklist.md` | observability-and-instrumentation |
159
+ | `orchestration-patterns.md` | doubt-driven-development |
160
+
161
+ Load a reference when you need detailed patterns beyond what the skill covers.
162
+
163
+ If you install one skill with `npx skills add ... --skill <name>`, only the
164
+ selected `skills/<name>/` directory is copied. The skill still works, but paths
165
+ to supplementary checklists in the repo-level `references/` directory are
166
+ unavailable. Use a whole-repo integration, clone the repository, or copy the
167
+ needed checklist into a `references/` directory inside the installed skill.
168
+ This portability gap is tracked in
169
+ [upstream agent-skills #361](https://github.com/addyosmani/agent-skills/issues/361).
170
+
171
+ ## Spec and task artifacts
172
+
173
+ The `/spec` and `/plan` commands create working artifacts (`SPEC.md`, `tasks/plan.md`, `tasks/todo.md`). Treat them as **living documents** while the work is in progress:
174
+
175
+ - Keep them in version control during development so the human and the agent have a shared source of truth.
176
+ - Update them when scope or decisions change.
177
+ - If your repo doesn’t want these files long‑term, delete them before merge or add the folder to `.gitignore` — the workflow doesn’t require them to be permanent.
178
+
179
+ ### Working across sessions
180
+
181
+ The same artifacts are the handoff between sessions. For a small task, run the whole lifecycle in one session. For anything non-trivial, a fresh session per phase (spec → plan → build → review) keeps context focused — what carries the work forward is the approved files, not the conversation:
182
+
183
+ - the spec — `SPEC.md`, or wherever your spec actually lives
184
+ - `tasks/plan.md` and `tasks/todo.md` — or the external tracker the plan identifies, if you use one
185
+
186
+ **Before switching**, make sure those files reflect the decisions that still apply, the scope you approved, the questions still open, the next task, and the current verification state (which tests ran, against what).
187
+
188
+ **In the new session**, read the actual files and look at `git status` before doing anything. Don't assume approvals you can't see in the artifacts. Treat a recorded "tests pass" as a claim about a specific baseline: re-run the checks it covers if the code has moved since, if it doesn't say what was run against what, or if you're about to touch the area it covered. If the baseline still holds, take it and get on with the next task — the point is a check proportional to what changed, not a full suite at every handoff.
189
+
190
+ #### Task-boundary restarts and Ralph loops
191
+
192
+ `/build auto` can run the whole approved plan in one session. It does not require or perform a fresh process per task. Its per-task status updates, verification results, and commits make each completed task a restartable boundary, so a capable external harness may exit and resume there without depending on chat history.
193
+
194
+ A shell-level "Ralph loop" is harness behavior, not a separate skill workflow. If you use one, restart only after the current task has reached a recorded boundary; on re-entry, read the durable artifacts and repository state before selecting the next pending task. A process exit is not evidence that a task passed, and a restart must not bypass an approval gate. See the `context-engineering` skill's **Restartable Session Boundaries** section for the handoff checklist.
195
+
196
+ This doesn't need the `/spec` and `/plan` wrappers — plain requests work in any agent, including a `npx skills add` install that only has the skills:
197
+
198
+ > Read SPEC.md, then break it into small verifiable tasks with acceptance criteria and dependency order. Save them to tasks/plan.md and tasks/todo.md. No product code yet — show me the plan first.
199
+
200
+ > Read SPEC.md, tasks/plan.md and tasks/todo.md, then check where things actually stand — `git status`, plus re-running whatever checks the recorded verification state no longer covers. Tell me the next unchecked task and anything still open, then stop: I'll confirm the scope before you start it. If the plan looks incomplete, say what's missing rather than rewriting it.
201
+
202
+ ## Tips
203
+
204
+ 1. **Start with spec-driven-development** for any non-trivial work
205
+ 2. **Always load test-driven-development** when writing code
206
+ 3. **Don't skip verification steps** — they're the whole point
207
+ 4. **Load skills selectively** — more context isn't always better
208
+ 5. **Use the agents for review** — different perspectives catch different issues