@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.
Files changed (231) hide show
  1. package/.agents/plugins/marketplace.json +23 -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 +27 -0
  12. package/.claude-plugin/plugin.json +19 -0
  13. package/.codex-plugin/plugin.json +28 -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/CHANGELOG.md +23 -0
  24. package/LICENSE +21 -0
  25. package/NOTICE.md +9 -0
  26. package/README.md +117 -2
  27. package/agents/code-reviewer.md +102 -0
  28. package/agents/security-auditor.md +112 -0
  29. package/agents/test-engineer.md +95 -0
  30. package/agents/web-performance-auditor.md +184 -0
  31. package/bin/i3-composer-agent.cjs +122 -0
  32. package/commands/build.toml +43 -0
  33. package/commands/code-simplify.toml +22 -0
  34. package/commands/constraints.toml +32 -0
  35. package/commands/planning.toml +18 -0
  36. package/commands/review.toml +16 -0
  37. package/commands/ship.toml +72 -0
  38. package/commands/spec.toml +17 -0
  39. package/commands/test.toml +19 -0
  40. package/commands/webperf.toml +32 -0
  41. package/docs/adoption-guide.md +129 -0
  42. package/docs/advanced-per-agent-configuration.md +70 -0
  43. package/docs/agents.md +123 -0
  44. package/docs/antigravity-setup.md +128 -0
  45. package/docs/codebuddy-setup.md +41 -0
  46. package/docs/codex-setup.md +34 -0
  47. package/docs/commandcode-setup.md +69 -0
  48. package/docs/comparison.md +131 -0
  49. package/docs/copilot-cli-setup.md +64 -0
  50. package/docs/copilot-setup.md +162 -0
  51. package/docs/cursor-setup.md +225 -0
  52. package/docs/developer-onboarding.md +116 -0
  53. package/docs/gemini-cli-setup.md +133 -0
  54. package/docs/getting-started.md +208 -0
  55. package/docs/opencode-setup.md +259 -0
  56. package/docs/other-hosts.md +7 -0
  57. package/docs/skill-anatomy.md +203 -0
  58. package/docs/windsurf-setup.md +48 -0
  59. package/evals/README.md +101 -0
  60. package/evals/cases/api-and-interface-design.json +45 -0
  61. package/evals/cases/browser-testing-with-devtools.json +44 -0
  62. package/evals/cases/ci-cd-and-automation.json +45 -0
  63. package/evals/cases/code-review-and-quality.json +49 -0
  64. package/evals/cases/code-simplification.json +45 -0
  65. package/evals/cases/constraint-driven-development.json +79 -0
  66. package/evals/cases/context-engineering.json +44 -0
  67. package/evals/cases/debugging-and-error-recovery.json +58 -0
  68. package/evals/cases/deprecation-and-migration.json +52 -0
  69. package/evals/cases/documentation-and-adrs.json +44 -0
  70. package/evals/cases/doubt-driven-development.json +43 -0
  71. package/evals/cases/frontend-ui-engineering.json +52 -0
  72. package/evals/cases/git-workflow-and-versioning.json +47 -0
  73. package/evals/cases/idea-refine.json +43 -0
  74. package/evals/cases/incremental-implementation.json +57 -0
  75. package/evals/cases/interview-me.json +42 -0
  76. package/evals/cases/observability-and-instrumentation.json +44 -0
  77. package/evals/cases/performance-optimization.json +53 -0
  78. package/evals/cases/planning-and-task-breakdown.json +45 -0
  79. package/evals/cases/security-and-hardening.json +53 -0
  80. package/evals/cases/shipping-and-launch.json +56 -0
  81. package/evals/cases/source-driven-development.json +44 -0
  82. package/evals/cases/spec-driven-development.json +72 -0
  83. package/evals/cases/test-driven-development.json +73 -0
  84. package/evals/cases/using-agent-skills.json +44 -0
  85. package/evals/fixtures/api-and-interface-design/service-brief.md +19 -0
  86. package/evals/fixtures/browser-testing-with-devtools/README.md +5 -0
  87. package/evals/fixtures/browser-testing-with-devtools/index.html +24 -0
  88. package/evals/fixtures/browser-testing-with-devtools/server.js +15 -0
  89. package/evals/fixtures/ci-cd-and-automation/package.json +8 -0
  90. package/evals/fixtures/ci-cd-and-automation/src/slug.js +3 -0
  91. package/evals/fixtures/ci-cd-and-automation/test/slug.test.js +9 -0
  92. package/evals/fixtures/code-review-and-quality/user-search.diff +16 -0
  93. package/evals/fixtures/code-simplification/config-parser.js +46 -0
  94. package/evals/fixtures/code-simplification/config-parser.test.js +15 -0
  95. package/evals/fixtures/context-engineering/context-audit.md +15 -0
  96. package/evals/fixtures/debugging-and-error-recovery/pagination.js +8 -0
  97. package/evals/fixtures/debugging-and-error-recovery/pagination.test.js +9 -0
  98. package/evals/fixtures/debugging-and-error-recovery/time-pressure.md +6 -0
  99. package/evals/fixtures/deprecation-and-migration/api-inventory.md +9 -0
  100. package/evals/fixtures/documentation-and-adrs/decision-context.md +16 -0
  101. package/evals/fixtures/doubt-driven-development/migration-plan.md +19 -0
  102. package/evals/fixtures/frontend-ui-engineering/Button.tsx +7 -0
  103. package/evals/fixtures/frontend-ui-engineering/design-system.md +11 -0
  104. package/evals/fixtures/git-workflow-and-versioning/.eval/working-tree.patch +21 -0
  105. package/evals/fixtures/git-workflow-and-versioning/app.js +7 -0
  106. package/evals/fixtures/git-workflow-and-versioning/app.test.js +9 -0
  107. package/evals/fixtures/incremental-implementation/reports.js +7 -0
  108. package/evals/fixtures/incremental-implementation/reports.test.js +12 -0
  109. package/evals/fixtures/incremental-implementation/tasks/plan.md +8 -0
  110. package/evals/fixtures/incremental-implementation-pressure/draft-export.js +17 -0
  111. package/evals/fixtures/incremental-implementation-pressure/scenario.md +9 -0
  112. package/evals/fixtures/observability-and-instrumentation/operations.md +11 -0
  113. package/evals/fixtures/observability-and-instrumentation/payment-retry.js +14 -0
  114. package/evals/fixtures/performance-optimization/benchmark.js +15 -0
  115. package/evals/fixtures/performance-optimization/products.js +14 -0
  116. package/evals/fixtures/planning-and-task-breakdown/notifications-spec.md +18 -0
  117. package/evals/fixtures/security-and-hardening/webhook.js +11 -0
  118. package/evals/fixtures/security-and-hardening/webhook.test.js +13 -0
  119. package/evals/fixtures/shipping-and-launch/authority-pressure.md +6 -0
  120. package/evals/fixtures/shipping-and-launch/launch-status.md +11 -0
  121. package/evals/fixtures/source-driven-development/framework-task.md +10 -0
  122. package/evals/fixtures/spec-driven-development/billing-brief.md +16 -0
  123. package/evals/fixtures/spec-driven-development-decomposition/portal-brief.md +22 -0
  124. package/evals/fixtures/test-driven-development/BUG.md +10 -0
  125. package/evals/fixtures/test-driven-development/README.md +28 -0
  126. package/evals/fixtures/test-driven-development/package.json +9 -0
  127. package/evals/fixtures/test-driven-development/src/split.js +8 -0
  128. package/evals/fixtures/test-driven-development/test/split.test.js +13 -0
  129. package/evals/fixtures/test-driven-development-ecosystem/README.md +9 -0
  130. package/evals/fixtures/test-driven-development-ecosystem/ledger.py +15 -0
  131. package/evals/fixtures/test-driven-development-ecosystem/test_ledger.py +19 -0
  132. package/evals/fixtures/using-agent-skills/incident.md +6 -0
  133. package/evals/plugin/code-review-fires/graders/off-by-one.md +7 -0
  134. package/evals/plugin/code-review-fires/graders/severity-labels.md +4 -0
  135. package/evals/plugin/code-review-fires/graders/skill-fired.md +5 -0
  136. package/evals/plugin/code-review-fires/prompt.md +31 -0
  137. package/evals/plugin/code-review-stays-quiet/graders/not-fired.md +8 -0
  138. package/evals/plugin/code-review-stays-quiet/graders/tdd-fired.md +6 -0
  139. package/evals/plugin/code-review-stays-quiet/prompt.md +8 -0
  140. package/evals/plugin/code-review-stays-quiet-on-commit-message/graders/not-fired.md +8 -0
  141. package/evals/plugin/code-review-stays-quiet-on-commit-message/prompt.md +25 -0
  142. package/evals/skill-impact.md +6 -0
  143. package/hooks/SDD-CACHE.md +167 -0
  144. package/hooks/SIMPLIFY-IGNORE.md +91 -0
  145. package/hooks/sdd-cache-post.sh +135 -0
  146. package/hooks/sdd-cache-pre.sh +106 -0
  147. package/hooks/sdd-cache-test.sh +246 -0
  148. package/hooks/session-start-test.sh +47 -0
  149. package/hooks/session-start.sh +33 -0
  150. package/hooks/simplify-ignore-test.sh +476 -0
  151. package/hooks/simplify-ignore.sh +352 -0
  152. package/package.json +89 -4
  153. package/plugin.json +7 -0
  154. package/rebrand/MAINTENANCE.md +112 -0
  155. package/rebrand/NOTICE.md +9 -0
  156. package/rebrand/PR-WORKFLOW.md +34 -0
  157. package/rebrand/UNIFICATION-SPEC.md +33 -0
  158. package/rebrand/VALIDATION.md +28 -0
  159. package/rebrand/VERSIONING.md +32 -0
  160. package/rebrand/apply.cjs +194 -0
  161. package/rebrand/brand.json +13 -0
  162. package/rebrand/catalog.cjs +56 -0
  163. package/rebrand/fork-patches.json +12 -0
  164. package/rebrand/overlay/.github/workflows/test-plugin-install.yml +177 -0
  165. package/rebrand/overlay/CHANGELOG.md +23 -0
  166. package/rebrand/overlay/bin/i3-composer-agent.cjs +122 -0
  167. package/rebrand/overlay/scripts/validate-brand.cjs +44 -0
  168. package/rebrand/overlay/tests/bundle.test.cjs +85 -0
  169. package/rebrand/package.template.json +82 -0
  170. package/rebrand/rebrand.sh +4 -0
  171. package/rebrand/record-upstream.cjs +37 -0
  172. package/rebrand/templates/README.md +86 -0
  173. package/rebrand/templates/codebuddy-setup.md +41 -0
  174. package/rebrand/templates/codex-setup.md +34 -0
  175. package/rebrand/tests/pipeline.test.cjs +185 -0
  176. package/rebrand/upstream.json +171 -0
  177. package/references/accessibility-checklist.md +160 -0
  178. package/references/definition-of-done.md +67 -0
  179. package/references/observability-checklist.md +92 -0
  180. package/references/orchestration-patterns.md +370 -0
  181. package/references/performance-checklist.md +236 -0
  182. package/references/security-checklist.md +248 -0
  183. package/references/testing-patterns.md +235 -0
  184. package/scripts/floor-guard-reference-test.js +291 -0
  185. package/scripts/lib/skill-lint-test.js +650 -0
  186. package/scripts/lib/skill-lint.js +584 -0
  187. package/scripts/run-evals-test.js +623 -0
  188. package/scripts/run-evals.js +638 -0
  189. package/scripts/validate-artifact-paths-test.js +179 -0
  190. package/scripts/validate-artifact-paths.js +128 -0
  191. package/scripts/validate-brand.cjs +44 -0
  192. package/scripts/validate-commands-test.js +216 -0
  193. package/scripts/validate-commands.js +222 -0
  194. package/scripts/validate-reference-links-test.js +495 -0
  195. package/scripts/validate-reference-links.js +187 -0
  196. package/scripts/validate-skills.js +69 -0
  197. package/scripts/validate-versions-test.js +32 -0
  198. package/scripts/validate-versions.js +35 -0
  199. package/skills/api-and-interface-design/SKILL.md +367 -0
  200. package/skills/browser-testing-with-devtools/SKILL.md +317 -0
  201. package/skills/ci-cd-and-automation/SKILL.md +390 -0
  202. package/skills/code-review-and-quality/SKILL.md +398 -0
  203. package/skills/code-simplification/SKILL.md +331 -0
  204. package/skills/constraint-driven-development/SKILL.md +311 -0
  205. package/skills/constraint-driven-development/references/floor-guard.md +182 -0
  206. package/skills/context-engineering/SKILL.md +353 -0
  207. package/skills/debugging-and-error-recovery/SKILL.md +300 -0
  208. package/skills/deprecation-and-migration/SKILL.md +247 -0
  209. package/skills/documentation-and-adrs/SKILL.md +288 -0
  210. package/skills/doubt-driven-development/SKILL.md +243 -0
  211. package/skills/frontend-ui-engineering/SKILL.md +340 -0
  212. package/skills/git-workflow-and-versioning/SKILL.md +355 -0
  213. package/skills/idea-refine/SKILL.md +178 -0
  214. package/skills/idea-refine/examples.md +238 -0
  215. package/skills/idea-refine/frameworks.md +99 -0
  216. package/skills/idea-refine/refinement-criteria.md +113 -0
  217. package/skills/idea-refine/scripts/idea-refine.sh +15 -0
  218. package/skills/incremental-implementation/SKILL.md +249 -0
  219. package/skills/interview-me/SKILL.md +235 -0
  220. package/skills/observability-and-instrumentation/SKILL.md +238 -0
  221. package/skills/performance-optimization/SKILL.md +267 -0
  222. package/skills/performance-optimization/references/optimization-patterns.md +250 -0
  223. package/skills/planning-and-task-breakdown/SKILL.md +257 -0
  224. package/skills/security-and-hardening/SKILL.md +216 -0
  225. package/skills/security-and-hardening/references/hardening-patterns.md +324 -0
  226. package/skills/shipping-and-launch/SKILL.md +330 -0
  227. package/skills/source-driven-development/SKILL.md +216 -0
  228. package/skills/spec-driven-development/SKILL.md +259 -0
  229. package/skills/test-driven-development/SKILL.md +398 -0
  230. package/skills/using-agent-skills/SKILL.md +192 -0
  231. package/tests/bundle.test.cjs +85 -0
@@ -0,0 +1,23 @@
1
+ {
2
+ "name": "i3-composer-agent",
3
+ "interface": {
4
+ "displayName": "i3 Composer Agent"
5
+ },
6
+ "plugins": [
7
+ {
8
+ "name": "i3-composer-agent",
9
+ "version": "1.0.0",
10
+ "description": "Production-grade engineering skills for AI coding agents covering the development lifecycle from spec to ship.",
11
+ "source": {
12
+ "source": "local",
13
+ "path": "./"
14
+ },
15
+ "policy": {
16
+ "installation": "AVAILABLE",
17
+ "authentication": "ON_INSTALL"
18
+ },
19
+ "category": "Productivity",
20
+ "homepage": "https://github.com/49780522/i3-composer-agent"
21
+ }
22
+ ]
23
+ }
@@ -0,0 +1,44 @@
1
+ ---
2
+ description: Implement tasks incrementally — build, test, verify, commit. Add "auto" to run the whole plan in one approved pass.
3
+ ---
4
+
5
+ Invoke the i3-composer-agent:incremental-implementation skill alongside i3-composer-agent:test-driven-development.
6
+
7
+ ## Modes
8
+
9
+ - **`/build`** — implement the *next* pending task, then stop (careful, one slice at a time).
10
+ - **`/build auto`** — generate the plan if needed, get a single approval, then implement *every* task without stopping between them.
11
+
12
+ `$ARGUMENTS` selects the mode. Treat `auto` (canonical) or `all` as autonomous mode; anything else (or empty) is the default single-task mode. Note: autonomous mode is not faster *per task* — it runs the same test-driven loop — it only removes the human stepping *between* tasks.
13
+
14
+ ## Default: one task
15
+
16
+ Pick the next pending task from the plan. Then:
17
+
18
+ 1. Read the task's acceptance criteria
19
+ 2. Load relevant context (existing code, patterns, types)
20
+ 3. Write a failing test for the expected behavior (RED)
21
+ 4. Implement the minimum code to pass the test (GREEN)
22
+ 5. Run the full test suite to check for regressions
23
+ 6. Run the build to verify compilation
24
+ 7. Commit with a descriptive message
25
+ 8. Mark the task complete and stop
26
+
27
+ ## Autonomous: the whole plan (`/build auto`)
28
+
29
+ Use this once a spec exists and you want to collapse plan + build into one run. It removes the manual stepping between tasks — **not** the verification. Every task still earns a passing test and its own commit.
30
+
31
+ 1. **Require a spec.** Look only for a spec at a known path: `SPEC.md` at the repo root, `docs/SPEC.md`, or a file under `spec/`. A README or arbitrary doc does **not** count. If none exists, stop and tell the user to run `/spec` first — do not invent requirements.
32
+ 2. **Establish a clean baseline.** Run `git status --porcelain`. If there are uncommitted changes outside the expected planning artifacts (`SPEC.md`, `docs/SPEC.md`, `spec/*`, `tasks/plan.md`, `tasks/todo.md`), stop and ask the user to commit, stash, or confirm how to handle them. Autonomous per-task commits must not absorb unrelated local work, or the clean-rollback guarantee breaks.
33
+ 3. **Plan if needed.** If there is no `tasks/plan.md`, invoke i3-composer-agent:planning-and-task-breakdown to generate one.
34
+ 4. **Single checkpoint.** Present the full plan and wait for an unambiguous affirmative (e.g. "approve", "go", "yes"). Treat hedged responses ("looks reasonable", "I guess") as **not** approved. This is the only human gate — after approval, run autonomously. If you generated `tasks/plan.md`, commit it as a single preparatory commit now so it doesn't bleed into the first task's commit.
35
+ 5. **Execute every task in dependency order.** Use each task's declared dependencies; if they aren't explicit, execute in the order the plan lists them. For each task, run the full default loop above (RED → GREEN → regression → build → commit → mark complete). Stage only the files that task touched plus its task-status update — never `git add -A` blindly — and make one commit per task so any point is a clean rollback.
36
+ 6. **Stop and ask the user** (do not push through) when:
37
+ - a test can't be made to pass or the build breaks without an obvious fix → follow i3-composer-agent:debugging-and-error-recovery
38
+ - the spec is ambiguous, or a task needs a decision the spec doesn't cover
39
+ - a task is high-risk or irreversible — auth/permission changes, destructive data migrations, payments, deletions, deploys, anything touching secrets, **or anything you can't undo with `git revert`** → follow i3-composer-agent:doubt-driven-development and get explicit sign-off before continuing
40
+
41
+ After the user resolves a blocker, they re-invoke `/build auto` — it resumes from the next pending task.
42
+ 7. **Summarize at the end:** tasks completed, tests added, commits made, and anything skipped, flagged, or left for the user.
43
+
44
+ If any step fails, follow the i3-composer-agent:debugging-and-error-recovery skill.
@@ -0,0 +1,22 @@
1
+ ---
2
+ description: Simplify code for clarity and maintainability — reduce complexity without changing behavior
3
+ ---
4
+
5
+ Invoke the i3-composer-agent:code-simplification skill.
6
+
7
+ Simplify recently changed code (or the specified scope) while preserving exact behavior:
8
+
9
+ 1. Read CLAUDE.md and study project conventions
10
+ 2. Identify the target code — recent changes unless a broader scope is specified
11
+ 3. Understand the code's purpose, callers, edge cases, and test coverage before touching it
12
+ 4. Scan for simplification opportunities:
13
+ - Deep nesting → guard clauses or extracted helpers
14
+ - Long functions → split by responsibility
15
+ - Nested ternaries → if/else or switch
16
+ - Generic names → descriptive names
17
+ - Duplicated logic → shared functions
18
+ - Dead code → remove after confirming
19
+ 5. Apply each simplification incrementally — run tests after each change
20
+ 6. Verify all tests pass, the build succeeds, and the diff is clean
21
+
22
+ If tests fail after a simplification, revert that change and reconsider. Use `code-review-and-quality` to review the result.
@@ -0,0 +1,32 @@
1
+ ---
2
+ description: Define and enforce this project's quality bar — interview, sane defaults, CONSTRAINTS.md
3
+ ---
4
+
5
+ Invoke the i3-composer-agent:constraint-driven-development skill.
6
+
7
+ $ARGUMENTS
8
+
9
+ Default behaviour with no arguments: set up constraints for this repository.
10
+
11
+ 1. **Detect first.** Read package.json / pyproject.toml / go.mod, the test runner, existing lint configs, current coverage output, CI workflows, and the agent harness in use. Report what you found in two lines. Never ask for anything you can read.
12
+
13
+ 2. **Interview, at most four questions.** One at a time, each with your best guess and a usable default so "I don't know" still produces a working config:
14
+ - Which dimensions beyond the floor (coverage, security, performance, accessibility, architecture)
15
+ - Block or warn when a check fails mid-task
16
+ - Target numbers, or measure today's values and hold them
17
+ - Slowest check tolerated before handing work back
18
+
19
+ 3. **Write CONSTRAINTS.md** at the repo root with a Floor section, enforced numbers, measured-only metrics with today's values, and an exceptions table with owners and expiry dates. Every number needs a stated reason.
20
+
21
+ 4. **Install what each picked dimension needs.** A dimension with a number and no tool behind it is an aspiration. Use the de facto tool so existing config keeps working: Semgrep for code scanning, gitleaks (always `--redact`) for secrets, osv-scanner for dependencies, axe-core for accessibility, Lighthouse for web vitals, size-limit for bundles, dependency-cruiser for boundaries, Stryker for assertion quality. Record the exact command next to each rule in CONSTRAINTS.md. Accessibility and performance need a running URL; if the project has none, say so and drop the dimension rather than inventing a check. Add the commands to package.json as check:fast / check:task / check:full.
22
+
23
+ 5. **Place each check by cost.** Types, lint and secrets in the edit loop (seconds). Related tests and changed-line coverage at task end (under 90s). Everything else at review or in CI. Scope checks to the diff, not the whole repo.
24
+
25
+ 6. **Point the agent at it.** Add a line to CLAUDE.md telling agents to read CONSTRAINTS.md and never weaken it to make a change pass.
26
+
27
+ 7. **Verify.** Run the constraints against the current branch. If anything fails that the user disagrees with, fix the constraint now rather than leaving a gate people will learn to ignore.
28
+
29
+ Sub-commands:
30
+ - `/constraints check` — run the current constraints against this branch and report
31
+ - `/constraints guard` — inspect the diff for a weakened bar: lowered thresholds, skipped or deleted tests, new suppression comments, unfinished stubs, new exceptions
32
+ - `/constraints ratchet` — record today's measured values as the floor that must not fall
@@ -0,0 +1,18 @@
1
+ ---
2
+ description: Break work into small verifiable tasks with acceptance criteria and dependency ordering
3
+ ---
4
+
5
+ Invoke the i3-composer-agent:planning-and-task-breakdown skill.
6
+
7
+ Read the existing spec (SPEC.md or equivalent) and the relevant codebase sections. Then:
8
+
9
+ 1. Enter plan mode — read only, no code changes
10
+ 2. Identify the dependency graph between components
11
+ 3. Slice work vertically (one complete path per task, not horizontal layers)
12
+ 4. Write tasks with acceptance criteria and verification steps
13
+ 5. Add checkpoints between phases
14
+ 6. Present the plan for human review
15
+
16
+ Save the plan to tasks/plan.md and task list to tasks/todo.md.
17
+
18
+ If tasks/plan.md or tasks/todo.md already exists with unchecked tasks for different work, stop and ask before writing — never silently overwrite an incomplete plan.
@@ -0,0 +1,16 @@
1
+ ---
2
+ description: Conduct a five-axis code review — correctness, readability, architecture, security, performance
3
+ ---
4
+
5
+ Invoke the i3-composer-agent:code-review-and-quality skill.
6
+
7
+ Review the current changes (staged or recent commits) across all five axes:
8
+
9
+ 1. **Correctness** — Does it match the spec? Edge cases handled? Tests adequate?
10
+ 2. **Readability** — Clear names? Straightforward logic? Well-organized?
11
+ 3. **Architecture** — Follows existing patterns? Clean boundaries? Right abstraction level?
12
+ 4. **Security** — Input validated? Secrets safe? Auth checked? (Use security-and-hardening skill)
13
+ 5. **Performance** — No N+1 queries? No unbounded ops? (Use performance-optimization skill)
14
+
15
+ Categorize findings as Critical, Important, or Suggestion.
16
+ Output a structured review with specific file:line references and fix recommendations.
@@ -0,0 +1,72 @@
1
+ ---
2
+ description: Run the pre-launch checklist via parallel fan-out to specialist personas, then synthesize a go/no-go decision
3
+ ---
4
+
5
+ Invoke the i3-composer-agent:shipping-and-launch skill.
6
+
7
+ `/ship` is a **fan-out orchestrator**. It runs three specialist personas in parallel against the current change, then merges their reports into a single go/no-go decision with a rollback plan. The personas operate independently — no shared state, no ordering — which is what makes parallel execution safe and useful here.
8
+
9
+ ## Phase A — Parallel fan-out
10
+
11
+ Spawn three subagents concurrently using the Agent tool. **Issue all three Agent tool calls in a single assistant turn so they execute in parallel** — sequential calls defeat the purpose of this command.
12
+
13
+ In Claude Code, each call passes `subagent_type` matching the persona's `name` field:
14
+
15
+ 1. **`code-reviewer`** — Run a five-axis review (correctness, readability, architecture, security, performance) on the staged changes or recent commits. Output the standard review template.
16
+ 2. **`security-auditor`** — Run a vulnerability and threat-model pass. Check OWASP Top 10, secrets handling, auth/authz, dependency CVEs. Output the standard audit report.
17
+ 3. **`test-engineer`** — Analyze test coverage for the change. Identify gaps in happy path, edge cases, error paths, and concurrency scenarios. Output the standard coverage analysis.
18
+
19
+ In other harnesses without an Agent tool, invoke each persona's system prompt sequentially and treat their outputs as if returned in parallel — the merge phase still works.
20
+
21
+ Constraints (from Claude Code's subagent model):
22
+ - Subagents cannot spawn other subagents — do not let one persona delegate to another.
23
+ - Each subagent gets its own context window and returns only its report to this main session.
24
+ - If you need teammates that talk to each other instead of just reporting back, use Claude Code Agent Teams and reference these personas as teammate types (see `references/orchestration-patterns.md`).
25
+
26
+ **Persona resolution.** If you've defined your own `code-reviewer`, `security-auditor`, or `test-engineer` in `.claude/agents/` or `~/.claude/agents/`, those take precedence over this plugin's versions — `/ship` picks up your customizations automatically. This is intentional: plugin subagents sit at the bottom of Claude Code's scope priority table, so user-level definitions win by design.
27
+
28
+ ## Phase B — Merge in main context
29
+
30
+ Once all three reports are back, the main agent (not a sub-persona) synthesizes them:
31
+
32
+ 1. **Code Quality** — Aggregate Critical/Important findings from `code-reviewer` and any failing tests, lint, or build output. Resolve duplicates between reviewers.
33
+ 2. **Security** — Promote any Critical/High `security-auditor` findings to launch blockers. Cross-reference with `code-reviewer`'s security axis.
34
+ 3. **Performance** — Pull from `code-reviewer`'s performance axis; cross-check Core Web Vitals if applicable.
35
+ 4. **Accessibility** — Verify keyboard nav, screen reader support, contrast (not covered by the three personas — handle directly here, or invoke the accessibility checklist).
36
+ 5. **Infrastructure** — Env vars, migrations, monitoring, feature flags. Verify directly.
37
+ 6. **Documentation** — README, ADRs, changelog. Verify directly.
38
+
39
+ ## Phase C — Decision and rollback
40
+
41
+ Produce a single output:
42
+
43
+ ```markdown
44
+ ## Ship Decision: GO | NO-GO
45
+
46
+ ### Blockers (must fix before ship)
47
+ - [Source persona: Critical finding + file:line]
48
+
49
+ ### Recommended fixes (should fix before ship)
50
+ - [Source persona: Important finding + file:line]
51
+
52
+ ### Acknowledged risks (shipping anyway)
53
+ - [Risk + mitigation]
54
+
55
+ ### Rollback plan
56
+ - Trigger conditions: [what signals would prompt rollback]
57
+ - Rollback procedure: [exact steps]
58
+ - Recovery time objective: [target]
59
+
60
+ ### Specialist reports (full)
61
+ - [code-reviewer report]
62
+ - [security-auditor report]
63
+ - [test-engineer report]
64
+ ```
65
+
66
+ ## Rules
67
+
68
+ 1. The three Phase A personas run in parallel — never sequentially.
69
+ 2. Personas do not call each other. The main agent merges in Phase B.
70
+ 3. The rollback plan is mandatory before any GO decision.
71
+ 4. If any persona returns a Critical finding, the default verdict is NO-GO unless the user explicitly accepts the risk.
72
+ 5. **Skip the fan-out only if all of the following are true:** the change touches 2 files or fewer, the diff is under 50 lines, and it does not touch auth, payments, data access, or config/env. Otherwise, default to fan-out. `/ship` is designed for production-bound changes — when the blast radius is non-trivial, run the parallel review even if the diff looks small.
@@ -0,0 +1,17 @@
1
+ ---
2
+ description: Start spec-driven development — write a structured specification before writing code
3
+ ---
4
+
5
+ Invoke the i3-composer-agent:spec-driven-development skill.
6
+
7
+ Begin by understanding what the user wants to build. Ask clarifying questions about:
8
+ 1. The objective and target users
9
+ 2. Core features and acceptance criteria
10
+ 3. Tech stack preferences and constraints
11
+ 4. Known boundaries (what to always do, ask first about, and never do)
12
+
13
+ Then generate a structured spec covering all six core areas: objective, commands, project structure, code style, testing strategy, and boundaries.
14
+
15
+ If the request bundles several independently testable capabilities, first propose a capability map (module ids, dependency direction, build order) per the skill's Phase 0 and get it approved, then spec each module in dependency order.
16
+
17
+ Save the spec as SPEC.md in the project root and confirm with the user before proceeding.
@@ -0,0 +1,19 @@
1
+ ---
2
+ description: Run TDD workflow — write failing tests, implement, verify. For bugs, use the Prove-It pattern.
3
+ ---
4
+
5
+ Invoke the i3-composer-agent:test-driven-development skill.
6
+
7
+ For new features:
8
+ 1. Write tests that describe the expected behavior (they should FAIL)
9
+ 2. Implement the code to make them pass
10
+ 3. Refactor while keeping tests green
11
+
12
+ For bug fixes (Prove-It pattern):
13
+ 1. Write a test that reproduces the bug (must FAIL)
14
+ 2. Confirm the test fails
15
+ 3. Implement the fix
16
+ 4. Confirm the test passes
17
+ 5. Run the full test suite for regressions
18
+
19
+ For browser-related issues, also invoke i3-composer-agent:browser-testing-with-devtools to verify with Chrome DevTools MCP.
@@ -0,0 +1,32 @@
1
+ ---
2
+ description: Run a web performance audit via the web-performance-auditor persona
3
+ ---
4
+
5
+ `/webperf` targets web applications specifically. Do not use it for utility libraries, CLIs, or server-only code with no browser-facing output.
6
+
7
+ ## Determine the mode
8
+
9
+ **Deep mode** — activate when any of these is available:
10
+ - A Lighthouse JSON report file (e.g. `npx lighthouse <url> --output json --output-path ./report.json`, or `npx -p chrome-devtools-mcp chrome-devtools lighthouse_audit --output-format=json` from the Chrome DevTools MCP CLI)
11
+ - A PageSpeed Insights JSON response (includes Lighthouse + CrUX)
12
+ - A CrUX API response (requires `CRUX_API_KEY` or `GOOGLE_API_KEY`)
13
+ - A DevTools performance trace
14
+ - A live URL plus the `chrome-devtools` MCP server configured in the harness (the agent can capture metrics directly via `lighthouse_audit` and `performance_*` tools)
15
+ - The Chrome DevTools MCP CLI invoked locally (via `npx -p chrome-devtools-mcp chrome-devtools <tool>` or after `npm i -g chrome-devtools-mcp`) — the user runs commands like `chrome-devtools lighthouse_audit --output-format=json` and passes the JSON output to the agent
16
+
17
+ **Quick mode** — default when none of the above are available. The agent scans source code for structural anti-patterns and labels every finding as `potential impact`.
18
+
19
+ ## Run the audit
20
+
21
+ Spawn the `web-performance-auditor` subagent. Pass it explicitly:
22
+
23
+ - The files, components, or diff under review
24
+ - Any artifact paths (Lighthouse JSON, PSI JSON, CrUX response, trace) or pasted JSON content
25
+ - The target URL or page name when known
26
+ - A note on which mode you expect (Quick or Deep), so the agent surfaces missing inputs if Deep was intended
27
+
28
+ The subagent returns a scorecard (only populated with sourced values), a ranked list of findings, positive observations, and proactive recommendations.
29
+
30
+ ## Output
31
+
32
+ Return the full audit report to the user. No synthesis or merge step is needed — this is a single-persona command.
@@ -0,0 +1,27 @@
1
+ {
2
+ "$schema": "https://json.schemastore.org/claude-code-marketplace.json",
3
+ "name": "i3-composer-agent",
4
+ "description": "Production-grade engineering skills for AI coding agents covering the development lifecycle from spec to ship.",
5
+ "owner": {
6
+ "name": "Givolt"
7
+ },
8
+ "plugins": [
9
+ {
10
+ "name": "i3-composer-agent",
11
+ "version": "1.0.0",
12
+ "source": "./",
13
+ "description": "Production-grade engineering skills for AI coding agents covering the development lifecycle from spec to ship.",
14
+ "homepage": "https://github.com/49780522/i3-composer-agent",
15
+ "license": "MIT",
16
+ "keywords": [
17
+ "skills",
18
+ "agents",
19
+ "engineering",
20
+ "spec",
21
+ "tdd",
22
+ "review",
23
+ "ship"
24
+ ]
25
+ }
26
+ ]
27
+ }
@@ -0,0 +1,19 @@
1
+ {
2
+ "name": "i3-composer-agent",
3
+ "version": "1.0.0",
4
+ "description": "Production-grade engineering skills for AI coding agents covering the development lifecycle from spec to ship.",
5
+ "author": {
6
+ "name": "Givolt"
7
+ },
8
+ "homepage": "https://github.com/49780522/i3-composer-agent",
9
+ "repository": "https://github.com/49780522/i3-composer-agent",
10
+ "license": "MIT",
11
+ "commands": [
12
+ "./.claude/commands",
13
+ "./commands"
14
+ ],
15
+ "skills": "./skills",
16
+ "experimental": {
17
+ "evals": "evals/plugin"
18
+ }
19
+ }
@@ -0,0 +1,28 @@
1
+ {
2
+ "name": "i3-composer-agent",
3
+ "version": "1.0.0",
4
+ "description": "Production-grade engineering skills for AI coding agents covering the development lifecycle from spec to ship.",
5
+ "author": {
6
+ "name": "Givolt"
7
+ },
8
+ "homepage": "https://github.com/49780522/i3-composer-agent",
9
+ "repository": "https://github.com/49780522/i3-composer-agent",
10
+ "license": "MIT",
11
+ "skills": "./skills/",
12
+ "interface": {
13
+ "displayName": "i3 Composer Agent",
14
+ "shortDescription": "Engineering workflow skills",
15
+ "longDescription": "i3 Composer Agent packages 25 engineering skills from Addy Osmani's Agent Skills, covering requirements, planning, implementation, testing, review, and shipping.",
16
+ "developerName": "Givolt",
17
+ "category": "Productivity",
18
+ "capabilities": [
19
+ "Interactive",
20
+ "Read",
21
+ "Write"
22
+ ],
23
+ "defaultPrompt": [
24
+ "Help me choose the right engineering workflow for this task",
25
+ "Plan and implement this change using the relevant i3 Composer Agent"
26
+ ]
27
+ }
28
+ }
@@ -0,0 +1,43 @@
1
+ description = "Implement tasks incrementally — build, test, verify, commit. Add \"auto\" to run the whole plan in one approved pass."
2
+
3
+ prompt = """
4
+ Invoke the incremental-implementation skill alongside test-driven-development.
5
+
6
+ ## Modes
7
+
8
+ - `/build` — implement the next pending task, then stop (careful, one slice at a time).
9
+ - `/build auto` — generate the plan if needed, get a single approval, then implement every task without stopping between them.
10
+
11
+ The arguments select the mode. Treat `auto` (canonical) or `all` as autonomous mode; anything else (or empty) is the default single-task mode. Note: autonomous mode is not faster per task — it runs the same test-driven loop — it only removes the human stepping between tasks.
12
+
13
+ ## Default: one task
14
+
15
+ Pick the next pending task from the plan. Then:
16
+
17
+ 1. Read the task's acceptance criteria
18
+ 2. Load relevant context (existing code, patterns, types)
19
+ 3. Write a failing test for the expected behavior (RED)
20
+ 4. Implement the minimum code to pass the test (GREEN)
21
+ 5. Run the full test suite to check for regressions
22
+ 6. Run the build to verify compilation
23
+ 7. Commit with a descriptive message
24
+ 8. Mark the task complete and stop
25
+
26
+ ## Autonomous: the whole plan (`/build auto`)
27
+
28
+ Use this once a spec exists and you want to collapse plan + build into one run. It removes the manual stepping between tasks — not the verification. Every task still earns a passing test and its own commit.
29
+
30
+ 1. Require a spec. Look only for a spec at a known path: SPEC.md at the repo root, docs/SPEC.md, or a file under spec/. A README or arbitrary doc does NOT count. If none exists, stop and tell the user to run /spec first — do not invent requirements.
31
+ 2. Establish a clean baseline. Run `git status --porcelain`. If there are uncommitted changes outside the expected planning artifacts (SPEC.md, docs/SPEC.md, spec/*, tasks/plan.md, tasks/todo.md), stop and ask the user to commit, stash, or confirm how to handle them. Autonomous per-task commits must not absorb unrelated local work, or the clean-rollback guarantee breaks.
32
+ 3. Plan if needed. If there is no tasks/plan.md, invoke the planning-and-task-breakdown skill to generate one.
33
+ 4. Single checkpoint. Present the full plan and wait for an unambiguous affirmative (e.g. "approve", "go", "yes"). Treat hedged responses ("looks reasonable", "I guess") as NOT approved. This is the only human gate — after approval, run autonomously. If you generated tasks/plan.md, commit it as a single preparatory commit now so it doesn't bleed into the first task's commit.
34
+ 5. Execute every task in dependency order. Use each task's declared dependencies; if they aren't explicit, execute in the order the plan lists them. For each task, run the full default loop above (RED → GREEN → regression → build → commit → mark complete). Stage only the files that task touched plus its task-status update — never `git add -A` blindly — and make one commit per task so any point is a clean rollback.
35
+ 6. Stop and ask the user (do not push through) when:
36
+ - a test can't be made to pass or the build breaks without an obvious fix → follow the debugging-and-error-recovery skill
37
+ - the spec is ambiguous, or a task needs a decision the spec doesn't cover
38
+ - a task is high-risk or irreversible — auth/permission changes, destructive data migrations, payments, deletions, deploys, anything touching secrets, or anything you can't undo with `git revert` → follow the doubt-driven-development skill and get explicit sign-off before continuing
39
+ After the user resolves a blocker, they re-invoke /build auto — it resumes from the next pending task.
40
+ 7. Summarize at the end: tasks completed, tests added, commits made, and anything skipped, flagged, or left for the user.
41
+
42
+ If any step fails, follow the debugging-and-error-recovery skill.
43
+ """
@@ -0,0 +1,22 @@
1
+ description = "Simplify code for clarity and maintainability — reduce complexity without changing behavior"
2
+
3
+ prompt = """
4
+ Invoke the code-simplification skill.
5
+
6
+ Simplify recently changed code (or the specified scope) while preserving exact behavior:
7
+
8
+ 1. Read GEMINI.md and study project conventions
9
+ 2. Identify the target code — recent changes unless a broader scope is specified
10
+ 3. Understand the code's purpose, callers, edge cases, and test coverage before touching it
11
+ 4. Scan for simplification opportunities:
12
+ - Deep nesting → guard clauses or extracted helpers
13
+ - Long functions → split by responsibility
14
+ - Nested ternaries → if/else or switch
15
+ - Generic names → descriptive names
16
+ - Duplicated logic → shared functions
17
+ - Dead code → remove after confirming
18
+ 5. Apply each simplification incrementally — run tests after each change
19
+ 6. Verify all tests pass, the build succeeds, and the diff is clean
20
+
21
+ If tests fail after a simplification, revert that change and reconsider. Use `code-review-and-quality` to review the result.
22
+ """
@@ -0,0 +1,32 @@
1
+ description = "Define and enforce this project's quality bar — interview, sane defaults, CONSTRAINTS.md"
2
+
3
+ prompt = """
4
+ Invoke the constraint-driven-development skill.
5
+
6
+ $ARGUMENTS
7
+
8
+ Default behaviour with no arguments: set up constraints for this repository.
9
+
10
+ 1. **Detect first.** Read package.json / pyproject.toml / go.mod, the test runner, existing lint configs, current coverage output, CI workflows, and the agent harness in use. Report what you found in two lines. Never ask for anything you can read.
11
+
12
+ 2. **Interview, at most four questions.** One at a time, each with your best guess and a usable default so "I don't know" still produces a working config:
13
+ - Which dimensions beyond the floor (coverage, security, performance, accessibility, architecture)
14
+ - Block or warn when a check fails mid-task
15
+ - Target numbers, or measure today's values and hold them
16
+ - Slowest check tolerated before handing work back
17
+
18
+ 3. **Write CONSTRAINTS.md** at the repo root with a Floor section, enforced numbers, measured-only metrics with today's values, and an exceptions table with owners and expiry dates. Every number needs a stated reason.
19
+
20
+ 4. **Install what each picked dimension needs.** A dimension with a number and no tool behind it is an aspiration. Use the de facto tool so existing config keeps working: Semgrep for code scanning, gitleaks (always `--redact`) for secrets, osv-scanner for dependencies, axe-core for accessibility, Lighthouse for web vitals, size-limit for bundles, dependency-cruiser for boundaries, Stryker for assertion quality. Record the exact command next to each rule in CONSTRAINTS.md. Accessibility and performance need a running URL; if the project has none, say so and drop the dimension rather than inventing a check. Add the commands to package.json as check:fast / check:task / check:full.
21
+
22
+ 5. **Place each check by cost.** Types, lint and secrets in the edit loop (seconds). Related tests and changed-line coverage at task end (under 90s). Everything else at review or in CI. Scope checks to the diff, not the whole repo.
23
+
24
+ 6. **Point the agent at it.** Add a line to AGENTS.md and GEMINI.md telling agents to read CONSTRAINTS.md and never weaken it to make a change pass.
25
+
26
+ 7. **Verify.** Run the constraints against the current branch. If anything fails that the user disagrees with, fix the constraint now rather than leaving a gate people will learn to ignore.
27
+
28
+ Sub-commands:
29
+ - `/constraints check` — run the current constraints against this branch and report
30
+ - `/constraints guard` — inspect the diff for a weakened bar: lowered thresholds, skipped or deleted tests, new suppression comments, unfinished stubs, new exceptions
31
+ - `/constraints ratchet` — record today's measured values as the floor that must not fall
32
+ """
@@ -0,0 +1,18 @@
1
+ description = "Break work into small verifiable tasks with acceptance criteria and dependency ordering"
2
+
3
+ prompt = """
4
+ Invoke the planning-and-task-breakdown skill.
5
+
6
+ Read the existing spec (SPEC.md or equivalent) and the relevant codebase sections. Then:
7
+
8
+ 1. Enter plan mode — read only, no code changes
9
+ 2. Identify the dependency graph between components
10
+ 3. Slice work vertically (one complete path per task, not horizontal layers)
11
+ 4. Write tasks with acceptance criteria and verification steps
12
+ 5. Add checkpoints between phases
13
+ 6. Present the plan for human review
14
+
15
+ Save the plan to tasks/plan.md and task list to tasks/todo.md.
16
+
17
+ If tasks/plan.md or tasks/todo.md already exists with unchecked tasks for different work, stop and ask before writing — never silently overwrite an incomplete plan.
18
+ """
@@ -0,0 +1,16 @@
1
+ description = "Conduct a five-axis code review — correctness, readability, architecture, security, performance"
2
+
3
+ prompt = """
4
+ Invoke the code-review-and-quality skill.
5
+
6
+ Review the current changes (staged or recent commits) across all five axes:
7
+
8
+ 1. **Correctness** — Does it match the spec? Edge cases handled? Tests adequate?
9
+ 2. **Readability** — Clear names? Straightforward logic? Well-organized?
10
+ 3. **Architecture** — Follows existing patterns? Clean boundaries? Right abstraction level?
11
+ 4. **Security** — Input validated? Secrets safe? Auth checked? (Use security-and-hardening skill)
12
+ 5. **Performance** — No N+1 queries? No unbounded ops? (Use performance-optimization skill)
13
+
14
+ Categorize findings as Critical, Important, or Suggestion.
15
+ Output a structured review with specific file:line references and fix recommendations.
16
+ """
@@ -0,0 +1,72 @@
1
+ description = "Run the pre-launch checklist via parallel fan-out to specialist personas, then synthesize a go/no-go decision"
2
+
3
+ prompt = """
4
+ Invoke the shipping-and-launch skill.
5
+
6
+ `/ship` is a **fan-out orchestrator**. It runs three specialist personas in parallel against the current change, then merges their reports into a single go/no-go decision with a rollback plan. The personas operate independently — no shared state, no ordering — which is what makes parallel execution safe and useful here.
7
+
8
+ ## Phase A — Parallel fan-out
9
+
10
+ Spawn three subagents concurrently. Gemini CLI exposes each custom subagent in `agents/` as a tool with the same name — so `code-reviewer.md` becomes a `code-reviewer` tool the main agent can call, and `@code-reviewer` works as an explicit invocation in the prompt. **Issue all three subagent tool calls in a single assistant turn so they execute in parallel** — sequential calls defeat the purpose of this command.
11
+
12
+ Dispatch each persona by tool name:
13
+
14
+ 1. **`code-reviewer`** — Run a five-axis review (correctness, readability, architecture, security, performance) on the staged changes or recent commits. Output the standard review template.
15
+ 2. **`security-auditor`** — Run a vulnerability and threat-model pass. Check OWASP Top 10, secrets handling, auth/authz, dependency CVEs. Output the standard audit report.
16
+ 3. **`test-engineer`** — Analyze test coverage for the change. Identify gaps in happy path, edge cases, error paths, and concurrency scenarios. Output the standard coverage analysis.
17
+
18
+ If subagents are unavailable in the current Gemini CLI version, invoke each persona's system prompt sequentially in the main context and treat their outputs as if returned in parallel — the merge phase still works.
19
+
20
+ Constraints (from Gemini CLI's subagent model):
21
+ - Subagents run in isolated context loops and return only their report to this main session.
22
+ - Do not let one persona delegate to another — keep the fan-out flat.
23
+ - For richer multi-agent collaboration where teammates talk to each other instead of just reporting back, see `references/orchestration-patterns.md`.
24
+
25
+ **Persona resolution.** If you've defined your own `code-reviewer`, `security-auditor`, or `test-engineer` in `agents/` (this plugin's agents, at the repo root) or `~/.gemini/agents/` (user-level), those take precedence over this plugin's versions — `/ship` picks up your customizations automatically. This is intentional: plugin subagents sit at the bottom of Gemini CLI's scope priority table, so user-level definitions win by design.
26
+
27
+ ## Phase B — Merge in main context
28
+
29
+ Once all three reports are back, the main agent (not a sub-persona) synthesizes them:
30
+
31
+ 1. **Code Quality** — Aggregate Critical/Important findings from `code-reviewer` and any failing tests, lint, or build output. Resolve duplicates between reviewers.
32
+ 2. **Security** — Promote any Critical/High `security-auditor` findings to launch blockers. Cross-reference with `code-reviewer`'s security axis.
33
+ 3. **Performance** — Pull from `code-reviewer`'s performance axis; cross-check Core Web Vitals if applicable.
34
+ 4. **Accessibility** — Verify keyboard nav, screen reader support, contrast (not covered by the three personas — handle directly here, or invoke the accessibility checklist).
35
+ 5. **Infrastructure** — Env vars, migrations, monitoring, feature flags. Verify directly.
36
+ 6. **Documentation** — README, ADRs, changelog. Verify directly.
37
+
38
+ ## Phase C — Decision and rollback
39
+
40
+ Produce a single output:
41
+
42
+ ```markdown
43
+ ## Ship Decision: GO | NO-GO
44
+
45
+ ### Blockers (must fix before ship)
46
+ - [Source persona: Critical finding + file:line]
47
+
48
+ ### Recommended fixes (should fix before ship)
49
+ - [Source persona: Important finding + file:line]
50
+
51
+ ### Acknowledged risks (shipping anyway)
52
+ - [Risk + mitigation]
53
+
54
+ ### Rollback plan
55
+ - Trigger conditions: [what signals would prompt rollback]
56
+ - Rollback procedure: [exact steps]
57
+ - Recovery time objective: [target]
58
+
59
+ ### Specialist reports (full)
60
+ - [code-reviewer report]
61
+ - [security-auditor report]
62
+ - [test-engineer report]
63
+ ```
64
+
65
+ ## Rules
66
+
67
+ 1. The three Phase A personas run in parallel — never sequentially.
68
+ 2. Personas do not call each other. The main agent merges in Phase B.
69
+ 3. The rollback plan is mandatory before any GO decision.
70
+ 4. If any persona returns a Critical finding, the default verdict is NO-GO unless the user explicitly accepts the risk.
71
+ 5. **Skip the fan-out only if all of the following are true:** the change touches 2 files or fewer, the diff is under 50 lines, and it does not touch auth, payments, data access, or config/env. Otherwise, default to fan-out. `/ship` is designed for production-bound changes — when the blast radius is non-trivial, run the parallel review even if the diff looks small.
72
+ """
@@ -0,0 +1,17 @@
1
+ description = "Start spec-driven development — write a structured specification before writing code"
2
+
3
+ prompt = """
4
+ Invoke the spec-driven-development skill.
5
+
6
+ Begin by understanding what the user wants to build. Ask clarifying questions about:
7
+ 1. The objective and target users
8
+ 2. Core features and acceptance criteria
9
+ 3. Tech stack preferences and constraints
10
+ 4. Known boundaries (what to always do, ask first about, and never do)
11
+
12
+ Then generate a structured spec covering all six core areas: objective, commands, project structure, code style, testing strategy, and boundaries.
13
+
14
+ If the request bundles several independently testable capabilities, first propose a capability map (module ids, dependency direction, build order) per the skill's Phase 0 and get it approved, then spec each module in dependency order.
15
+
16
+ Save the spec as SPEC.md in the project root and confirm with the user before proceeding.
17
+ """
@@ -0,0 +1,19 @@
1
+ description = "Run TDD workflow — write failing tests, implement, verify. For bugs, use the Prove-It pattern."
2
+
3
+ prompt = """
4
+ Invoke the test-driven-development skill.
5
+
6
+ For new features:
7
+ 1. Write tests that describe the expected behavior (they should FAIL)
8
+ 2. Implement the code to make them pass
9
+ 3. Refactor while keeping tests green
10
+
11
+ For bug fixes (Prove-It pattern):
12
+ 1. Write a test that reproduces the bug (must FAIL)
13
+ 2. Confirm the test fails
14
+ 3. Implement the fix
15
+ 4. Confirm the test passes
16
+ 5. Run the full test suite for regressions
17
+
18
+ For browser-related issues, also invoke browser-testing-with-devtools to verify with Chrome DevTools MCP.
19
+ """