@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,178 @@
1
+ # i3 Composer Agent
2
+
3
+ **Intelligence. Integration. Innovation.**
4
+
5
+ Production-grade engineering skills, lifecycle commands, and specialist personas
6
+ for AI coding agents. This is the engineering-skill product in the i3 Composer
7
+ family; the GSD-derived workflow product is maintained separately.
8
+
9
+ Based on [Agent Skills](https://github.com/addyosmani/agent-skills) by Addy Osmani
10
+ (MIT). See [NOTICE.md](NOTICE.md) for attribution and the upstream baseline.
11
+
12
+ ## Prepare the complete plugin with npx
13
+
14
+ The npm package is `@givolt/i3-composer-agent`. The plugin and marketplace ID is
15
+ `i3-composer-agent`. Skill IDs and workflow behavior retain their upstream names.
16
+
17
+ Once the package is published, run this in the project where you want to use it:
18
+
19
+ ```bash
20
+ npx @givolt/i3-composer-agent --codebuddy
21
+ # Or prepare a bundle for another host:
22
+ npx @givolt/i3-composer-agent --codex
23
+ npx @givolt/i3-composer-agent --claude
24
+ ```
25
+
26
+ The CLI prepares a persistent `./i3-composer-agent/` directory with all 25 skills,
27
+ 9 commands, 4 personas, and shared references. It prints the native registration
28
+ commands; run those in the selected host to enable the plugin.
29
+
30
+ ### CodeBuddy / Claude Code
31
+
32
+ ```text
33
+ /plugin marketplace add ./i3-composer-agent
34
+ /plugin install i3-composer-agent@i3-composer-agent
35
+ ```
36
+
37
+ Use the absolute directory printed by the CLI if the host has a different
38
+ working directory. See [CodeBuddy setup](docs/codebuddy-setup.md).
39
+
40
+ ### Codex
41
+
42
+ ```bash
43
+ codex plugin marketplace add ./i3-composer-agent
44
+ codex plugin add i3-composer-agent@i3-composer-agent
45
+ ```
46
+
47
+ Start a new Codex session. Invoke the existing skills by name, using `/skills`
48
+ or `$spec-driven-development` in CLI/IDE. This conversion preserves Codex's
49
+ skill adapter; lifecycle slash-command adaptation is a separate task.
50
+ See [Codex setup](docs/codex-setup.md).
51
+
52
+ ### Bundle options
53
+
54
+ ```bash
55
+ npx @givolt/i3-composer-agent --extract --dir /path/to/i3-composer-agent
56
+ npx @givolt/i3-composer-agent --codebuddy --dir /path/to/plugin --dry-run
57
+ npx @givolt/i3-composer-agent --codebuddy --dir /path/to/plugin --force
58
+ ```
59
+
60
+ An existing directory is refused unless `--force` targets an i3 Composer Agent
61
+ bundle. Replacement keeps the previous directory as a backup. No repository
62
+ AGENTS.md or CLAUDE.md is copied into the target project.
63
+
64
+ ## Commands
65
+
66
+ Hosts supporting Claude-compatible plugin commands load these workflows.
67
+ Use the namespaced form, for example `/i3-composer-agent:spec`.
68
+
69
+ | Command | Workflow |
70
+ | --- | --- |
71
+ | `/i3-composer-agent:spec` | Define objectives, constraints, and acceptance criteria |
72
+ | `/i3-composer-agent:plan` | Write ordered, verifiable tasks |
73
+ | `/i3-composer-agent:build` | Implement the next task with verification |
74
+ | `/i3-composer-agent:build auto` | Execute the approved plan with per-task verification |
75
+ | `/i3-composer-agent:test` | Test-first development and regression checks |
76
+ | `/i3-composer-agent:constraints` | Establish a written quality bar |
77
+ | `/i3-composer-agent:review` | Review code quality and correctness |
78
+ | `/i3-composer-agent:webperf` | Audit web performance |
79
+ | `/i3-composer-agent:code-simplify` | Simplify code without changing behavior |
80
+ | `/i3-composer-agent:ship` | Review launch readiness and rollback |
81
+
82
+ ## All 25 Skills
83
+
84
+ The commands above are entry points. The pack includes 25 skills total — 24 lifecycle skills plus the `using-agent-skills` meta-skill. Each skill is a structured workflow with steps, verification gates, and anti-rationalization tables. You can also reference any skill directly.
85
+
86
+ ### Meta - Discover which skill applies
87
+
88
+ | Skill | What It Does | Use When |
89
+ |-------|-------------|----------|
90
+ | [using-agent-skills](skills/using-agent-skills/SKILL.md) | Maps incoming work to the right skill workflow and defines shared operating rules | Starting a session or deciding which skill applies |
91
+
92
+ ### Define - Clarify what to build
93
+
94
+ | Skill | What It Does | Use When |
95
+ |-------|-------------|----------|
96
+ | [interview-me](skills/interview-me/SKILL.md) | One-question-at-a-time interview that extracts what the user actually wants instead of what they think they should want, until ~95% confidence | The ask is underspecified, or the user invokes "interview me" / "grill me" |
97
+ | [idea-refine](skills/idea-refine/SKILL.md) | Structured divergent/convergent thinking to turn vague ideas into concrete proposals | You have a rough concept that needs exploration |
98
+ | [spec-driven-development](skills/spec-driven-development/SKILL.md) | Write a PRD covering objectives, commands, structure, code style, testing, and boundaries before any code | Starting a new project, feature, or significant change |
99
+ | [constraint-driven-development](skills/constraint-driven-development/SKILL.md) | Interviews you for a quality bar with sane default thresholds, writes CONSTRAINTS.md, places each check by cost, and catches agents silencing checks or skipping tests to get green | No standards are written down, or an agent is producing more than anyone reads |
100
+
101
+ ### Plan - Break it down
102
+
103
+ | Skill | What It Does | Use When |
104
+ |-------|-------------|----------|
105
+ | [planning-and-task-breakdown](skills/planning-and-task-breakdown/SKILL.md) | Decompose specs into small, verifiable tasks with acceptance criteria and dependency ordering | You have a spec and need implementable units |
106
+
107
+ ### Build - Write the code
108
+
109
+ | Skill | What It Does | Use When |
110
+ |-------|-------------|----------|
111
+ | [incremental-implementation](skills/incremental-implementation/SKILL.md) | Thin vertical slices - implement, test, verify, commit. Feature flags, safe defaults, rollback-friendly changes | Any change touching more than one file |
112
+ | [test-driven-development](skills/test-driven-development/SKILL.md) | Red-Green-Refactor, test pyramid (80/15/5), test sizes, DAMP over DRY, Beyonce Rule, browser testing | Implementing logic, fixing bugs, or changing behavior |
113
+ | [context-engineering](skills/context-engineering/SKILL.md) | Feed agents the right information at the right time - rules files, context packing, MCP integrations | Starting a session, switching tasks, or when output quality drops |
114
+ | [source-driven-development](skills/source-driven-development/SKILL.md) | Ground every framework decision in official documentation - verify, cite sources, flag what's unverified | You want authoritative, source-cited code for any framework or library |
115
+ | [doubt-driven-development](skills/doubt-driven-development/SKILL.md) | Adversarial fresh-context review of every non-trivial decision in-flight - CLAIM → EXTRACT → DOUBT → RECONCILE → STOP, with optional user-authorized cross-model escalation | Stakes are high (production, security, irreversible), working in unfamiliar code, or a confident output is cheaper to verify now than to debug later |
116
+ | [frontend-ui-engineering](skills/frontend-ui-engineering/SKILL.md) | Component architecture, design systems, state management, responsive design, WCAG 2.1 AA accessibility | Building or modifying user-facing interfaces |
117
+ | [api-and-interface-design](skills/api-and-interface-design/SKILL.md) | Contract-first design, Hyrum's Law, One-Version Rule, error semantics, boundary validation | Designing APIs, module boundaries, or public interfaces |
118
+
119
+ ### Verify - Prove it works
120
+
121
+ | Skill | What It Does | Use When |
122
+ |-------|-------------|----------|
123
+ | [browser-testing-with-devtools](skills/browser-testing-with-devtools/SKILL.md) | Chrome DevTools MCP for live runtime data - DOM inspection, console logs, network traces, performance profiling | Building or debugging anything that runs in a browser |
124
+ | [debugging-and-error-recovery](skills/debugging-and-error-recovery/SKILL.md) | Five-step triage: reproduce, localize, reduce, fix, guard. Stop-the-line rule, safe fallbacks | Tests fail, builds break, or behavior is unexpected |
125
+
126
+ ### Review - Quality gates before merge
127
+
128
+ | Skill | What It Does | Use When |
129
+ |-------|-------------|----------|
130
+ | [code-review-and-quality](skills/code-review-and-quality/SKILL.md) | Five-axis review, change sizing (~100 lines), severity labels (Nit/Optional/FYI), review speed norms, splitting strategies | Before merging any change |
131
+ | [code-simplification](skills/code-simplification/SKILL.md) | Chesterton's Fence, Rule of 500, reduce complexity while preserving exact behavior | Code works but is harder to read or maintain than it should be |
132
+ | [security-and-hardening](skills/security-and-hardening/SKILL.md) | OWASP Top 10 prevention, auth patterns, secrets management, dependency auditing, three-tier boundary system | Handling user input, auth, data storage, or external integrations |
133
+ | [performance-optimization](skills/performance-optimization/SKILL.md) | Measure-first approach - Core Web Vitals targets, profiling workflows, bundle analysis, anti-pattern detection | Performance requirements exist or you suspect regressions |
134
+
135
+ ### Ship - Deploy with confidence
136
+
137
+ | Skill | What It Does | Use When |
138
+ |-------|-------------|----------|
139
+ | [git-workflow-and-versioning](skills/git-workflow-and-versioning/SKILL.md) | Trunk-based development, atomic commits, change sizing (~100 lines), the commit-as-save-point pattern | Making any code change (always) |
140
+ | [ci-cd-and-automation](skills/ci-cd-and-automation/SKILL.md) | Shift Left, Faster is Safer, feature flags, quality gate pipelines, failure feedback loops | Setting up or modifying build and deploy pipelines |
141
+ | [deprecation-and-migration](skills/deprecation-and-migration/SKILL.md) | Code-as-liability mindset, compulsory vs advisory deprecation, migration patterns, zombie code removal | Removing old systems, migrating users, or sunsetting features |
142
+ | [documentation-and-adrs](skills/documentation-and-adrs/SKILL.md) | Architecture Decision Records, API docs, inline documentation standards - document the *why* | Making architectural decisions, changing APIs, or shipping features |
143
+ | [observability-and-instrumentation](skills/observability-and-instrumentation/SKILL.md) | Structured logging, RED metrics, OpenTelemetry tracing, symptom-based alerting - instrument as you build | Adding telemetry, or shipping anything that runs in production |
144
+ | [shipping-and-launch](skills/shipping-and-launch/SKILL.md) | Pre-launch checklists, feature flag lifecycle, staged rollouts, rollback procedures, monitoring setup | Preparing to deploy to production |
145
+
146
+ ---
147
+
148
+ ## Personas and shared references
149
+
150
+ The four original personas remain in [agents/](agents/): code reviewer, security
151
+ auditor, test engineer, and web performance auditor. Shared checklists remain in [references/](references/).
152
+ Their relative layout is preserved across npm packaging and bundle extraction.
153
+
154
+ ## Other hosts
155
+
156
+ The existing [host guides](docs/other-hosts.md) describe additional integrations.
157
+ Prepare the complete local bundle first and use its path in host-specific setup.
158
+ Per-skill installation is separate and may omit the shared references, command
159
+ wrappers, and personas.
160
+
161
+ ## Development and release
162
+
163
+ ```bash
164
+ npm run rebrand:check
165
+ npm run validate
166
+ npm test
167
+ node scripts/run-evals.js --min-rank1 95
168
+ npm pack --pack-destination /path/to/release-directory
169
+ ```
170
+
171
+ [npx](https://docs.npmjs.com/cli/npm-exec/) runs the package executable;
172
+ `npm pack` builds a tarball and `npm publish` publishes it.
173
+ Local preparation does not establish registry publication or model behavior.
174
+ See [brand maintenance](rebrand/MAINTENANCE.md) for source/release separation.
175
+
176
+ ## License
177
+
178
+ MIT. Original copyright and license are retained in [LICENSE](LICENSE).
@@ -0,0 +1,41 @@
1
+ # Using i3 Composer Agent with CodeBuddy
2
+
3
+ Prepare the complete plugin inside the project where you want to use it:
4
+
5
+ ```bash
6
+ npx @givolt/i3-composer-agent --codebuddy
7
+ ```
8
+
9
+ In the CodeBuddy chat, register the prepared directory and install the plugin:
10
+
11
+ ```text
12
+ /plugin marketplace add ./i3-composer-agent
13
+ /plugin install i3-composer-agent@i3-composer-agent
14
+ ```
15
+
16
+ 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
18
+ plugin manager. Reload plugins or start a new session after installation.
19
+
20
+ CodeBuddy supports the existing `.claude-plugin/plugin.json` compatibility
21
+ manifest. It declares `.claude/commands/` and `commands/`, preserving the nine
22
+ original lifecycle commands and their workflow content.
23
+
24
+ ```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
31
+ ```
32
+
33
+ Skill IDs, persona names, artifact paths, and workflow gates retain their
34
+ upstream behavior. The plugin namespace changes to `i3-composer-agent`.
35
+
36
+ The bundle includes all skills and shared `references/`. Installing individual
37
+ skills is a different distribution method and does not install the command
38
+ wrappers or persona definitions.
39
+
40
+ The CLI prepares files and prints registration commands. Actual host discovery
41
+ and model execution should be verified after registering the plugin.
@@ -0,0 +1,34 @@
1
+ # Using i3 Composer Agent with Codex
2
+
3
+ Prepare the complete plugin inside the project where you want to use it:
4
+
5
+ ```bash
6
+ npx @givolt/i3-composer-agent --codex
7
+ ```
8
+
9
+ The CLI copies a persistent `./i3-composer-agent/` bundle and prints these
10
+ native registration commands. Run them to enable the plugin:
11
+
12
+ ```bash
13
+ codex plugin marketplace add ./i3-composer-agent
14
+ codex plugin add i3-composer-agent@i3-composer-agent
15
+ ```
16
+
17
+ Start a new Codex session after registration. All 25 existing skills keep their
18
+ original IDs. In CLI/IDE, use `/skills` or `$spec-driven-development`; in chat,
19
+ explicitly request the relevant skill from i3 Composer Agent.
20
+
21
+ The adapter in `.codex-plugin/plugin.json` points at the unchanged `skills/`
22
+ layout. Shared checklists remain under `references/`, so skill-relative links
23
+ resolve inside the complete plugin bundle.
24
+
25
+ The short lifecycle commands (`/spec`, `/plan`, `/build`, `/ship`) remain
26
+ available in hosts that load the Claude-compatible command manifest. Codex
27
+ lifecycle-command adaptation is separate from this brand conversion. Native
28
+ Codex `/plan` switches planning mode; it is not the plugin's planning wrapper.
29
+
30
+ Do not preload `using-agent-skills/SKILL.md` into always-on context: Codex routes
31
+ skills natively. The meta-skill can remain installed and explicitly invoked.
32
+
33
+ For local source testing, replace `./i3-composer-agent` above with the absolute
34
+ path to the branded checkout. The CLI does not modify existing plugin settings.
@@ -0,0 +1,160 @@
1
+ # Accessibility Checklist
2
+
3
+ Quick reference for WCAG 2.1 AA compliance. Use alongside the `frontend-ui-engineering` skill.
4
+
5
+ ## Table of Contents
6
+
7
+ - [Essential Checks](#essential-checks)
8
+ - [Common HTML Patterns](#common-html-patterns)
9
+ - [Testing Tools](#testing-tools)
10
+ - [Quick Reference: ARIA Live Regions](#quick-reference-aria-live-regions)
11
+ - [Common Anti-Patterns](#common-anti-patterns)
12
+
13
+ ## Essential Checks
14
+
15
+ ### Keyboard Navigation
16
+ - [ ] All interactive elements focusable via Tab key
17
+ - [ ] Focus order follows visual/logical order
18
+ - [ ] Focus is visible (outline/ring on focused elements)
19
+ - [ ] Custom widgets have keyboard support (Enter to activate, Escape to close)
20
+ - [ ] No keyboard traps (user can always Tab away from a component)
21
+ - [ ] Skip-to-content link at top of page - visible (at least) on keyboard focus
22
+ - [ ] Modals trap focus while open, return focus on close
23
+
24
+ ### Screen Readers
25
+ - [ ] All images have `alt` text (or `alt=""` for decorative images)
26
+ - [ ] All form inputs have associated labels (`<label>` or `aria-label`)
27
+ - [ ] Buttons and links have descriptive text (not "Click here")
28
+ - [ ] Icon-only buttons have `aria-label`
29
+ - [ ] Page has one `<h1>` and headings don't skip levels
30
+ - [ ] Dynamic content changes announced (`aria-live` regions)
31
+ - [ ] Tables have `<th>` headers with scope
32
+
33
+ ### Visual
34
+ - [ ] Text contrast ≥ 4.5:1 (normal text) or ≥ 3:1 (large text, 18px+)
35
+ - [ ] UI components contrast ≥ 3:1 against background
36
+ - [ ] Color is not the only way to convey information
37
+ - [ ] Text resizable to 200% without breaking layout
38
+ - [ ] No content that flashes more than 3 times per second
39
+
40
+ ### Forms
41
+ - [ ] Every input has a visible label
42
+ - [ ] Required fields indicated (not by color alone)
43
+ - [ ] Error messages specific and associated with the field
44
+ - [ ] Error state visible by more than color (icon, text, border)
45
+ - [ ] Form submission errors summarized and focusable
46
+ - [ ] Known fields use autocomplete (for example `type="email" autocomplete="email"`)
47
+
48
+ ### Content
49
+ - [ ] Language declared (`<html lang="en">`)
50
+ - [ ] Page has a descriptive `<title>`
51
+ - [ ] Links distinguish from surrounding text (not by color alone)
52
+ - [ ] Touch targets ≥ 44x44px on mobile
53
+ - [ ] Meaningful empty states (not blank screens)
54
+
55
+ ## Common HTML Patterns
56
+
57
+ ### Buttons vs. Links
58
+
59
+ ```html
60
+ <!-- Use <button> for actions -->
61
+ <button onClick={handleDelete}>Delete Task</button>
62
+
63
+ <!-- Use <a> for navigation -->
64
+ <a href="/tasks/123">View Task</a>
65
+
66
+ <!-- NEVER use div/span as buttons -->
67
+ <div onClick={handleDelete}>Delete</div> <!-- BAD -->
68
+ ```
69
+
70
+ ### Form Labels
71
+
72
+ ```html
73
+ <!-- Explicit label association -->
74
+ <label htmlFor="email">Email address</label>
75
+ <input id="email" type="email" required />
76
+
77
+ <!-- Implicit wrapping -->
78
+ <label>
79
+ Email address
80
+ <input type="email" required />
81
+ </label>
82
+
83
+ <!-- Hidden label (visible label preferred) -->
84
+ <input type="search" aria-label="Search tasks" />
85
+ ```
86
+
87
+ ### ARIA Roles
88
+
89
+ ```html
90
+ <!-- Navigation -->
91
+ <nav aria-label="Main navigation">...</nav>
92
+ <nav aria-label="Footer links">...</nav>
93
+
94
+ <!-- Status messages -->
95
+ <div role="status" aria-live="polite">Task saved</div>
96
+
97
+ <!-- Alert messages -->
98
+ <div role="alert">Error: Title is required</div>
99
+
100
+ <!-- Modal dialogs -->
101
+ <dialog aria-modal="true" aria-labelledby="dialog-title">
102
+ <h2 id="dialog-title">Confirm Delete</h2>
103
+ ...
104
+ </dialog>
105
+
106
+ <!-- Loading states -->
107
+ <div aria-busy="true" aria-label="Loading tasks">
108
+ <Spinner />
109
+ </div>
110
+ ```
111
+
112
+ ### Accessible Lists
113
+
114
+ ```html
115
+ <ul role="list" aria-label="Tasks">
116
+ <li>
117
+ <input type="checkbox" id="task-1" aria-label="Complete: Buy groceries" />
118
+ <label htmlFor="task-1">Buy groceries</label>
119
+ </li>
120
+ </ul>
121
+ ```
122
+
123
+ ## Testing Tools
124
+
125
+ ```bash
126
+ # Automated audit
127
+ npx axe-core # Programmatic accessibility testing
128
+ npx pa11y # CLI accessibility checker
129
+
130
+ # In browser
131
+ # Chrome DevTools → Lighthouse → Accessibility
132
+ # Chrome DevTools → Elements → Accessibility tree
133
+
134
+ # Screen reader testing
135
+ # macOS: VoiceOver (Cmd + F5)
136
+ # Windows: NVDA (free) or JAWS
137
+ # Linux: Orca
138
+ ```
139
+
140
+ ## Quick Reference: ARIA Live Regions
141
+
142
+ | Value | Behavior | Use For |
143
+ |-------|----------|---------|
144
+ | `aria-live="polite"` | Announced at next pause | Status updates, saved confirmations |
145
+ | `aria-live="assertive"` | Announced immediately | Errors, time-sensitive alerts |
146
+ | `role="status"` | Same as `polite` | Status messages |
147
+ | `role="alert"` | Same as `assertive` | Error messages |
148
+
149
+ ## Common Anti-Patterns
150
+
151
+ | Anti-Pattern | Problem | Fix |
152
+ |---|---|---|
153
+ | `div` as button | Not focusable, no keyboard support | Use `<button>` |
154
+ | Missing `alt` text | Images invisible to screen readers | Add descriptive `alt` |
155
+ | Color-only states | Invisible to color-blind users | Add icons, text, or patterns |
156
+ | Autoplaying media | Disorienting, can't be stopped | Add controls, don't autoplay |
157
+ | Custom dropdown with no ARIA | Unusable by keyboard/screen reader | Use native `<select>` or proper ARIA listbox |
158
+ | Removing focus outlines | Users can't see where they are | Style outlines, don't remove them |
159
+ | Empty links/buttons | "Link" announced with no description | Add text or `aria-label` |
160
+ | `tabindex > 0` | Breaks natural tab order | Use `tabindex="0"` or `-1` only |
@@ -0,0 +1,67 @@
1
+ # Definition of Done
2
+
3
+ A standing, project-wide bar that every change must clear before it counts as done. Unlike acceptance criteria, which vary per task and answer "did we build the right thing?", the Definition of Done is the same every time and answers "is this finished to our standard?". Use it as the final gate in `planning-and-task-breakdown`, `incremental-implementation`, and `shipping-and-launch`.
4
+
5
+ ## Definition of Done vs. Acceptance Criteria
6
+
7
+ | | Acceptance Criteria | Definition of Done |
8
+ |---|---|---|
9
+ | Scope | Specific to one task or spec | Applies to every increment |
10
+ | Changes | Different for each item | Fixed and reused |
11
+ | Answers | "Did we build *this thing*?" | "Is it *ready*?" |
12
+ | Owner | Defined when planning the task | Defined once for the project |
13
+ | Example | "User can reset password via email link" | "Tests pass, no regressions, docs updated" |
14
+
15
+ The two are complementary. A task is done only when **its** acceptance criteria are met **and** the standing Definition of Done is satisfied. Skipping either leaves work that looks finished but is not.
16
+
17
+ ## The Standing Checklist
18
+
19
+ Apply this to every change before declaring it done.
20
+
21
+ ### Correctness
22
+ - [ ] All acceptance criteria for the task are met
23
+ - [ ] Code runs and behaves as intended, verified at runtime, not just compiled or typechecked
24
+ - [ ] New behavior is covered by tests that fail without the change and pass with it
25
+ - [ ] Existing tests still pass; no regressions introduced
26
+ - [ ] Edge cases and error paths are handled, not just the happy path
27
+
28
+ ### Quality
29
+ - [ ] Code reveals intent through naming and structure; no comments needed to explain *what* it does
30
+ - [ ] No duplicated business logic
31
+ - [ ] No dead code, debug output, or commented-out blocks left behind
32
+ - [ ] Changes are scoped to the task; no unrelated refactors snuck in
33
+ - [ ] Linting and formatting pass
34
+
35
+ The depth behind these items lives in `code-review-and-quality` (the five-axis review) and `code-simplification` (reducing complexity without changing behavior).
36
+
37
+ ### Integration
38
+ - [ ] Change works with the rest of the system, not just in isolation
39
+ - [ ] Database migrations, config changes, and feature flags are accounted for
40
+ - [ ] Backward compatibility considered for any public interface or API change
41
+
42
+ ### Documentation
43
+ - [ ] Public interfaces, APIs, and user-facing behavior are documented
44
+ - [ ] Architectural decisions worth preserving are recorded (see `documentation-and-adrs`)
45
+ - [ ] Documentation describes the current state in timeless language, not the change history
46
+
47
+ ### Ship-readiness
48
+ - [ ] Security implications reviewed for any untrusted input, auth, or data handling (see `security-and-hardening`)
49
+ - [ ] Observability in place for new critical paths (logs, metrics, traces) (see `observability-and-instrumentation`)
50
+ - [ ] Rollback path exists for anything risky (see `shipping-and-launch`)
51
+ - [ ] The human has reviewed and approved before merge or deploy
52
+
53
+ ## How to Apply
54
+
55
+ - **Per task**: confirm the Correctness and Quality sections before checking the task off.
56
+ - **Per feature**: confirm Integration and Documentation before considering the feature complete.
57
+ - **Per release**: the full checklist is the floor; `shipping-and-launch` adds the deploy-specific gates on top.
58
+
59
+ Tailor the list to the project once, then reuse it unchanged. A Definition of Done that is renegotiated every sprint is not a Definition of Done.
60
+
61
+ ## Red Flags
62
+
63
+ - "It's done, I just haven't run it yet": unverified work is not done.
64
+ - "Tests pass" used as a synonym for done while docs, regressions, or runtime verification are skipped.
65
+ - A different bar applied depending on deadline pressure.
66
+ - Acceptance criteria treated as the whole bar, with no standing quality floor.
67
+ - "Done" declared before human review on changes that need it.
@@ -0,0 +1,92 @@
1
+ # Observability Checklist
2
+
3
+ Quick reference for instrumenting production code. Use alongside the `observability-and-instrumentation` skill.
4
+
5
+ ## Table of Contents
6
+
7
+ - [On-Call Questions (Start Here)](#on-call-questions-start-here)
8
+ - [Structured Logging](#structured-logging)
9
+ - [Metrics](#metrics)
10
+ - [Distributed Tracing](#distributed-tracing)
11
+ - [Alerting](#alerting)
12
+ - [Dashboards](#dashboards)
13
+ - [Verify the Telemetry](#verify-the-telemetry)
14
+ - [Pre-Launch Gate](#pre-launch-gate)
15
+
16
+ ## On-Call Questions (Start Here)
17
+
18
+ Telemetry without a question is noise. Before instrumenting anything:
19
+
20
+ - [ ] 2–4 questions an on-call engineer will ask about this feature are written down
21
+ - [ ] Every signal below maps to one of those questions
22
+ - [ ] Each question is matched to the right signal type: metrics say **that** something is wrong, traces say **where**, logs say **why**
23
+
24
+ ## Structured Logging
25
+
26
+ - [ ] Logs are structured (JSON) with stable event names — not free-form strings
27
+ - [ ] Every log line carries a correlation/request ID, generated or accepted at the system boundary
28
+ - [ ] Correlation ID is propagated on every outbound call and async boundary (HTTP headers, queue metadata)
29
+ - [ ] Any log stream written by more than one entry point (scheduler, replay endpoint, manual run) carries an entry-point field, set where the run starts and propagated alongside the correlation ID
30
+ - [ ] Log levels are consistent: `error` = invariant broken, someone may act; `warn` = degraded but handled; `info` = significant business event; `debug` = off in production
31
+ - [ ] No secrets, tokens, passwords, or unredacted PII in any log line (hard rule from `security-and-hardening`)
32
+ - [ ] Fields are allowlisted — no whole request/response bodies, no auth headers
33
+ - [ ] External service calls logged with metadata only: endpoint, status, latency, attempt count, sanitized identifiers
34
+ - [ ] Actual log output spot-checked: structured fields, not `[object Object]`
35
+
36
+ ## Metrics
37
+
38
+ - [ ] **RED** instrumented for every endpoint and every external dependency: Rate, Errors, Duration
39
+ - [ ] **USE** instrumented for every resource (queues, pools, hosts): Utilization, Saturation, Errors
40
+ - [ ] Latency is a histogram; p50/p95/p99 queryable — never an average
41
+ - [ ] All labels come from small, fixed sets (route template, status class, provider name)
42
+ - [ ] No unbounded label values: no user IDs, tenant IDs, emails, raw URLs, request IDs, or error message text
43
+ - [ ] Status codes grouped by class (`5xx`, not `503`)
44
+ - [ ] Queue depth and processing duration tracked for every worker/queue
45
+
46
+ ## Distributed Tracing
47
+
48
+ - [ ] OpenTelemetry (or equivalent) initialized at service startup, before other imports
49
+ - [ ] Auto-instrumentation enabled for HTTP, gRPC, and DB clients
50
+ - [ ] Trace context propagated on every outbound call (W3C `traceparent`/`tracestate`) and extracted from every inbound request
51
+ - [ ] Context survives async boundaries — queue messages carry trace metadata
52
+ - [ ] Manual spans only around meaningful internal units of work, with the attributes on-call will filter by
53
+ - [ ] No secrets or PII as span attributes
54
+ - [ ] Head-based sampling at a low default rate; 100% of errors kept if tail sampling is available
55
+
56
+ ## Alerting
57
+
58
+ - [ ] Every alert is symptom-based (error rate, p99 latency, queue age) — causes (CPU, disk, restarts) go to dashboards, not pagers
59
+ - [ ] Every alert is actionable; "ignore it, it self-heals" alerts are deleted
60
+ - [ ] Every alert links to a runbook — minimum three lines: what it means, first query to run, escalation path
61
+ - [ ] Thresholds and durations justified by an SLO or historical data, not guesses
62
+ - [ ] Two severities only: **page** (user-facing, act now) and **ticket** (degradation, act this week)
63
+ - [ ] Each new alert test-fired once: it reached the right channel and the runbook link works
64
+ - [ ] No alerts that fire daily and get acknowledged without action
65
+
66
+ ## Dashboards
67
+
68
+ - [ ] Service health dashboard exists: error rate, latency p99, traffic, saturation
69
+ - [ ] Dependency health panel shows per-service error rates and latency
70
+ - [ ] Dashboard answers the on-call questions from the top of this checklist — not "everything except the answer"
71
+ - [ ] Default time range is sensible (1h–6h, not 30d)
72
+
73
+ ## Verify the Telemetry
74
+
75
+ Instrumentation is code; it can be wrong:
76
+
77
+ - [ ] Forced an error in staging → found it in the logs by correlation ID
78
+ - [ ] Sent test traffic → metric series appear with expected labels and sane values
79
+ - [ ] Followed one request end-to-end in the tracing UI → no broken spans
80
+ - [ ] An induced failure was diagnosed from telemetry alone, without reading the source
81
+
82
+ ## Pre-Launch Gate
83
+
84
+ Before a feature ships to production, all of the following are true:
85
+
86
+ - [ ] Structured logs flowing to the log aggregator
87
+ - [ ] RED metrics visible in dashboards for every new endpoint and dependency
88
+ - [ ] At least one symptom-based alert configured, with runbook, test-fired
89
+ - [ ] A request can be traced across every service it touches
90
+ - [ ] On-call knows where the runbooks are
91
+
92
+ For launch-day monitoring sequence and rollback triggers, see the `shipping-and-launch` skill.