@givolt/i3-composer-agent 1.0.1 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agents/plugins/marketplace.json +1 -1
- package/.claude/commands/{build.md → i3-build.md} +10 -10
- package/.claude/commands/{code-simplify.md → i3-code-simplify.md} +2 -2
- package/.claude/commands/{constraints.md → i3-constraints.md} +4 -4
- package/.claude/commands/{plan.md → i3-plan.md} +1 -1
- package/.claude/commands/{review.md → i3-review.md} +3 -3
- package/.claude/commands/{ship.md → i3-ship.md} +4 -4
- package/.claude/commands/{spec.md → i3-spec.md} +1 -1
- package/.claude/commands/{test.md → i3-test.md} +2 -2
- package/.claude/commands/{webperf.md → i3-webperf.md} +1 -1
- package/.claude-plugin/marketplace.json +1 -1
- package/.claude-plugin/plugin.json +1 -1
- package/.codex-plugin/plugin.json +1 -1
- package/.gemini/commands/{build.toml → i3-build.toml} +10 -10
- package/.gemini/commands/{code-simplify.toml → i3-code-simplify.toml} +2 -2
- package/.gemini/commands/{constraints.toml → i3-constraints.toml} +4 -4
- package/.gemini/commands/{planning.toml → i3-planning.toml} +1 -1
- package/{commands/review.toml → .gemini/commands/i3-review.toml} +3 -3
- package/.gemini/commands/{ship.toml → i3-ship.toml} +4 -4
- package/.gemini/commands/{spec.toml → i3-spec.toml} +1 -1
- package/{commands/test.toml → .gemini/commands/i3-test.toml} +2 -2
- package/.gemini/commands/{webperf.toml → i3-webperf.toml} +1 -1
- package/README.md +72 -69
- package/agents/code-reviewer.md +2 -2
- package/agents/security-auditor.md +1 -1
- package/agents/test-engineer.md +1 -1
- package/agents/web-performance-auditor.md +3 -3
- package/bin/agent-targets.json +11 -0
- package/bin/asset-fingerprint.cjs +38 -0
- package/bin/cleanup-backups.cjs +16 -0
- package/bin/i3-composer-agent.cjs +29 -14
- package/bin/install.cjs +81 -19
- package/bin/native-content.cjs +29 -0
- package/bin/wizard.cjs +2 -1
- package/commands/{build.toml → i3-build.toml} +10 -10
- package/commands/{code-simplify.toml → i3-code-simplify.toml} +2 -2
- package/commands/{constraints.toml → i3-constraints.toml} +4 -4
- package/commands/{planning.toml → i3-planning.toml} +1 -1
- package/{.gemini/commands/review.toml → commands/i3-review.toml} +3 -3
- package/commands/{ship.toml → i3-ship.toml} +4 -4
- package/commands/{spec.toml → i3-spec.toml} +1 -1
- package/{.gemini/commands/test.toml → commands/i3-test.toml} +2 -2
- package/commands/{webperf.toml → i3-webperf.toml} +1 -1
- package/docs/adoption-guide.md +35 -35
- package/docs/agents.md +12 -12
- package/docs/antigravity-setup.md +14 -14
- package/docs/codebuddy-setup.md +27 -18
- package/docs/codex-setup.md +6 -6
- package/docs/commandcode-setup.md +5 -5
- package/docs/copilot-cli-setup.md +5 -5
- package/docs/copilot-setup.md +22 -22
- package/docs/cursor-setup.md +22 -22
- package/docs/gemini-cli-setup.md +26 -26
- package/docs/getting-started.md +36 -38
- package/docs/opencode-setup.md +31 -31
- package/docs/windsurf-setup.md +7 -7
- package/docs/workbuddy-setup.md +92 -0
- package/hooks/SDD-CACHE.md +3 -3
- package/hooks/SIMPLIFY-IGNORE.md +2 -2
- package/hooks/session-start-test.sh +1 -1
- package/hooks/session-start.sh +3 -3
- package/package.json +36 -20
- package/plugin.json +1 -1
- package/references/accessibility-checklist.md +1 -1
- package/references/definition-of-done.md +7 -7
- package/references/observability-checklist.md +3 -3
- package/references/orchestration-patterns.md +17 -17
- package/references/performance-checklist.md +2 -2
- package/references/security-checklist.md +1 -1
- package/references/testing-patterns.md +1 -1
- package/skills/{api-and-interface-design → i3-api-and-interface-design}/SKILL.md +2 -2
- package/skills/{browser-testing-with-devtools → i3-browser-testing-with-devtools}/SKILL.md +1 -1
- package/skills/{ci-cd-and-automation → i3-ci-cd-and-automation}/SKILL.md +2 -2
- package/skills/{code-review-and-quality → i3-code-review-and-quality}/SKILL.md +5 -5
- package/skills/{code-simplification → i3-code-simplification}/SKILL.md +1 -1
- package/skills/{constraint-driven-development → i3-constraint-driven-development}/SKILL.md +15 -15
- package/skills/{context-engineering → i3-context-engineering}/SKILL.md +1 -1
- package/skills/{debugging-and-error-recovery → i3-debugging-and-error-recovery}/SKILL.md +2 -2
- package/skills/{deprecation-and-migration → i3-deprecation-and-migration}/SKILL.md +2 -2
- package/skills/{documentation-and-adrs → i3-documentation-and-adrs}/SKILL.md +1 -1
- package/skills/{doubt-driven-development → i3-doubt-driven-development}/SKILL.md +8 -8
- package/skills/{frontend-ui-engineering → i3-frontend-ui-engineering}/SKILL.md +1 -1
- package/skills/{git-workflow-and-versioning → i3-git-workflow-and-versioning}/SKILL.md +4 -4
- package/skills/{idea-refine → i3-idea-refine}/SKILL.md +2 -2
- package/skills/{idea-refine → i3-idea-refine}/scripts/idea-refine.sh +1 -1
- package/skills/{incremental-implementation → i3-incremental-implementation}/SKILL.md +3 -3
- package/skills/{interview-me → i3-interview-me}/SKILL.md +12 -12
- package/skills/{observability-and-instrumentation → i3-observability-and-instrumentation}/SKILL.md +5 -5
- package/skills/{performance-optimization → i3-performance-optimization}/SKILL.md +1 -1
- package/skills/{performance-optimization → i3-performance-optimization}/references/optimization-patterns.md +1 -1
- package/skills/{planning-and-task-breakdown → i3-planning-and-task-breakdown}/SKILL.md +2 -2
- package/skills/{security-and-hardening → i3-security-and-hardening}/SKILL.md +3 -3
- package/skills/{security-and-hardening → i3-security-and-hardening}/references/hardening-patterns.md +1 -1
- package/skills/{shipping-and-launch → i3-shipping-and-launch}/SKILL.md +2 -2
- package/skills/{source-driven-development → i3-source-driven-development}/SKILL.md +2 -2
- package/skills/{spec-driven-development → i3-spec-driven-development}/SKILL.md +7 -7
- package/skills/{test-driven-development → i3-test-driven-development}/SKILL.md +2 -2
- package/skills/{using-agent-skills → i3-using-agent-skills}/SKILL.md +67 -67
- package/CHANGELOG.md +0 -34
- package/NOTICE.md +0 -14
- package/docs/advanced-per-agent-configuration.md +0 -70
- package/docs/comparison.md +0 -131
- package/docs/developer-onboarding.md +0 -116
- package/docs/skill-anatomy.md +0 -203
- package/evals/README.md +0 -101
- package/evals/cases/api-and-interface-design.json +0 -45
- package/evals/cases/browser-testing-with-devtools.json +0 -44
- package/evals/cases/ci-cd-and-automation.json +0 -45
- package/evals/cases/code-review-and-quality.json +0 -49
- package/evals/cases/code-simplification.json +0 -45
- package/evals/cases/constraint-driven-development.json +0 -79
- package/evals/cases/context-engineering.json +0 -44
- package/evals/cases/debugging-and-error-recovery.json +0 -58
- package/evals/cases/deprecation-and-migration.json +0 -52
- package/evals/cases/documentation-and-adrs.json +0 -44
- package/evals/cases/doubt-driven-development.json +0 -43
- package/evals/cases/frontend-ui-engineering.json +0 -52
- package/evals/cases/git-workflow-and-versioning.json +0 -47
- package/evals/cases/idea-refine.json +0 -43
- package/evals/cases/incremental-implementation.json +0 -57
- package/evals/cases/interview-me.json +0 -42
- package/evals/cases/observability-and-instrumentation.json +0 -44
- package/evals/cases/performance-optimization.json +0 -53
- package/evals/cases/planning-and-task-breakdown.json +0 -45
- package/evals/cases/security-and-hardening.json +0 -53
- package/evals/cases/shipping-and-launch.json +0 -56
- package/evals/cases/source-driven-development.json +0 -44
- package/evals/cases/spec-driven-development.json +0 -72
- package/evals/cases/test-driven-development.json +0 -73
- package/evals/cases/using-agent-skills.json +0 -44
- package/evals/fixtures/api-and-interface-design/service-brief.md +0 -19
- package/evals/fixtures/browser-testing-with-devtools/README.md +0 -5
- package/evals/fixtures/browser-testing-with-devtools/index.html +0 -24
- package/evals/fixtures/browser-testing-with-devtools/server.js +0 -15
- package/evals/fixtures/ci-cd-and-automation/package.json +0 -8
- package/evals/fixtures/ci-cd-and-automation/src/slug.js +0 -3
- package/evals/fixtures/ci-cd-and-automation/test/slug.test.js +0 -9
- package/evals/fixtures/code-review-and-quality/user-search.diff +0 -16
- package/evals/fixtures/code-simplification/config-parser.js +0 -46
- package/evals/fixtures/code-simplification/config-parser.test.js +0 -15
- package/evals/fixtures/context-engineering/context-audit.md +0 -15
- package/evals/fixtures/debugging-and-error-recovery/pagination.js +0 -8
- package/evals/fixtures/debugging-and-error-recovery/pagination.test.js +0 -9
- package/evals/fixtures/debugging-and-error-recovery/time-pressure.md +0 -6
- package/evals/fixtures/deprecation-and-migration/api-inventory.md +0 -9
- package/evals/fixtures/documentation-and-adrs/decision-context.md +0 -16
- package/evals/fixtures/doubt-driven-development/migration-plan.md +0 -19
- package/evals/fixtures/frontend-ui-engineering/Button.tsx +0 -7
- package/evals/fixtures/frontend-ui-engineering/design-system.md +0 -11
- package/evals/fixtures/git-workflow-and-versioning/.eval/working-tree.patch +0 -21
- package/evals/fixtures/git-workflow-and-versioning/app.js +0 -7
- package/evals/fixtures/git-workflow-and-versioning/app.test.js +0 -9
- package/evals/fixtures/incremental-implementation/reports.js +0 -7
- package/evals/fixtures/incremental-implementation/reports.test.js +0 -12
- package/evals/fixtures/incremental-implementation/tasks/plan.md +0 -8
- package/evals/fixtures/incremental-implementation-pressure/draft-export.js +0 -17
- package/evals/fixtures/incremental-implementation-pressure/scenario.md +0 -9
- package/evals/fixtures/observability-and-instrumentation/operations.md +0 -11
- package/evals/fixtures/observability-and-instrumentation/payment-retry.js +0 -14
- package/evals/fixtures/performance-optimization/benchmark.js +0 -15
- package/evals/fixtures/performance-optimization/products.js +0 -14
- package/evals/fixtures/planning-and-task-breakdown/notifications-spec.md +0 -18
- package/evals/fixtures/security-and-hardening/webhook.js +0 -11
- package/evals/fixtures/security-and-hardening/webhook.test.js +0 -13
- package/evals/fixtures/shipping-and-launch/authority-pressure.md +0 -6
- package/evals/fixtures/shipping-and-launch/launch-status.md +0 -11
- package/evals/fixtures/source-driven-development/framework-task.md +0 -10
- package/evals/fixtures/spec-driven-development/billing-brief.md +0 -16
- package/evals/fixtures/spec-driven-development-decomposition/portal-brief.md +0 -22
- package/evals/fixtures/test-driven-development/BUG.md +0 -10
- package/evals/fixtures/test-driven-development/README.md +0 -28
- package/evals/fixtures/test-driven-development/package.json +0 -9
- package/evals/fixtures/test-driven-development/src/split.js +0 -8
- package/evals/fixtures/test-driven-development/test/split.test.js +0 -13
- package/evals/fixtures/test-driven-development-ecosystem/README.md +0 -9
- package/evals/fixtures/test-driven-development-ecosystem/ledger.py +0 -15
- package/evals/fixtures/test-driven-development-ecosystem/test_ledger.py +0 -19
- package/evals/fixtures/using-agent-skills/incident.md +0 -6
- package/evals/plugin/code-review-fires/graders/off-by-one.md +0 -7
- package/evals/plugin/code-review-fires/graders/severity-labels.md +0 -4
- package/evals/plugin/code-review-fires/graders/skill-fired.md +0 -5
- package/evals/plugin/code-review-fires/prompt.md +0 -31
- package/evals/plugin/code-review-stays-quiet/graders/not-fired.md +0 -8
- package/evals/plugin/code-review-stays-quiet/graders/tdd-fired.md +0 -6
- package/evals/plugin/code-review-stays-quiet/prompt.md +0 -8
- package/evals/plugin/code-review-stays-quiet-on-commit-message/graders/not-fired.md +0 -8
- package/evals/plugin/code-review-stays-quiet-on-commit-message/prompt.md +0 -25
- package/evals/skill-impact.md +0 -6
- package/rebrand/INSTALLATION-SPEC.md +0 -46
- package/rebrand/MAINTENANCE.md +0 -113
- package/rebrand/NOTICE.md +0 -14
- package/rebrand/PR-WORKFLOW.md +0 -34
- package/rebrand/UNIFICATION-SPEC.md +0 -33
- package/rebrand/VALIDATION.md +0 -32
- package/rebrand/VERSIONING.md +0 -33
- package/rebrand/apply.cjs +0 -194
- package/rebrand/brand.json +0 -13
- package/rebrand/catalog.cjs +0 -56
- package/rebrand/fork-patches.json +0 -12
- package/rebrand/overlay/.github/workflows/test-plugin-install.yml +0 -177
- package/rebrand/overlay/CHANGELOG.md +0 -34
- package/rebrand/overlay/bin/agent-targets.json +0 -726
- package/rebrand/overlay/bin/i3-composer-agent.cjs +0 -190
- package/rebrand/overlay/bin/install.cjs +0 -164
- package/rebrand/overlay/bin/skills-registry.LICENSE +0 -21
- package/rebrand/overlay/bin/wizard.cjs +0 -66
- package/rebrand/overlay/scripts/validate-brand.cjs +0 -44
- package/rebrand/overlay/tests/bundle.test.cjs +0 -85
- package/rebrand/overlay/tests/installer.test.cjs +0 -193
- package/rebrand/package.template.json +0 -82
- package/rebrand/rebrand.sh +0 -4
- package/rebrand/record-upstream.cjs +0 -37
- package/rebrand/templates/README.md +0 -124
- package/rebrand/templates/codebuddy-setup.md +0 -88
- package/rebrand/templates/codex-setup.md +0 -45
- package/rebrand/tests/pipeline.test.cjs +0 -185
- package/rebrand/upstream.json +0 -171
- package/scripts/floor-guard-reference-test.js +0 -291
- package/scripts/lib/skill-lint-test.js +0 -650
- package/scripts/lib/skill-lint.js +0 -584
- package/scripts/run-evals-test.js +0 -623
- package/scripts/run-evals.js +0 -638
- package/scripts/validate-artifact-paths-test.js +0 -179
- package/scripts/validate-artifact-paths.js +0 -128
- package/scripts/validate-brand.cjs +0 -44
- package/scripts/validate-commands-test.js +0 -216
- package/scripts/validate-commands.js +0 -222
- package/scripts/validate-reference-links-test.js +0 -495
- package/scripts/validate-reference-links.js +0 -187
- package/scripts/validate-skills.js +0 -69
- package/scripts/validate-versions-test.js +0 -32
- package/scripts/validate-versions.js +0 -35
- package/tests/bundle.test.cjs +0 -85
- package/tests/installer.test.cjs +0 -193
- /package/skills/{constraint-driven-development → i3-constraint-driven-development}/references/floor-guard.md +0 -0
- /package/skills/{idea-refine → i3-idea-refine}/examples.md +0 -0
- /package/skills/{idea-refine → i3-idea-refine}/frameworks.md +0 -0
- /package/skills/{idea-refine → i3-idea-refine}/refinement-criteria.md +0 -0
package/package.json
CHANGED
|
@@ -30,14 +30,24 @@
|
|
|
30
30
|
".codex-plugin/",
|
|
31
31
|
".agents/plugins/",
|
|
32
32
|
"hooks/",
|
|
33
|
-
"docs/",
|
|
34
|
-
"
|
|
35
|
-
"
|
|
36
|
-
"
|
|
37
|
-
"
|
|
33
|
+
"docs/adoption-guide.md",
|
|
34
|
+
"docs/agents.md",
|
|
35
|
+
"docs/antigravity-setup.md",
|
|
36
|
+
"docs/codebuddy-setup.md",
|
|
37
|
+
"docs/codex-setup.md",
|
|
38
|
+
"docs/commandcode-setup.md",
|
|
39
|
+
"docs/copilot-cli-setup.md",
|
|
40
|
+
"docs/copilot-setup.md",
|
|
41
|
+
"docs/cursor-setup.md",
|
|
42
|
+
"docs/gemini-cli-setup.md",
|
|
43
|
+
"docs/getting-started.md",
|
|
44
|
+
"docs/opencode-setup.md",
|
|
45
|
+
"docs/other-hosts.md",
|
|
46
|
+
"docs/windsurf-setup.md",
|
|
47
|
+
"docs/workbuddy-setup.md",
|
|
38
48
|
"plugin.json",
|
|
39
|
-
"
|
|
40
|
-
"
|
|
49
|
+
"README.md",
|
|
50
|
+
"LICENSE"
|
|
41
51
|
],
|
|
42
52
|
"scripts": {
|
|
43
53
|
"rebrand": "node rebrand/apply.cjs --apply",
|
|
@@ -50,6 +60,7 @@
|
|
|
50
60
|
"i3-composer",
|
|
51
61
|
"agent-skills",
|
|
52
62
|
"codebuddy",
|
|
63
|
+
"workbuddy",
|
|
53
64
|
"codex",
|
|
54
65
|
"claude-code"
|
|
55
66
|
],
|
|
@@ -66,23 +77,28 @@
|
|
|
66
77
|
".codex-plugin",
|
|
67
78
|
".agents/plugins",
|
|
68
79
|
"hooks",
|
|
69
|
-
"docs",
|
|
70
|
-
"
|
|
71
|
-
"
|
|
72
|
-
"
|
|
73
|
-
"
|
|
80
|
+
"docs/adoption-guide.md",
|
|
81
|
+
"docs/agents.md",
|
|
82
|
+
"docs/antigravity-setup.md",
|
|
83
|
+
"docs/codebuddy-setup.md",
|
|
84
|
+
"docs/codex-setup.md",
|
|
85
|
+
"docs/commandcode-setup.md",
|
|
86
|
+
"docs/copilot-cli-setup.md",
|
|
87
|
+
"docs/copilot-setup.md",
|
|
88
|
+
"docs/cursor-setup.md",
|
|
89
|
+
"docs/gemini-cli-setup.md",
|
|
90
|
+
"docs/getting-started.md",
|
|
91
|
+
"docs/opencode-setup.md",
|
|
92
|
+
"docs/other-hosts.md",
|
|
93
|
+
"docs/windsurf-setup.md",
|
|
94
|
+
"docs/workbuddy-setup.md",
|
|
74
95
|
"plugin.json",
|
|
75
96
|
"package.json",
|
|
76
97
|
"README.md",
|
|
77
|
-
"LICENSE"
|
|
78
|
-
|
|
79
|
-
"CHANGELOG.md"
|
|
80
|
-
],
|
|
81
|
-
"upstreamVersion": "0.6.12",
|
|
82
|
-
"upstreamCommit": "1401c8b8030e023baeebb31781a6653fe8e93026",
|
|
83
|
-
"upstreamRepository": "https://github.com/addyosmani/agent-skills"
|
|
98
|
+
"LICENSE"
|
|
99
|
+
]
|
|
84
100
|
},
|
|
85
|
-
"version": "1.0
|
|
101
|
+
"version": "2.1.0",
|
|
86
102
|
"repository": {
|
|
87
103
|
"type": "git",
|
|
88
104
|
"url": "https://github.com/49780522/i3-composer-agent.git"
|
package/plugin.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "i3-composer-agent",
|
|
3
|
-
"version": "1.0
|
|
3
|
+
"version": "2.1.0",
|
|
4
4
|
"description": "Production-grade engineering skills for AI coding agents covering the development lifecycle from spec to ship.",
|
|
5
5
|
"homepage": "https://github.com/49780522/i3-composer-agent",
|
|
6
6
|
"repository": "https://github.com/49780522/i3-composer-agent"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Definition of Done
|
|
2
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`.
|
|
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 `i3-planning-and-task-breakdown`, `i3-incremental-implementation`, and `i3-shipping-and-launch`.
|
|
4
4
|
|
|
5
5
|
## Definition of Done vs. Acceptance Criteria
|
|
6
6
|
|
|
@@ -32,7 +32,7 @@ Apply this to every change before declaring it done.
|
|
|
32
32
|
- [ ] Changes are scoped to the task; no unrelated refactors snuck in
|
|
33
33
|
- [ ] Linting and formatting pass
|
|
34
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).
|
|
35
|
+
The depth behind these items lives in `i3-code-review-and-quality` (the five-axis review) and `i3-code-simplification` (reducing complexity without changing behavior).
|
|
36
36
|
|
|
37
37
|
### Integration
|
|
38
38
|
- [ ] Change works with the rest of the system, not just in isolation
|
|
@@ -41,20 +41,20 @@ The depth behind these items lives in `code-review-and-quality` (the five-axis r
|
|
|
41
41
|
|
|
42
42
|
### Documentation
|
|
43
43
|
- [ ] Public interfaces, APIs, and user-facing behavior are documented
|
|
44
|
-
- [ ] Architectural decisions worth preserving are recorded (see `documentation-and-adrs`)
|
|
44
|
+
- [ ] Architectural decisions worth preserving are recorded (see `i3-documentation-and-adrs`)
|
|
45
45
|
- [ ] Documentation describes the current state in timeless language, not the change history
|
|
46
46
|
|
|
47
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`)
|
|
48
|
+
- [ ] Security implications reviewed for any untrusted input, auth, or data handling (see `i3-security-and-hardening`)
|
|
49
|
+
- [ ] Observability in place for new critical paths (logs, metrics, traces) (see `i3-observability-and-instrumentation`)
|
|
50
|
+
- [ ] Rollback path exists for anything risky (see `i3-shipping-and-launch`)
|
|
51
51
|
- [ ] The human has reviewed and approved before merge or deploy
|
|
52
52
|
|
|
53
53
|
## How to Apply
|
|
54
54
|
|
|
55
55
|
- **Per task**: confirm the Correctness and Quality sections before checking the task off.
|
|
56
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.
|
|
57
|
+
- **Per release**: the full checklist is the floor; `i3-shipping-and-launch` adds the deploy-specific gates on top.
|
|
58
58
|
|
|
59
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
60
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Observability Checklist
|
|
2
2
|
|
|
3
|
-
Quick reference for instrumenting production code. Use alongside the `observability-and-instrumentation` skill.
|
|
3
|
+
Quick reference for instrumenting production code. Use alongside the `i3-observability-and-instrumentation` skill.
|
|
4
4
|
|
|
5
5
|
## Table of Contents
|
|
6
6
|
|
|
@@ -28,7 +28,7 @@ Telemetry without a question is noise. Before instrumenting anything:
|
|
|
28
28
|
- [ ] Correlation ID is propagated on every outbound call and async boundary (HTTP headers, queue metadata)
|
|
29
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
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`)
|
|
31
|
+
- [ ] No secrets, tokens, passwords, or unredacted PII in any log line (hard rule from `i3-security-and-hardening`)
|
|
32
32
|
- [ ] Fields are allowlisted — no whole request/response bodies, no auth headers
|
|
33
33
|
- [ ] External service calls logged with metadata only: endpoint, status, latency, attempt count, sanitized identifiers
|
|
34
34
|
- [ ] Actual log output spot-checked: structured fields, not `[object Object]`
|
|
@@ -89,4 +89,4 @@ Before a feature ships to production, all of the following are true:
|
|
|
89
89
|
- [ ] A request can be traced across every service it touches
|
|
90
90
|
- [ ] On-call knows where the runbooks are
|
|
91
91
|
|
|
92
|
-
For launch-day monitoring sequence and rollback triggers, see the `shipping-and-launch` skill.
|
|
92
|
+
For launch-day monitoring sequence and rollback triggers, see the `i3-shipping-and-launch` skill.
|
|
@@ -32,12 +32,12 @@ user → code-reviewer → report → user
|
|
|
32
32
|
A slash command that wraps one persona with the project's skills. Saves the user from re-explaining the workflow every time.
|
|
33
33
|
|
|
34
34
|
```
|
|
35
|
-
/review → code-reviewer (with code-review-and-quality skill) → report
|
|
35
|
+
/i3-review → code-reviewer (with i3-code-review-and-quality skill) → report
|
|
36
36
|
```
|
|
37
37
|
|
|
38
38
|
**Use when:** the same single-persona invocation happens repeatedly with the same setup.
|
|
39
39
|
|
|
40
|
-
**Examples in this repo:** `/review`, `/test`, `/code-simplify`.
|
|
40
|
+
**Examples in this repo:** `/i3-review`, `/i3-test`, `/i3-code-simplify`.
|
|
41
41
|
|
|
42
42
|
**Cost:** same as direct invocation. The slash command is just a saved prompt.
|
|
43
43
|
|
|
@@ -51,7 +51,7 @@ Multiple personas operate on the same input concurrently, each producing an inde
|
|
|
51
51
|
|
|
52
52
|
```
|
|
53
53
|
┌─→ code-reviewer ─┐
|
|
54
|
-
/ship → fan out ───┼─→ security-auditor ─┤→ merge → go/no-go + rollback
|
|
54
|
+
/i3-ship → fan out ───┼─→ security-auditor ─┤→ merge → go/no-go + rollback
|
|
55
55
|
└─→ test-engineer ─┘
|
|
56
56
|
```
|
|
57
57
|
|
|
@@ -61,7 +61,7 @@ Multiple personas operate on the same input concurrently, each producing an inde
|
|
|
61
61
|
- The merge step is small enough to stay in the main context
|
|
62
62
|
- Wall-clock latency matters
|
|
63
63
|
|
|
64
|
-
**Examples in this repo:** `/ship`.
|
|
64
|
+
**Examples in this repo:** `/i3-ship`.
|
|
65
65
|
|
|
66
66
|
**Cost:** N parallel sub-agent contexts + one merge turn. Higher than direct invocation, but faster wall-clock and produces better reports because each sub-agent stays focused on its single perspective.
|
|
67
67
|
|
|
@@ -80,7 +80,7 @@ If any answer is "no," fall back to direct invocation or a single-persona comman
|
|
|
80
80
|
The user runs slash commands in a defined order, carrying context (or commit history) between them. There is no orchestrator agent — the user IS the orchestrator.
|
|
81
81
|
|
|
82
82
|
```
|
|
83
|
-
user runs: /spec → /plan → /build → /test → /review → /ship
|
|
83
|
+
user runs: /i3-spec → /i3-plan → /i3-build → /i3-test → /i3-review → /i3-ship
|
|
84
84
|
```
|
|
85
85
|
|
|
86
86
|
**Use when:** the workflow has dependencies (each step needs the previous step's output) and human judgment between steps adds value.
|
|
@@ -134,7 +134,7 @@ Claude Code has two parallelism primitives. Pattern 3 (parallel fan-out with mer
|
|
|
134
134
|
| Status | Stable | Experimental — requires `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1` |
|
|
135
135
|
| Cost | Lower | Higher — each teammate is a separate Claude instance |
|
|
136
136
|
|
|
137
|
-
**The personas in this repo work in both modes.** When spawned as subagents (e.g. by `/ship`), they report findings to the main session. When spawned as teammates (`Spawn a teammate using the security-auditor agent type…`), they can challenge each other's findings directly. The persona definition is the same; only the spawning context changes.
|
|
137
|
+
**The personas in this repo work in both modes.** When spawned as subagents (e.g. by `/i3-ship`), they report findings to the main session. When spawned as teammates (`Spawn a teammate using the security-auditor agent type…`), they can challenge each other's findings directly. The persona definition is the same; only the spawning context changes.
|
|
138
138
|
|
|
139
139
|
One subtlety: the `skills` and `mcpServers` frontmatter fields in a persona are honored when it runs as a subagent but **ignored when it runs as a teammate** — teammates load skills and MCP servers from your project and user settings, the same as a regular session. If a persona depends on a specific skill or MCP server being loaded, configure it at the session level so it's available in both modes.
|
|
140
140
|
|
|
@@ -167,13 +167,13 @@ The fields that DO work in plugin agents are: `name`, `description`, `tools`, `d
|
|
|
167
167
|
|
|
168
168
|
### Spawning multiple subagents in parallel
|
|
169
169
|
|
|
170
|
-
In Claude Code, parallel fan-out (Pattern 3) requires issuing **multiple Agent tool calls in a single assistant turn**. Sequential turns serialize execution. `/ship` calls this out explicitly. Any new orchestrator command should do the same.
|
|
170
|
+
In Claude Code, parallel fan-out (Pattern 3) requires issuing **multiple Agent tool calls in a single assistant turn**. Sequential turns serialize execution. `/i3-ship` calls this out explicitly. Any new orchestrator command should do the same.
|
|
171
171
|
|
|
172
172
|
---
|
|
173
173
|
|
|
174
174
|
## Worked example: Agent Teams for competing-hypothesis debugging
|
|
175
175
|
|
|
176
|
-
This example shows when to reach for **Agent Teams** instead of `/ship`'s subagent fan-out. The two patterns look similar from a distance — both spawn the same three personas — but the value comes from a different place.
|
|
176
|
+
This example shows when to reach for **Agent Teams** instead of `/i3-ship`'s subagent fan-out. The two patterns look similar from a distance — both spawn the same three personas — but the value comes from a different place.
|
|
177
177
|
|
|
178
178
|
### The scenario
|
|
179
179
|
|
|
@@ -186,19 +186,19 @@ Plausible root causes (mutually exclusive, all fit the symptoms):
|
|
|
186
186
|
3. A missing index on a query that scales with cart size
|
|
187
187
|
4. A flaky third-party API where the SDK retries silently before timing out
|
|
188
188
|
|
|
189
|
-
A single agent will pick the first plausible theory and stop investigating. A `/ship`-style subagent fan-out would have each persona report independently — but their reports never meet, so nothing rules out the wrong theories.
|
|
189
|
+
A single agent will pick the first plausible theory and stop investigating. A `/i3-ship`-style subagent fan-out would have each persona report independently — but their reports never meet, so nothing rules out the wrong theories.
|
|
190
190
|
|
|
191
191
|
This is exactly the case the Agent Teams docs describe: *"With multiple independent investigators actively trying to disprove each other, the theory that survives is much more likely to be the actual root cause."*
|
|
192
192
|
|
|
193
|
-
### Why this is *not* a `/ship` job
|
|
193
|
+
### Why this is *not* a `/i3-ship` job
|
|
194
194
|
|
|
195
|
-
| | `/ship` (subagents) | Agent Teams |
|
|
195
|
+
| | `/i3-ship` (subagents) | Agent Teams |
|
|
196
196
|
|--|--------------------|-------------|
|
|
197
197
|
| Sub-agents see | The same diff, different lenses | A shared task list, each other's messages |
|
|
198
198
|
| Output | Three independent reports → one merge | Adversarial debate → consensus root cause |
|
|
199
199
|
| Right when | You want a verdict on a known artifact | You want to *find* the artifact among hypotheses |
|
|
200
200
|
|
|
201
|
-
`/ship` is a verdict; Agent Teams is an investigation.
|
|
201
|
+
`/i3-ship` is a verdict; Agent Teams is an investigation.
|
|
202
202
|
|
|
203
203
|
### Setup (one-time, per-environment)
|
|
204
204
|
|
|
@@ -262,7 +262,7 @@ Always cleanup through the lead, not a teammate (per the docs: teammates lack fu
|
|
|
262
262
|
|
|
263
263
|
### Cost expectation
|
|
264
264
|
|
|
265
|
-
Three Sonnet teammates running for ~10–15 minutes of investigation costs noticeably more than the same three personas spawned as subagents by `/ship`. The justification is *quality of conclusion* — for production debugging where the wrong fix is expensive, the extra tokens are a bargain. For a routine PR review, stick with `/ship`.
|
|
265
|
+
Three Sonnet teammates running for ~10–15 minutes of investigation costs noticeably more than the same three personas spawned as subagents by `/i3-ship`. The justification is *quality of conclusion* — for production debugging where the wrong fix is expensive, the extra tokens are a bargain. For a routine PR review, stick with `/i3-ship`.
|
|
266
266
|
|
|
267
267
|
### Anti-pattern in this scenario
|
|
268
268
|
|
|
@@ -270,7 +270,7 @@ Do **not** rebuild this as a `/debug` slash command that fans out subagents. Sub
|
|
|
270
270
|
|
|
271
271
|
### When *not* to use Agent Teams
|
|
272
272
|
|
|
273
|
-
- Production-bound verdict on a known diff → use `/ship` (subagents).
|
|
273
|
+
- Production-bound verdict on a known diff → use `/i3-ship` (subagents).
|
|
274
274
|
- One specialist perspective on one artifact → direct persona invocation.
|
|
275
275
|
- Sequential lifecycle (spec → plan → build) → user-driven slash commands (Pattern 4).
|
|
276
276
|
- Read-heavy research with a small digest → built-in `Explore` subagent.
|
|
@@ -292,7 +292,7 @@ A persona whose job is to decide which other persona to call.
|
|
|
292
292
|
**Why it fails:**
|
|
293
293
|
- Pure routing layer with no domain value
|
|
294
294
|
- Adds two paraphrasing hops → information loss + roughly 2× token cost
|
|
295
|
-
- The user already knew they wanted a review; they could have called `/review` directly
|
|
295
|
+
- The user already knew they wanted a review; they could have called `/i3-review` directly
|
|
296
296
|
- Replicates the work that slash commands and intent mapping in `AGENTS.md` already do
|
|
297
297
|
|
|
298
298
|
**What to do instead:** add or refine slash commands. Document intent → command mapping in `AGENTS.md`.
|
|
@@ -315,7 +315,7 @@ A `code-reviewer` that internally invokes `security-auditor` when it sees auth c
|
|
|
315
315
|
|
|
316
316
|
### C. Sequential orchestrator that paraphrases
|
|
317
317
|
|
|
318
|
-
An agent that calls `/spec`, then `/plan`, then `/build`, etc. on the user's behalf.
|
|
318
|
+
An agent that calls `/i3-spec`, then `/i3-plan`, then `/i3-build`, etc. on the user's behalf.
|
|
319
319
|
|
|
320
320
|
**Why it fails:**
|
|
321
321
|
- Loses the human checkpoints that catch wrong-direction work
|
|
@@ -329,7 +329,7 @@ An agent that calls `/spec`, then `/plan`, then `/build`, etc. on the user's beh
|
|
|
329
329
|
|
|
330
330
|
### D. Deep persona trees
|
|
331
331
|
|
|
332
|
-
`/ship` calls a `pre-ship-coordinator` that calls a `quality-coordinator` that calls `code-reviewer`.
|
|
332
|
+
`/i3-ship` calls a `pre-ship-coordinator` that calls a `quality-coordinator` that calls `code-reviewer`.
|
|
333
333
|
|
|
334
334
|
**Why it fails:**
|
|
335
335
|
- Each layer adds latency and tokens with no decision value
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Performance Checklist
|
|
2
2
|
|
|
3
|
-
Quick reference checklist for web application performance. Use alongside the `performance-optimization` skill.
|
|
3
|
+
Quick reference checklist for web application performance. Use alongside the `i3-performance-optimization` skill.
|
|
4
4
|
|
|
5
5
|
## Table of Contents
|
|
6
6
|
|
|
@@ -132,7 +132,7 @@ When TTFB is slow (> 800ms), check each component in DevTools Network waterfall:
|
|
|
132
132
|
|
|
133
133
|
## Caching Strategies
|
|
134
134
|
|
|
135
|
-
The decision material (which layer, which invalidation strategy, what never to cache) lives in the `performance-optimization` skill. This section covers the read/write patterns and the checklist.
|
|
135
|
+
The decision material (which layer, which invalidation strategy, what never to cache) lives in the `i3-performance-optimization` skill. This section covers the read/write patterns and the checklist.
|
|
136
136
|
|
|
137
137
|
### Read and write patterns
|
|
138
138
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Testing Patterns Reference (JavaScript/TypeScript)
|
|
2
2
|
|
|
3
|
-
Quick reference of JavaScript/TypeScript testing patterns — Jest, React Testing Library, Supertest, and Playwright — illustrating the universal principles from the `test-driven-development` skill. The principles (Arrange-Act-Assert, naming, mock discipline, anti-patterns) apply in any ecosystem; the syntax and tooling shown here are JS/TS-specific. In another stack, follow the same principles with the repository's own test framework and commands.
|
|
3
|
+
Quick reference of JavaScript/TypeScript testing patterns — Jest, React Testing Library, Supertest, and Playwright — illustrating the universal principles from the `i3-test-driven-development` skill. The principles (Arrange-Act-Assert, naming, mock discipline, anti-patterns) apply in any ecosystem; the syntax and tooling shown here are JS/TS-specific. In another stack, follow the same principles with the repository's own test framework and commands.
|
|
4
4
|
|
|
5
5
|
## Table of Contents
|
|
6
6
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: api-and-interface-design
|
|
2
|
+
name: i3-api-and-interface-design
|
|
3
3
|
description: Guides stable API and interface design. Use when designing APIs, module boundaries, or any public interface. Use when creating REST or GraphQL endpoints, defining type contracts between modules, or establishing boundaries between frontend and backend.
|
|
4
4
|
---
|
|
5
5
|
|
|
@@ -27,7 +27,7 @@ This means: every public behavior — including undocumented quirks, error messa
|
|
|
27
27
|
|
|
28
28
|
- **Be intentional about what you expose.** Every observable behavior is a potential commitment.
|
|
29
29
|
- **Don't leak implementation details.** If users can observe it, they will depend on it.
|
|
30
|
-
- **Plan for deprecation at design time.** See `deprecation-and-migration` for how to safely remove things users depend on.
|
|
30
|
+
- **Plan for deprecation at design time.** See `i3-deprecation-and-migration` for how to safely remove things users depend on.
|
|
31
31
|
- **Tests are not enough.** Even with perfect contract tests, Hyrum's Law means "safe" changes can break real users who depend on undocumented behavior.
|
|
32
32
|
|
|
33
33
|
### The One-Version Rule
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: browser-testing-with-devtools
|
|
2
|
+
name: i3-browser-testing-with-devtools
|
|
3
3
|
description: Tests in real browsers via Chrome DevTools MCP. Use when building or debugging anything that runs in a browser. Use when you need to inspect the DOM, capture console errors, analyze network requests, profile performance, or verify visual output with real runtime data. Requires the chrome-devtools MCP server to be configured.
|
|
4
4
|
---
|
|
5
5
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: ci-cd-and-automation
|
|
2
|
+
name: i3-ci-cd-and-automation
|
|
3
3
|
description: Automates CI/CD pipeline setup. Use when setting up or modifying build and deployment pipelines. Use when you need to automate quality gates, configure test runners in CI, or establish deployment strategies.
|
|
4
4
|
---
|
|
5
5
|
|
|
@@ -186,7 +186,7 @@ Agent fixes → pushes → CI runs again
|
|
|
186
186
|
```
|
|
187
187
|
Lint failure → Agent runs `npm run lint --fix` and commits
|
|
188
188
|
Type error → Agent reads the error location and fixes the type
|
|
189
|
-
Test failure → Agent follows debugging-and-error-recovery skill
|
|
189
|
+
Test failure → Agent follows i3-debugging-and-error-recovery skill
|
|
190
190
|
Build error → Agent checks config and dependencies
|
|
191
191
|
```
|
|
192
192
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: code-review-and-quality
|
|
2
|
+
name: i3-code-review-and-quality
|
|
3
3
|
description: Conducts multi-axis code review. Use before merging any change. Use when reviewing code written by yourself, another agent, or a human. Use when you need to assess code quality across multiple dimensions before it enters the main branch. Use when asked to review a diff or a pull request, even when the diff is pasted inline.
|
|
4
4
|
---
|
|
5
5
|
|
|
@@ -63,7 +63,7 @@ Does the change fit the system's design?
|
|
|
63
63
|
|
|
64
64
|
### 4. Security
|
|
65
65
|
|
|
66
|
-
For detailed security guidance, see `security-and-hardening`. Does the change introduce vulnerabilities?
|
|
66
|
+
For detailed security guidance, see `i3-security-and-hardening`. Does the change introduce vulnerabilities?
|
|
67
67
|
|
|
68
68
|
- Is user input validated and sanitized?
|
|
69
69
|
- Are secrets kept out of code, logs, and version control?
|
|
@@ -76,7 +76,7 @@ For detailed security guidance, see `security-and-hardening`. Does the change in
|
|
|
76
76
|
|
|
77
77
|
### 5. Performance
|
|
78
78
|
|
|
79
|
-
For detailed profiling and optimization, see `performance-optimization`. Does the change introduce performance problems?
|
|
79
|
+
For detailed profiling and optimization, see `i3-performance-optimization`. Does the change introduce performance problems?
|
|
80
80
|
|
|
81
81
|
- Any N+1 query patterns?
|
|
82
82
|
- Any unbounded loops or unconstrained data fetching?
|
|
@@ -161,7 +161,7 @@ Tests reveal intent and coverage:
|
|
|
161
161
|
- Would the tests catch a regression if the code changed?
|
|
162
162
|
```
|
|
163
163
|
|
|
164
|
-
Answer the last question by experiment, not by reading. Invert one condition the change adds (drop a negation, swap `&&` for `||`), run the suite, then restore the file from a copy. A mutation that stays green is a finding: name the test case that is missing. For a project-wide mutation score, see `constraint-driven-development`.
|
|
164
|
+
Answer the last question by experiment, not by reading. Invert one condition the change adds (drop a negation, swap `&&` for `||`), run the suite, then restore the file from a copy. A mutation that stays green is a finding: name the test case that is missing. For a project-wide mutation score, see `i3-constraint-driven-development`.
|
|
165
165
|
|
|
166
166
|
### Step 3: Review the Implementation
|
|
167
167
|
|
|
@@ -299,7 +299,7 @@ Part of code review is dependency review:
|
|
|
299
299
|
4. **Mind the transitive graph.** Most installed packages are ones nobody chose directly. Review the lockfile diff, not just `package.json`; a single direct bump can pull in dozens of indirect changes.
|
|
300
300
|
5. **Keep the lockfile honest.** Commit it, review its diff, and never hand-edit it. The lockfile is the thing that actually pins what ships.
|
|
301
301
|
|
|
302
|
-
For triaging `npm audit` findings and supply-chain risk (typosquatting, compromised maintainers), follow the `security-and-hardening` skill — this section covers the upgrade *workflow*, that one covers the security verdict.
|
|
302
|
+
For triaging `npm audit` findings and supply-chain risk (typosquatting, compromised maintainers), follow the `i3-security-and-hardening` skill — this section covers the upgrade *workflow*, that one covers the security verdict.
|
|
303
303
|
|
|
304
304
|
## The Review Checklist
|
|
305
305
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: code-simplification
|
|
2
|
+
name: i3-code-simplification
|
|
3
3
|
description: Simplifies code for clarity. Use when refactoring code for clarity without changing behavior. Use when code works but is harder to read, maintain, or extend than it should be. Use when reviewing code that has accumulated unnecessary complexity.
|
|
4
4
|
---
|
|
5
5
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: constraint-driven-development
|
|
2
|
+
name: i3-constraint-driven-development
|
|
3
3
|
description: Establishes a project's quality bar as a written contract and stops agents quietly lowering it. Interviews the user on which dimensions matter, supplies sane default thresholds when they have no number in mind, records everything in CONSTRAINTS.md, and watches the diff for a weakened bar — new @ts-ignore or eslint-disable suppressions, skipped or deleted tests, assertions stripped out, unimplemented stubs, thresholds edited down. Use when no quality bar is written down, when the user says "set up constraints" or "define our standards", when the user wants dimensions they care about — accessibility, web performance, coverage — set up as enforced constraints, when an agent keeps silencing checks or skipping tests to get to green, when you need a coverage or performance threshold and don't know what number to pick, or when an agent writes more code than anyone will read.
|
|
4
4
|
---
|
|
5
5
|
|
|
@@ -7,7 +7,7 @@ description: Establishes a project's quality bar as a written contract and stops
|
|
|
7
7
|
|
|
8
8
|
## Overview
|
|
9
9
|
|
|
10
|
-
Other skills in this pack describe what good looks like. `code-review-and-quality` gives you five axes. `test-driven-development` gives you a cycle. `security-and-hardening` gives you a threat list. All of that lives in prose the agent reads and may or may not follow, and none of it survives the end of the session.
|
|
10
|
+
Other skills in this pack describe what good looks like. `i3-code-review-and-quality` gives you five axes. `i3-test-driven-development` gives you a cycle. `i3-security-and-hardening` gives you a threat list. All of that lives in prose the agent reads and may or may not follow, and none of it survives the end of the session.
|
|
11
11
|
|
|
12
12
|
This skill produces something different: a written record of **this project's** bar, with numbers, that outlives the conversation and can be checked mechanically.
|
|
13
13
|
|
|
@@ -24,13 +24,13 @@ Apply this skill when:
|
|
|
24
24
|
- An agent is producing volume nobody is reading line by line
|
|
25
25
|
- CI has checks but nobody can say which ones block a merge and which ones are decoration
|
|
26
26
|
- Coverage, performance, or accessibility numbers get argued about per-PR instead of decided once
|
|
27
|
-
- You're about to run `/build auto` or any autonomous loop, and the only thing standing between it and main is a test suite the agent also wrote
|
|
27
|
+
- You're about to run `/i3-build auto` or any autonomous loop, and the only thing standing between it and main is a test suite the agent also wrote
|
|
28
28
|
|
|
29
29
|
**When NOT to use:**
|
|
30
30
|
|
|
31
31
|
- The project already has a `CONSTRAINTS.md` and the user isn't changing it — read it and follow it instead
|
|
32
32
|
- One-off scripts, spikes, throwaway prototypes
|
|
33
|
-
- The user wants a code review right now (`code-review-and-quality`) or a CI pipeline built (`ci-cd-and-automation`)
|
|
33
|
+
- The user wants a code review right now (`i3-code-review-and-quality`) or a CI pipeline built (`i3-ci-cd-and-automation`)
|
|
34
34
|
- Pre-product-market-fit code with a two-week expected lifetime — the floor below is still worth it, the rest isn't
|
|
35
35
|
|
|
36
36
|
## Loading Constraints
|
|
@@ -56,7 +56,7 @@ Report what you found in two lines, then ask only what's left.
|
|
|
56
56
|
|
|
57
57
|
### Step 2: Four questions, each with a default
|
|
58
58
|
|
|
59
|
-
Follow the one-question-at-a-time discipline from `interview-me`, with one change: every question here has a default, so "I don't know" is a complete answer that still produces a working config.
|
|
59
|
+
Follow the one-question-at-a-time discipline from `i3-interview-me`, with one change: every question here has a default, so "I don't know" is a complete answer that still produces a working config.
|
|
60
60
|
|
|
61
61
|
```
|
|
62
62
|
Q1: Beyond the floor, which of these do you want enforced?
|
|
@@ -189,10 +189,10 @@ The single biggest mistake is running everything everywhere. A check that stalls
|
|
|
189
189
|
|
|
190
190
|
| Phase | Command | What runs | Budget |
|
|
191
191
|
|-------|---------|-----------|--------|
|
|
192
|
-
| BUILD | `/build` | Types, lint, secrets, the floor | under 5s, changed file only |
|
|
193
|
-
| VERIFY | `/test` | Related tests, coverage on changed lines | under 90s |
|
|
194
|
-
| REVIEW | `/review` | Everything, plus the guards below | minutes |
|
|
195
|
-
| SHIP | `/ship` | Direction checks, no regressions | CI |
|
|
192
|
+
| BUILD | `/i3-build` | Types, lint, secrets, the floor | under 5s, changed file only |
|
|
193
|
+
| VERIFY | `/i3-test` | Related tests, coverage on changed lines | under 90s |
|
|
194
|
+
| REVIEW | `/i3-review` | Everything, plus the guards below | minutes |
|
|
195
|
+
| SHIP | `/i3-ship` | Direction checks, no regressions | CI |
|
|
196
196
|
|
|
197
197
|
Two rules that keep this tolerable:
|
|
198
198
|
|
|
@@ -303,9 +303,9 @@ The skill was applied correctly when:
|
|
|
303
303
|
|
|
304
304
|
## See Also
|
|
305
305
|
|
|
306
|
-
- `interview-me` — the one-question-at-a-time discipline this skill's intake borrows
|
|
307
|
-
- `code-review-and-quality` — how to review; this skill decides what the review enforces
|
|
308
|
-
- `ci-cd-and-automation` — building the pipeline these constraints run in
|
|
309
|
-
- `test-driven-development` — the suite that coverage and mutation constraints measure
|
|
310
|
-
- `security-and-hardening` — what the security dimension should contain
|
|
311
|
-
- `performance-optimization` — where the performance numbers come from
|
|
306
|
+
- `i3-interview-me` — the one-question-at-a-time discipline this skill's intake borrows
|
|
307
|
+
- `i3-code-review-and-quality` — how to review; this skill decides what the review enforces
|
|
308
|
+
- `i3-ci-cd-and-automation` — building the pipeline these constraints run in
|
|
309
|
+
- `i3-test-driven-development` — the suite that coverage and mutation constraints measure
|
|
310
|
+
- `i3-security-and-hardening` — what the security dimension should contain
|
|
311
|
+
- `i3-performance-optimization` — where the performance numbers come from
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: context-engineering
|
|
2
|
+
name: i3-context-engineering
|
|
3
3
|
description: Optimizes agent context setup. Use when starting a new session, when agent output quality degrades, when switching between tasks, or when you need to configure rules files and context for a project.
|
|
4
4
|
---
|
|
5
5
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: debugging-and-error-recovery
|
|
2
|
+
name: i3-debugging-and-error-recovery
|
|
3
3
|
description: Guides systematic root-cause debugging. Use when tests fail, builds break, something that worked yesterday broke, behavior doesn't match expectations, or you encounter any unexpected error. Use when you need to figure out what broke and why — a systematic approach to finding and fixing the root cause rather than guessing.
|
|
4
4
|
---
|
|
5
5
|
|
|
@@ -72,7 +72,7 @@ Cannot reproduce on demand:
|
|
|
72
72
|
└── Document the conditions observed and revisit when it recurs
|
|
73
73
|
```
|
|
74
74
|
|
|
75
|
-
For test failures (npm shown — substitute the repository's own test command, per the test-driven-development skill's Discover the Stack First section):
|
|
75
|
+
For test failures (npm shown — substitute the repository's own test command, per the i3-test-driven-development skill's Discover the Stack First section):
|
|
76
76
|
```bash
|
|
77
77
|
# Run the specific failing test
|
|
78
78
|
npm test -- --grep "test name"
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: deprecation-and-migration
|
|
2
|
+
name: i3-deprecation-and-migration
|
|
3
3
|
description: Manages deprecation and migration. Use when removing old systems, APIs, or features. Use when migrating users from one implementation to another. Use when migrating a database schema in production, such as renaming or dropping a column without downtime (expand/contract). Use when deciding whether to maintain or sunset existing code.
|
|
4
4
|
---
|
|
5
5
|
|
|
@@ -180,7 +180,7 @@ the old one the app a later, separate deploy
|
|
|
180
180
|
4. **Switch reads.** Point the app at `full_name`, keep writing both. Deploy and bake.
|
|
181
181
|
5. **Contract.** Stop writing `name`, then — in a *separate, later* deploy — drop the column.
|
|
182
182
|
|
|
183
|
-
Each step is independently deployable and reversible: if step 4 misbehaves, roll the code back and `full_name` is still being populated. Treat each phase as a thin vertical slice — see the `incremental-implementation` skill.
|
|
183
|
+
Each step is independently deployable and reversible: if step 4 misbehaves, roll the code back and `full_name` is still being populated. Treat each phase as a thin vertical slice — see the `i3-incremental-implementation` skill.
|
|
184
184
|
|
|
185
185
|
**Rules:**
|
|
186
186
|
- **Additive first, destructive last and alone.** Adds (new nullable column, new table, new index) are safe in any deploy; drops and renames get their own deploy *after* no code references the old shape.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: documentation-and-adrs
|
|
2
|
+
name: i3-documentation-and-adrs
|
|
3
3
|
description: Records decisions and documentation. Use when you need to document an architecture decision (ADR) or the reasoning behind a design choice, when changing public APIs, shipping features, or when you need to record context that future engineers and agents will need to understand the codebase.
|
|
4
4
|
---
|
|
5
5
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: doubt-driven-development
|
|
2
|
+
name: i3-doubt-driven-development
|
|
3
3
|
description: Subjects every non-trivial decision to a fresh-context adversarial review before it stands. Use when you want every assumption cross-examined before proceeding, when stress-testing a plan for hidden failure modes, when correctness matters more than speed, when working in unfamiliar code, when stakes are high (production auth, security-sensitive logic, a high-stakes migration, irreversible operations), or any time a confident output would be cheaper to verify now than to debug later.
|
|
4
4
|
---
|
|
5
5
|
|
|
@@ -9,7 +9,7 @@ description: Subjects every non-trivial decision to a fresh-context adversarial
|
|
|
9
9
|
|
|
10
10
|
A confident answer is not a correct one. Long sessions accumulate context that quietly turns assumptions into "facts" without anyone noticing. Doubt-driven development is the discipline of materializing a fresh-context reviewer — biased to **disprove**, not approve — before any non-trivial output stands.
|
|
11
11
|
|
|
12
|
-
This is not `/review`. `/review` is a verdict on a finished artifact. This is an in-flight posture: non-trivial decisions get cross-examined while course-correction is still cheap.
|
|
12
|
+
This is not `/i3-review`. `/i3-review` is a verdict on a finished artifact. This is an in-flight posture: non-trivial decisions get cross-examined while course-correction is still cheap.
|
|
13
13
|
|
|
14
14
|
## When to Use
|
|
15
15
|
|
|
@@ -197,7 +197,7 @@ If 3 cycles is "obviously insufficient" because the artifact is large: the artif
|
|
|
197
197
|
| "I'm confident, skip the doubt step" | Confidence correlates poorly with correctness on novel problems. Moments of certainty are exactly when blind spots hide. |
|
|
198
198
|
| "Spawning a reviewer is expensive" | Debugging a wrong commit in production is more expensive. The check is bounded; the bug isn't. |
|
|
199
199
|
| "The reviewer will just nitpick" | Only if unscoped. Constrain the prompt to "issues that would make this fail under the contract." |
|
|
200
|
-
| "I'll do doubt at the end with `/review`" | `/review` is a final gate. Doubt-driven catches wrong directions early when course-correction is cheap. By PR time it's too late. |
|
|
200
|
+
| "I'll do doubt at the end with `/i3-review`" | `/i3-review` is a final gate. Doubt-driven catches wrong directions early when course-correction is cheap. By PR time it's too late. |
|
|
201
201
|
| "If I doubt every step I'll never ship" | The skill applies to non-trivial decisions, not every keystroke. Re-read "When NOT to Use." |
|
|
202
202
|
| "Two opinions are always better than one" | Not when the second has less context and produces noise. Reconcile, don't defer. |
|
|
203
203
|
| "The reviewer disagreed so I was wrong" | The reviewer lacks your context — disagreement is information, not verdict. Re-read the artifact, classify, then decide. |
|
|
@@ -213,7 +213,7 @@ If 3 cycles is "obviously insufficient" because the artifact is large: the artif
|
|
|
213
213
|
- Skipping doubt under time pressure on a high-stakes decision
|
|
214
214
|
- Re-spawning fresh-context on an unchanged artifact (you'll get the same findings; you're stalling)
|
|
215
215
|
- **Doubt theater (checkable signal)**: across 2 or more cycles where the reviewer surfaced substantive findings, zero findings were classified as actionable. You are validating, not doubting. Stop and escalate.
|
|
216
|
-
- Doubting only after committing — that's `/review`, not doubt-driven development
|
|
216
|
+
- Doubting only after committing — that's `/i3-review`, not doubt-driven development
|
|
217
217
|
- Hardcoding an external CLI invocation without confirming with the user that the tool exists, is configured, and accepts that exact syntax
|
|
218
218
|
- **Silently skipping cross-model in an interactive doubt cycle.** Even when not recommending it, the offer must be visible. Skipping is fine; silent skipping is not.
|
|
219
219
|
- Falling back silently when an external CLI errors or is missing — surface the failure and let the user redirect
|
|
@@ -222,10 +222,10 @@ If 3 cycles is "obviously insufficient" because the artifact is large: the artif
|
|
|
222
222
|
|
|
223
223
|
## Interaction with Other Skills
|
|
224
224
|
|
|
225
|
-
- **`code-review-and-quality` / `/review`**: complementary. `/review` is post-hoc PR verdict; doubt-driven is in-flight per-decision. Use both.
|
|
226
|
-
- **`source-driven-development`**: SDD verifies *facts about frameworks* against official docs. Doubt-driven verifies *your reasoning about the artifact*. SDD checks the API exists; doubt-driven checks you used it correctly under the contract.
|
|
227
|
-
- **`test-driven-development`**: TDD's RED step is doubt made concrete — a failing test is a disproof attempt. When TDD applies, that failing test *is* the doubt step for behavioral claims.
|
|
228
|
-
- **`debugging-and-error-recovery`**: when the reviewer surfaces a real failure mode, drop into the debugging skill to localize and fix.
|
|
225
|
+
- **`i3-code-review-and-quality` / `/i3-review`**: complementary. `/i3-review` is post-hoc PR verdict; doubt-driven is in-flight per-decision. Use both.
|
|
226
|
+
- **`i3-source-driven-development`**: SDD verifies *facts about frameworks* against official docs. Doubt-driven verifies *your reasoning about the artifact*. SDD checks the API exists; doubt-driven checks you used it correctly under the contract.
|
|
227
|
+
- **`i3-test-driven-development`**: TDD's RED step is doubt made concrete — a failing test is a disproof attempt. When TDD applies, that failing test *is* the doubt step for behavioral claims.
|
|
228
|
+
- **`i3-debugging-and-error-recovery`**: when the reviewer surfaces a real failure mode, drop into the debugging skill to localize and fix.
|
|
229
229
|
- **Repo orchestration rules** (`../../references/orchestration-patterns.md`): this skill orchestrates from the main session. A persona calling another persona is anti-pattern B — see Loading Constraints above.
|
|
230
230
|
|
|
231
231
|
## Verification
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: frontend-ui-engineering
|
|
2
|
+
name: i3-frontend-ui-engineering
|
|
3
3
|
description: Builds production-quality, accessible, responsive user-facing UIs. Use when building or modifying interfaces and pages, creating components, implementing layouts, meeting WCAG accessibility requirements, managing state, or when the output needs to look and feel production-quality rather than AI-generated.
|
|
4
4
|
---
|
|
5
5
|
|