@givolt/i3-composer-agent 0.0.0-stage → 1.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 +23 -0
- package/.claude/commands/build.md +44 -0
- package/.claude/commands/code-simplify.md +22 -0
- package/.claude/commands/constraints.md +32 -0
- package/.claude/commands/plan.md +18 -0
- package/.claude/commands/review.md +16 -0
- package/.claude/commands/ship.md +72 -0
- package/.claude/commands/spec.md +17 -0
- package/.claude/commands/test.md +19 -0
- package/.claude/commands/webperf.md +32 -0
- package/.claude-plugin/marketplace.json +27 -0
- package/.claude-plugin/plugin.json +19 -0
- package/.codex-plugin/plugin.json +28 -0
- package/.gemini/commands/build.toml +43 -0
- package/.gemini/commands/code-simplify.toml +22 -0
- package/.gemini/commands/constraints.toml +32 -0
- package/.gemini/commands/planning.toml +18 -0
- package/.gemini/commands/review.toml +16 -0
- package/.gemini/commands/ship.toml +72 -0
- package/.gemini/commands/spec.toml +17 -0
- package/.gemini/commands/test.toml +19 -0
- package/.gemini/commands/webperf.toml +32 -0
- package/CHANGELOG.md +23 -0
- package/LICENSE +21 -0
- package/NOTICE.md +9 -0
- package/README.md +117 -2
- package/agents/code-reviewer.md +102 -0
- package/agents/security-auditor.md +112 -0
- package/agents/test-engineer.md +95 -0
- package/agents/web-performance-auditor.md +184 -0
- package/bin/i3-composer-agent.cjs +122 -0
- package/commands/build.toml +43 -0
- package/commands/code-simplify.toml +22 -0
- package/commands/constraints.toml +32 -0
- package/commands/planning.toml +18 -0
- package/commands/review.toml +16 -0
- package/commands/ship.toml +72 -0
- package/commands/spec.toml +17 -0
- package/commands/test.toml +19 -0
- package/commands/webperf.toml +32 -0
- package/docs/adoption-guide.md +129 -0
- package/docs/advanced-per-agent-configuration.md +70 -0
- package/docs/agents.md +123 -0
- package/docs/antigravity-setup.md +128 -0
- package/docs/codebuddy-setup.md +41 -0
- package/docs/codex-setup.md +34 -0
- package/docs/commandcode-setup.md +69 -0
- package/docs/comparison.md +131 -0
- package/docs/copilot-cli-setup.md +64 -0
- package/docs/copilot-setup.md +162 -0
- package/docs/cursor-setup.md +225 -0
- package/docs/developer-onboarding.md +116 -0
- package/docs/gemini-cli-setup.md +133 -0
- package/docs/getting-started.md +208 -0
- package/docs/opencode-setup.md +259 -0
- package/docs/other-hosts.md +7 -0
- package/docs/skill-anatomy.md +203 -0
- package/docs/windsurf-setup.md +48 -0
- package/evals/README.md +101 -0
- package/evals/cases/api-and-interface-design.json +45 -0
- package/evals/cases/browser-testing-with-devtools.json +44 -0
- package/evals/cases/ci-cd-and-automation.json +45 -0
- package/evals/cases/code-review-and-quality.json +49 -0
- package/evals/cases/code-simplification.json +45 -0
- package/evals/cases/constraint-driven-development.json +79 -0
- package/evals/cases/context-engineering.json +44 -0
- package/evals/cases/debugging-and-error-recovery.json +58 -0
- package/evals/cases/deprecation-and-migration.json +52 -0
- package/evals/cases/documentation-and-adrs.json +44 -0
- package/evals/cases/doubt-driven-development.json +43 -0
- package/evals/cases/frontend-ui-engineering.json +52 -0
- package/evals/cases/git-workflow-and-versioning.json +47 -0
- package/evals/cases/idea-refine.json +43 -0
- package/evals/cases/incremental-implementation.json +57 -0
- package/evals/cases/interview-me.json +42 -0
- package/evals/cases/observability-and-instrumentation.json +44 -0
- package/evals/cases/performance-optimization.json +53 -0
- package/evals/cases/planning-and-task-breakdown.json +45 -0
- package/evals/cases/security-and-hardening.json +53 -0
- package/evals/cases/shipping-and-launch.json +56 -0
- package/evals/cases/source-driven-development.json +44 -0
- package/evals/cases/spec-driven-development.json +72 -0
- package/evals/cases/test-driven-development.json +73 -0
- package/evals/cases/using-agent-skills.json +44 -0
- package/evals/fixtures/api-and-interface-design/service-brief.md +19 -0
- package/evals/fixtures/browser-testing-with-devtools/README.md +5 -0
- package/evals/fixtures/browser-testing-with-devtools/index.html +24 -0
- package/evals/fixtures/browser-testing-with-devtools/server.js +15 -0
- package/evals/fixtures/ci-cd-and-automation/package.json +8 -0
- package/evals/fixtures/ci-cd-and-automation/src/slug.js +3 -0
- package/evals/fixtures/ci-cd-and-automation/test/slug.test.js +9 -0
- package/evals/fixtures/code-review-and-quality/user-search.diff +16 -0
- package/evals/fixtures/code-simplification/config-parser.js +46 -0
- package/evals/fixtures/code-simplification/config-parser.test.js +15 -0
- package/evals/fixtures/context-engineering/context-audit.md +15 -0
- package/evals/fixtures/debugging-and-error-recovery/pagination.js +8 -0
- package/evals/fixtures/debugging-and-error-recovery/pagination.test.js +9 -0
- package/evals/fixtures/debugging-and-error-recovery/time-pressure.md +6 -0
- package/evals/fixtures/deprecation-and-migration/api-inventory.md +9 -0
- package/evals/fixtures/documentation-and-adrs/decision-context.md +16 -0
- package/evals/fixtures/doubt-driven-development/migration-plan.md +19 -0
- package/evals/fixtures/frontend-ui-engineering/Button.tsx +7 -0
- package/evals/fixtures/frontend-ui-engineering/design-system.md +11 -0
- package/evals/fixtures/git-workflow-and-versioning/.eval/working-tree.patch +21 -0
- package/evals/fixtures/git-workflow-and-versioning/app.js +7 -0
- package/evals/fixtures/git-workflow-and-versioning/app.test.js +9 -0
- package/evals/fixtures/incremental-implementation/reports.js +7 -0
- package/evals/fixtures/incremental-implementation/reports.test.js +12 -0
- package/evals/fixtures/incremental-implementation/tasks/plan.md +8 -0
- package/evals/fixtures/incremental-implementation-pressure/draft-export.js +17 -0
- package/evals/fixtures/incremental-implementation-pressure/scenario.md +9 -0
- package/evals/fixtures/observability-and-instrumentation/operations.md +11 -0
- package/evals/fixtures/observability-and-instrumentation/payment-retry.js +14 -0
- package/evals/fixtures/performance-optimization/benchmark.js +15 -0
- package/evals/fixtures/performance-optimization/products.js +14 -0
- package/evals/fixtures/planning-and-task-breakdown/notifications-spec.md +18 -0
- package/evals/fixtures/security-and-hardening/webhook.js +11 -0
- package/evals/fixtures/security-and-hardening/webhook.test.js +13 -0
- package/evals/fixtures/shipping-and-launch/authority-pressure.md +6 -0
- package/evals/fixtures/shipping-and-launch/launch-status.md +11 -0
- package/evals/fixtures/source-driven-development/framework-task.md +10 -0
- package/evals/fixtures/spec-driven-development/billing-brief.md +16 -0
- package/evals/fixtures/spec-driven-development-decomposition/portal-brief.md +22 -0
- package/evals/fixtures/test-driven-development/BUG.md +10 -0
- package/evals/fixtures/test-driven-development/README.md +28 -0
- package/evals/fixtures/test-driven-development/package.json +9 -0
- package/evals/fixtures/test-driven-development/src/split.js +8 -0
- package/evals/fixtures/test-driven-development/test/split.test.js +13 -0
- package/evals/fixtures/test-driven-development-ecosystem/README.md +9 -0
- package/evals/fixtures/test-driven-development-ecosystem/ledger.py +15 -0
- package/evals/fixtures/test-driven-development-ecosystem/test_ledger.py +19 -0
- package/evals/fixtures/using-agent-skills/incident.md +6 -0
- package/evals/plugin/code-review-fires/graders/off-by-one.md +7 -0
- package/evals/plugin/code-review-fires/graders/severity-labels.md +4 -0
- package/evals/plugin/code-review-fires/graders/skill-fired.md +5 -0
- package/evals/plugin/code-review-fires/prompt.md +31 -0
- package/evals/plugin/code-review-stays-quiet/graders/not-fired.md +8 -0
- package/evals/plugin/code-review-stays-quiet/graders/tdd-fired.md +6 -0
- package/evals/plugin/code-review-stays-quiet/prompt.md +8 -0
- package/evals/plugin/code-review-stays-quiet-on-commit-message/graders/not-fired.md +8 -0
- package/evals/plugin/code-review-stays-quiet-on-commit-message/prompt.md +25 -0
- package/evals/skill-impact.md +6 -0
- package/hooks/SDD-CACHE.md +167 -0
- package/hooks/SIMPLIFY-IGNORE.md +91 -0
- package/hooks/sdd-cache-post.sh +135 -0
- package/hooks/sdd-cache-pre.sh +106 -0
- package/hooks/sdd-cache-test.sh +246 -0
- package/hooks/session-start-test.sh +47 -0
- package/hooks/session-start.sh +33 -0
- package/hooks/simplify-ignore-test.sh +476 -0
- package/hooks/simplify-ignore.sh +352 -0
- package/package.json +89 -4
- package/plugin.json +7 -0
- package/rebrand/MAINTENANCE.md +112 -0
- package/rebrand/NOTICE.md +9 -0
- package/rebrand/PR-WORKFLOW.md +34 -0
- package/rebrand/UNIFICATION-SPEC.md +33 -0
- package/rebrand/VALIDATION.md +28 -0
- package/rebrand/VERSIONING.md +32 -0
- package/rebrand/apply.cjs +194 -0
- package/rebrand/brand.json +13 -0
- package/rebrand/catalog.cjs +56 -0
- package/rebrand/fork-patches.json +12 -0
- package/rebrand/overlay/.github/workflows/test-plugin-install.yml +177 -0
- package/rebrand/overlay/CHANGELOG.md +23 -0
- package/rebrand/overlay/bin/i3-composer-agent.cjs +122 -0
- package/rebrand/overlay/scripts/validate-brand.cjs +44 -0
- package/rebrand/overlay/tests/bundle.test.cjs +85 -0
- package/rebrand/package.template.json +82 -0
- package/rebrand/rebrand.sh +4 -0
- package/rebrand/record-upstream.cjs +37 -0
- package/rebrand/templates/README.md +86 -0
- package/rebrand/templates/codebuddy-setup.md +41 -0
- package/rebrand/templates/codex-setup.md +34 -0
- package/rebrand/tests/pipeline.test.cjs +185 -0
- package/rebrand/upstream.json +171 -0
- package/references/accessibility-checklist.md +160 -0
- package/references/definition-of-done.md +67 -0
- package/references/observability-checklist.md +92 -0
- package/references/orchestration-patterns.md +370 -0
- package/references/performance-checklist.md +236 -0
- package/references/security-checklist.md +248 -0
- package/references/testing-patterns.md +235 -0
- package/scripts/floor-guard-reference-test.js +291 -0
- package/scripts/lib/skill-lint-test.js +650 -0
- package/scripts/lib/skill-lint.js +584 -0
- package/scripts/run-evals-test.js +623 -0
- package/scripts/run-evals.js +638 -0
- package/scripts/validate-artifact-paths-test.js +179 -0
- package/scripts/validate-artifact-paths.js +128 -0
- package/scripts/validate-brand.cjs +44 -0
- package/scripts/validate-commands-test.js +216 -0
- package/scripts/validate-commands.js +222 -0
- package/scripts/validate-reference-links-test.js +495 -0
- package/scripts/validate-reference-links.js +187 -0
- package/scripts/validate-skills.js +69 -0
- package/scripts/validate-versions-test.js +32 -0
- package/scripts/validate-versions.js +35 -0
- package/skills/api-and-interface-design/SKILL.md +367 -0
- package/skills/browser-testing-with-devtools/SKILL.md +317 -0
- package/skills/ci-cd-and-automation/SKILL.md +390 -0
- package/skills/code-review-and-quality/SKILL.md +398 -0
- package/skills/code-simplification/SKILL.md +331 -0
- package/skills/constraint-driven-development/SKILL.md +311 -0
- package/skills/constraint-driven-development/references/floor-guard.md +182 -0
- package/skills/context-engineering/SKILL.md +353 -0
- package/skills/debugging-and-error-recovery/SKILL.md +300 -0
- package/skills/deprecation-and-migration/SKILL.md +247 -0
- package/skills/documentation-and-adrs/SKILL.md +288 -0
- package/skills/doubt-driven-development/SKILL.md +243 -0
- package/skills/frontend-ui-engineering/SKILL.md +340 -0
- package/skills/git-workflow-and-versioning/SKILL.md +355 -0
- package/skills/idea-refine/SKILL.md +178 -0
- package/skills/idea-refine/examples.md +238 -0
- package/skills/idea-refine/frameworks.md +99 -0
- package/skills/idea-refine/refinement-criteria.md +113 -0
- package/skills/idea-refine/scripts/idea-refine.sh +15 -0
- package/skills/incremental-implementation/SKILL.md +249 -0
- package/skills/interview-me/SKILL.md +235 -0
- package/skills/observability-and-instrumentation/SKILL.md +238 -0
- package/skills/performance-optimization/SKILL.md +267 -0
- package/skills/performance-optimization/references/optimization-patterns.md +250 -0
- package/skills/planning-and-task-breakdown/SKILL.md +257 -0
- package/skills/security-and-hardening/SKILL.md +216 -0
- package/skills/security-and-hardening/references/hardening-patterns.md +324 -0
- package/skills/shipping-and-launch/SKILL.md +330 -0
- package/skills/source-driven-development/SKILL.md +216 -0
- package/skills/spec-driven-development/SKILL.md +259 -0
- package/skills/test-driven-development/SKILL.md +398 -0
- package/skills/using-agent-skills/SKILL.md +192 -0
- package/tests/bundle.test.cjs +85 -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
|