@givolt/i3-composer-agent 0.0.0-stage → 0.6.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agents/plugins/marketplace.json +22 -0
- package/.claude/commands/build.md +44 -0
- package/.claude/commands/code-simplify.md +22 -0
- package/.claude/commands/constraints.md +32 -0
- package/.claude/commands/plan.md +18 -0
- package/.claude/commands/review.md +16 -0
- package/.claude/commands/ship.md +72 -0
- package/.claude/commands/spec.md +17 -0
- package/.claude/commands/test.md +19 -0
- package/.claude/commands/webperf.md +32 -0
- package/.claude-plugin/marketplace.json +26 -0
- package/.claude-plugin/plugin.json +17 -0
- package/.codex-plugin/plugin.json +26 -0
- package/.gemini/commands/build.toml +43 -0
- package/.gemini/commands/code-simplify.toml +22 -0
- package/.gemini/commands/constraints.toml +32 -0
- package/.gemini/commands/planning.toml +18 -0
- package/.gemini/commands/review.toml +16 -0
- package/.gemini/commands/ship.toml +72 -0
- package/.gemini/commands/spec.toml +17 -0
- package/.gemini/commands/test.toml +19 -0
- package/.gemini/commands/webperf.toml +32 -0
- package/LICENSE +21 -0
- package/NOTICE.md +9 -0
- package/README.md +177 -2
- package/agents/code-reviewer.md +102 -0
- package/agents/security-auditor.md +112 -0
- package/agents/test-engineer.md +95 -0
- package/agents/web-performance-auditor.md +184 -0
- package/bin/i3-composer-agent.cjs +119 -0
- package/commands/build.toml +43 -0
- package/commands/code-simplify.toml +22 -0
- package/commands/constraints.toml +32 -0
- package/commands/planning.toml +18 -0
- package/commands/review.toml +16 -0
- package/commands/ship.toml +72 -0
- package/commands/spec.toml +17 -0
- package/commands/test.toml +19 -0
- package/commands/webperf.toml +32 -0
- package/docs/adoption-guide.md +129 -0
- package/docs/advanced-per-agent-configuration.md +70 -0
- package/docs/agents.md +123 -0
- package/docs/antigravity-setup.md +128 -0
- package/docs/codebuddy-setup.md +41 -0
- package/docs/codex-setup.md +34 -0
- package/docs/commandcode-setup.md +69 -0
- package/docs/comparison.md +131 -0
- package/docs/copilot-cli-setup.md +64 -0
- package/docs/copilot-setup.md +162 -0
- package/docs/cursor-setup.md +225 -0
- package/docs/developer-onboarding.md +116 -0
- package/docs/gemini-cli-setup.md +133 -0
- package/docs/getting-started.md +208 -0
- package/docs/opencode-setup.md +259 -0
- package/docs/other-hosts.md +7 -0
- package/docs/skill-anatomy.md +203 -0
- package/docs/windsurf-setup.md +48 -0
- package/evals/README.md +101 -0
- package/evals/cases/api-and-interface-design.json +45 -0
- package/evals/cases/browser-testing-with-devtools.json +44 -0
- package/evals/cases/ci-cd-and-automation.json +45 -0
- package/evals/cases/code-review-and-quality.json +49 -0
- package/evals/cases/code-simplification.json +45 -0
- package/evals/cases/constraint-driven-development.json +79 -0
- package/evals/cases/context-engineering.json +44 -0
- package/evals/cases/debugging-and-error-recovery.json +58 -0
- package/evals/cases/deprecation-and-migration.json +52 -0
- package/evals/cases/documentation-and-adrs.json +44 -0
- package/evals/cases/doubt-driven-development.json +43 -0
- package/evals/cases/frontend-ui-engineering.json +52 -0
- package/evals/cases/git-workflow-and-versioning.json +47 -0
- package/evals/cases/idea-refine.json +43 -0
- package/evals/cases/incremental-implementation.json +57 -0
- package/evals/cases/interview-me.json +42 -0
- package/evals/cases/observability-and-instrumentation.json +44 -0
- package/evals/cases/performance-optimization.json +53 -0
- package/evals/cases/planning-and-task-breakdown.json +45 -0
- package/evals/cases/security-and-hardening.json +53 -0
- package/evals/cases/shipping-and-launch.json +56 -0
- package/evals/cases/source-driven-development.json +44 -0
- package/evals/cases/spec-driven-development.json +72 -0
- package/evals/cases/test-driven-development.json +73 -0
- package/evals/cases/using-agent-skills.json +44 -0
- package/evals/fixtures/api-and-interface-design/service-brief.md +19 -0
- package/evals/fixtures/browser-testing-with-devtools/README.md +5 -0
- package/evals/fixtures/browser-testing-with-devtools/index.html +24 -0
- package/evals/fixtures/browser-testing-with-devtools/server.js +15 -0
- package/evals/fixtures/ci-cd-and-automation/package.json +8 -0
- package/evals/fixtures/ci-cd-and-automation/src/slug.js +3 -0
- package/evals/fixtures/ci-cd-and-automation/test/slug.test.js +9 -0
- package/evals/fixtures/code-review-and-quality/user-search.diff +16 -0
- package/evals/fixtures/code-simplification/config-parser.js +46 -0
- package/evals/fixtures/code-simplification/config-parser.test.js +15 -0
- package/evals/fixtures/context-engineering/context-audit.md +15 -0
- package/evals/fixtures/debugging-and-error-recovery/pagination.js +8 -0
- package/evals/fixtures/debugging-and-error-recovery/pagination.test.js +9 -0
- package/evals/fixtures/debugging-and-error-recovery/time-pressure.md +6 -0
- package/evals/fixtures/deprecation-and-migration/api-inventory.md +9 -0
- package/evals/fixtures/documentation-and-adrs/decision-context.md +16 -0
- package/evals/fixtures/doubt-driven-development/migration-plan.md +19 -0
- package/evals/fixtures/frontend-ui-engineering/Button.tsx +7 -0
- package/evals/fixtures/frontend-ui-engineering/design-system.md +11 -0
- package/evals/fixtures/git-workflow-and-versioning/.eval/working-tree.patch +21 -0
- package/evals/fixtures/git-workflow-and-versioning/app.js +7 -0
- package/evals/fixtures/git-workflow-and-versioning/app.test.js +9 -0
- package/evals/fixtures/incremental-implementation/reports.js +7 -0
- package/evals/fixtures/incremental-implementation/reports.test.js +12 -0
- package/evals/fixtures/incremental-implementation/tasks/plan.md +8 -0
- package/evals/fixtures/incremental-implementation-pressure/draft-export.js +17 -0
- package/evals/fixtures/incremental-implementation-pressure/scenario.md +9 -0
- package/evals/fixtures/observability-and-instrumentation/operations.md +11 -0
- package/evals/fixtures/observability-and-instrumentation/payment-retry.js +14 -0
- package/evals/fixtures/performance-optimization/benchmark.js +15 -0
- package/evals/fixtures/performance-optimization/products.js +14 -0
- package/evals/fixtures/planning-and-task-breakdown/notifications-spec.md +18 -0
- package/evals/fixtures/security-and-hardening/webhook.js +11 -0
- package/evals/fixtures/security-and-hardening/webhook.test.js +13 -0
- package/evals/fixtures/shipping-and-launch/authority-pressure.md +6 -0
- package/evals/fixtures/shipping-and-launch/launch-status.md +11 -0
- package/evals/fixtures/source-driven-development/framework-task.md +10 -0
- package/evals/fixtures/spec-driven-development/billing-brief.md +16 -0
- package/evals/fixtures/spec-driven-development-decomposition/portal-brief.md +22 -0
- package/evals/fixtures/test-driven-development/BUG.md +10 -0
- package/evals/fixtures/test-driven-development/README.md +28 -0
- package/evals/fixtures/test-driven-development/package.json +9 -0
- package/evals/fixtures/test-driven-development/src/split.js +8 -0
- package/evals/fixtures/test-driven-development/test/split.test.js +13 -0
- package/evals/fixtures/test-driven-development-ecosystem/README.md +9 -0
- package/evals/fixtures/test-driven-development-ecosystem/ledger.py +15 -0
- package/evals/fixtures/test-driven-development-ecosystem/test_ledger.py +19 -0
- package/evals/fixtures/using-agent-skills/incident.md +6 -0
- package/evals/plugin/code-review-fires/graders/off-by-one.md +7 -0
- package/evals/plugin/code-review-fires/graders/severity-labels.md +4 -0
- package/evals/plugin/code-review-fires/graders/skill-fired.md +5 -0
- package/evals/plugin/code-review-fires/prompt.md +31 -0
- package/evals/plugin/code-review-stays-quiet/graders/not-fired.md +8 -0
- package/evals/plugin/code-review-stays-quiet/graders/tdd-fired.md +6 -0
- package/evals/plugin/code-review-stays-quiet/prompt.md +8 -0
- package/evals/plugin/code-review-stays-quiet-on-commit-message/graders/not-fired.md +8 -0
- package/evals/plugin/code-review-stays-quiet-on-commit-message/prompt.md +25 -0
- package/evals/skill-impact.md +6 -0
- package/hooks/SDD-CACHE.md +167 -0
- package/hooks/SIMPLIFY-IGNORE.md +91 -0
- package/hooks/sdd-cache-post.sh +135 -0
- package/hooks/sdd-cache-pre.sh +106 -0
- package/hooks/sdd-cache-test.sh +246 -0
- package/hooks/session-start-test.sh +47 -0
- package/hooks/session-start.sh +33 -0
- package/hooks/simplify-ignore-test.sh +476 -0
- package/hooks/simplify-ignore.sh +352 -0
- package/package.json +31 -4
- package/plugin.json +5 -0
- package/rebrand/MAINTENANCE.md +51 -0
- package/rebrand/apply.cjs +121 -0
- package/rebrand/brand.json +9 -0
- package/rebrand/templates/README.md +178 -0
- package/rebrand/templates/codebuddy-setup.md +41 -0
- package/rebrand/templates/codex-setup.md +34 -0
- package/references/accessibility-checklist.md +160 -0
- package/references/definition-of-done.md +67 -0
- package/references/observability-checklist.md +92 -0
- package/references/orchestration-patterns.md +370 -0
- package/references/performance-checklist.md +236 -0
- package/references/security-checklist.md +248 -0
- package/references/testing-patterns.md +235 -0
- package/scripts/floor-guard-reference-test.js +291 -0
- package/scripts/lib/skill-lint-test.js +650 -0
- package/scripts/lib/skill-lint.js +584 -0
- package/scripts/run-evals-test.js +623 -0
- package/scripts/run-evals.js +638 -0
- package/scripts/validate-artifact-paths-test.js +179 -0
- package/scripts/validate-artifact-paths.js +128 -0
- package/scripts/validate-brand.cjs +36 -0
- package/scripts/validate-commands-test.js +216 -0
- package/scripts/validate-commands.js +222 -0
- package/scripts/validate-reference-links-test.js +495 -0
- package/scripts/validate-reference-links.js +187 -0
- package/scripts/validate-skills.js +69 -0
- package/scripts/validate-versions-test.js +32 -0
- package/scripts/validate-versions.js +35 -0
- package/skills/api-and-interface-design/SKILL.md +367 -0
- package/skills/browser-testing-with-devtools/SKILL.md +317 -0
- package/skills/ci-cd-and-automation/SKILL.md +390 -0
- package/skills/code-review-and-quality/SKILL.md +398 -0
- package/skills/code-simplification/SKILL.md +331 -0
- package/skills/constraint-driven-development/SKILL.md +311 -0
- package/skills/constraint-driven-development/references/floor-guard.md +182 -0
- package/skills/context-engineering/SKILL.md +353 -0
- package/skills/debugging-and-error-recovery/SKILL.md +300 -0
- package/skills/deprecation-and-migration/SKILL.md +247 -0
- package/skills/documentation-and-adrs/SKILL.md +288 -0
- package/skills/doubt-driven-development/SKILL.md +243 -0
- package/skills/frontend-ui-engineering/SKILL.md +340 -0
- package/skills/git-workflow-and-versioning/SKILL.md +355 -0
- package/skills/idea-refine/SKILL.md +178 -0
- package/skills/idea-refine/examples.md +238 -0
- package/skills/idea-refine/frameworks.md +99 -0
- package/skills/idea-refine/refinement-criteria.md +113 -0
- package/skills/idea-refine/scripts/idea-refine.sh +15 -0
- package/skills/incremental-implementation/SKILL.md +249 -0
- package/skills/interview-me/SKILL.md +235 -0
- package/skills/observability-and-instrumentation/SKILL.md +238 -0
- package/skills/performance-optimization/SKILL.md +267 -0
- package/skills/performance-optimization/references/optimization-patterns.md +250 -0
- package/skills/planning-and-task-breakdown/SKILL.md +257 -0
- package/skills/security-and-hardening/SKILL.md +216 -0
- package/skills/security-and-hardening/references/hardening-patterns.md +324 -0
- package/skills/shipping-and-launch/SKILL.md +330 -0
- package/skills/source-driven-development/SKILL.md +216 -0
- package/skills/spec-driven-development/SKILL.md +259 -0
- package/skills/test-driven-development/SKILL.md +398 -0
- package/skills/using-agent-skills/SKILL.md +192 -0
- package/tests/bundle.test.cjs +79 -0
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
description = "Run a web performance audit via the web-performance-auditor persona"
|
|
2
|
+
|
|
3
|
+
prompt = """
|
|
4
|
+
/webperf targets web applications specifically. Do not use it for utility libraries, CLIs, or server-only code with no browser-facing output.
|
|
5
|
+
|
|
6
|
+
## Determine the mode
|
|
7
|
+
|
|
8
|
+
Deep mode — activate when any of these is available:
|
|
9
|
+
- 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)
|
|
10
|
+
- A PageSpeed Insights JSON response (includes Lighthouse + CrUX)
|
|
11
|
+
- A CrUX API response (requires CRUX_API_KEY or GOOGLE_API_KEY)
|
|
12
|
+
- A DevTools performance trace
|
|
13
|
+
- A live URL plus the chrome-devtools MCP server configured in the harness (capture metrics directly via lighthouse_audit and performance_* tools)
|
|
14
|
+
- The Chrome DevTools MCP CLI invoked locally (via `npx -p chrome-devtools-mcp chrome-devtools <tool>`), passing the JSON output to the agent
|
|
15
|
+
|
|
16
|
+
Quick mode — default when none of the above are available. Scan source code for structural anti-patterns and label every finding as `potential impact`.
|
|
17
|
+
|
|
18
|
+
## Run the audit
|
|
19
|
+
|
|
20
|
+
Act as the web-performance-auditor persona (agents/web-performance-auditor.md) and follow it exactly. Work from:
|
|
21
|
+
|
|
22
|
+
- The files, components, or diff under review
|
|
23
|
+
- Any artifact paths (Lighthouse JSON, PSI JSON, CrUX response, trace) or pasted JSON content
|
|
24
|
+
- The target URL or page name when known
|
|
25
|
+
- The mode you expect (Quick or Deep); surface missing inputs if Deep was intended
|
|
26
|
+
|
|
27
|
+
Return a scorecard (only populated with sourced values — mark unmeasured fields `not measured`, never fabricate metrics), a ranked list of findings, positive observations, and proactive recommendations.
|
|
28
|
+
|
|
29
|
+
## Output
|
|
30
|
+
|
|
31
|
+
Return the full audit report to the user. No synthesis or merge step is needed — this is a single-persona command.
|
|
32
|
+
"""
|
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 Addy Osmani
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/NOTICE.md
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
# Attribution
|
|
2
|
+
|
|
3
|
+
i3 Composer Agent is a branded distribution of
|
|
4
|
+
[Agent Skills](https://github.com/addyosmani/agent-skills) by Addy Osmani.
|
|
5
|
+
The initial distribution is based on upstream commit `1401c8b` (version 0.6.12).
|
|
6
|
+
|
|
7
|
+
The original MIT license and copyright notice are preserved in LICENSE.
|
|
8
|
+
Givolt maintains the branding, npm distribution, and bundle preparation CLI.
|
|
9
|
+
The original skill IDs, command workflows, and persona definitions are retained.
|
package/README.md
CHANGED
|
@@ -1,3 +1,178 @@
|
|
|
1
|
-
#
|
|
1
|
+
# i3 Composer Agent
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
**Intelligence. Integration. Innovation.**
|
|
4
|
+
|
|
5
|
+
Production-grade engineering skills, lifecycle commands, and specialist personas
|
|
6
|
+
for AI coding agents. This is the engineering-skill product in the i3 Composer
|
|
7
|
+
family; the GSD-derived workflow product is maintained separately.
|
|
8
|
+
|
|
9
|
+
Based on [Agent Skills](https://github.com/addyosmani/agent-skills) by Addy Osmani
|
|
10
|
+
(MIT). See [NOTICE.md](NOTICE.md) for attribution and the upstream baseline.
|
|
11
|
+
|
|
12
|
+
## Prepare the complete plugin with npx
|
|
13
|
+
|
|
14
|
+
The npm package is `@givolt/i3-composer-agent`. The plugin and marketplace ID is
|
|
15
|
+
`i3-composer-agent`. Skill IDs and workflow behavior retain their upstream names.
|
|
16
|
+
|
|
17
|
+
Once the package is published, run this in the project where you want to use it:
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
npx @givolt/i3-composer-agent --codebuddy
|
|
21
|
+
# Or prepare a bundle for another host:
|
|
22
|
+
npx @givolt/i3-composer-agent --codex
|
|
23
|
+
npx @givolt/i3-composer-agent --claude
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
The CLI prepares a persistent `./i3-composer-agent/` directory with all 25 skills,
|
|
27
|
+
9 commands, 4 personas, and shared references. It prints the native registration
|
|
28
|
+
commands; run those in the selected host to enable the plugin.
|
|
29
|
+
|
|
30
|
+
### CodeBuddy / Claude Code
|
|
31
|
+
|
|
32
|
+
```text
|
|
33
|
+
/plugin marketplace add ./i3-composer-agent
|
|
34
|
+
/plugin install i3-composer-agent@i3-composer-agent
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
Use the absolute directory printed by the CLI if the host has a different
|
|
38
|
+
working directory. See [CodeBuddy setup](docs/codebuddy-setup.md).
|
|
39
|
+
|
|
40
|
+
### Codex
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
codex plugin marketplace add ./i3-composer-agent
|
|
44
|
+
codex plugin add i3-composer-agent@i3-composer-agent
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
Start a new Codex session. Invoke the existing skills by name, using `/skills`
|
|
48
|
+
or `$spec-driven-development` in CLI/IDE. This conversion preserves Codex's
|
|
49
|
+
skill adapter; lifecycle slash-command adaptation is a separate task.
|
|
50
|
+
See [Codex setup](docs/codex-setup.md).
|
|
51
|
+
|
|
52
|
+
### Bundle options
|
|
53
|
+
|
|
54
|
+
```bash
|
|
55
|
+
npx @givolt/i3-composer-agent --extract --dir /path/to/i3-composer-agent
|
|
56
|
+
npx @givolt/i3-composer-agent --codebuddy --dir /path/to/plugin --dry-run
|
|
57
|
+
npx @givolt/i3-composer-agent --codebuddy --dir /path/to/plugin --force
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
An existing directory is refused unless `--force` targets an i3 Composer Agent
|
|
61
|
+
bundle. Replacement keeps the previous directory as a backup. No repository
|
|
62
|
+
AGENTS.md or CLAUDE.md is copied into the target project.
|
|
63
|
+
|
|
64
|
+
## Commands
|
|
65
|
+
|
|
66
|
+
Hosts supporting Claude-compatible plugin commands load these workflows.
|
|
67
|
+
Use the namespaced form, for example `/i3-composer-agent:spec`.
|
|
68
|
+
|
|
69
|
+
| Command | Workflow |
|
|
70
|
+
| --- | --- |
|
|
71
|
+
| `/i3-composer-agent:spec` | Define objectives, constraints, and acceptance criteria |
|
|
72
|
+
| `/i3-composer-agent:plan` | Write ordered, verifiable tasks |
|
|
73
|
+
| `/i3-composer-agent:build` | Implement the next task with verification |
|
|
74
|
+
| `/i3-composer-agent:build auto` | Execute the approved plan with per-task verification |
|
|
75
|
+
| `/i3-composer-agent:test` | Test-first development and regression checks |
|
|
76
|
+
| `/i3-composer-agent:constraints` | Establish a written quality bar |
|
|
77
|
+
| `/i3-composer-agent:review` | Review code quality and correctness |
|
|
78
|
+
| `/i3-composer-agent:webperf` | Audit web performance |
|
|
79
|
+
| `/i3-composer-agent:code-simplify` | Simplify code without changing behavior |
|
|
80
|
+
| `/i3-composer-agent:ship` | Review launch readiness and rollback |
|
|
81
|
+
|
|
82
|
+
## All 25 Skills
|
|
83
|
+
|
|
84
|
+
The commands above are entry points. The pack includes 25 skills total — 24 lifecycle skills plus the `using-agent-skills` meta-skill. Each skill is a structured workflow with steps, verification gates, and anti-rationalization tables. You can also reference any skill directly.
|
|
85
|
+
|
|
86
|
+
### Meta - Discover which skill applies
|
|
87
|
+
|
|
88
|
+
| Skill | What It Does | Use When |
|
|
89
|
+
|-------|-------------|----------|
|
|
90
|
+
| [using-agent-skills](skills/using-agent-skills/SKILL.md) | Maps incoming work to the right skill workflow and defines shared operating rules | Starting a session or deciding which skill applies |
|
|
91
|
+
|
|
92
|
+
### Define - Clarify what to build
|
|
93
|
+
|
|
94
|
+
| Skill | What It Does | Use When |
|
|
95
|
+
|-------|-------------|----------|
|
|
96
|
+
| [interview-me](skills/interview-me/SKILL.md) | One-question-at-a-time interview that extracts what the user actually wants instead of what they think they should want, until ~95% confidence | The ask is underspecified, or the user invokes "interview me" / "grill me" |
|
|
97
|
+
| [idea-refine](skills/idea-refine/SKILL.md) | Structured divergent/convergent thinking to turn vague ideas into concrete proposals | You have a rough concept that needs exploration |
|
|
98
|
+
| [spec-driven-development](skills/spec-driven-development/SKILL.md) | Write a PRD covering objectives, commands, structure, code style, testing, and boundaries before any code | Starting a new project, feature, or significant change |
|
|
99
|
+
| [constraint-driven-development](skills/constraint-driven-development/SKILL.md) | Interviews you for a quality bar with sane default thresholds, writes CONSTRAINTS.md, places each check by cost, and catches agents silencing checks or skipping tests to get green | No standards are written down, or an agent is producing more than anyone reads |
|
|
100
|
+
|
|
101
|
+
### Plan - Break it down
|
|
102
|
+
|
|
103
|
+
| Skill | What It Does | Use When |
|
|
104
|
+
|-------|-------------|----------|
|
|
105
|
+
| [planning-and-task-breakdown](skills/planning-and-task-breakdown/SKILL.md) | Decompose specs into small, verifiable tasks with acceptance criteria and dependency ordering | You have a spec and need implementable units |
|
|
106
|
+
|
|
107
|
+
### Build - Write the code
|
|
108
|
+
|
|
109
|
+
| Skill | What It Does | Use When |
|
|
110
|
+
|-------|-------------|----------|
|
|
111
|
+
| [incremental-implementation](skills/incremental-implementation/SKILL.md) | Thin vertical slices - implement, test, verify, commit. Feature flags, safe defaults, rollback-friendly changes | Any change touching more than one file |
|
|
112
|
+
| [test-driven-development](skills/test-driven-development/SKILL.md) | Red-Green-Refactor, test pyramid (80/15/5), test sizes, DAMP over DRY, Beyonce Rule, browser testing | Implementing logic, fixing bugs, or changing behavior |
|
|
113
|
+
| [context-engineering](skills/context-engineering/SKILL.md) | Feed agents the right information at the right time - rules files, context packing, MCP integrations | Starting a session, switching tasks, or when output quality drops |
|
|
114
|
+
| [source-driven-development](skills/source-driven-development/SKILL.md) | Ground every framework decision in official documentation - verify, cite sources, flag what's unverified | You want authoritative, source-cited code for any framework or library |
|
|
115
|
+
| [doubt-driven-development](skills/doubt-driven-development/SKILL.md) | Adversarial fresh-context review of every non-trivial decision in-flight - CLAIM → EXTRACT → DOUBT → RECONCILE → STOP, with optional user-authorized cross-model escalation | Stakes are high (production, security, irreversible), working in unfamiliar code, or a confident output is cheaper to verify now than to debug later |
|
|
116
|
+
| [frontend-ui-engineering](skills/frontend-ui-engineering/SKILL.md) | Component architecture, design systems, state management, responsive design, WCAG 2.1 AA accessibility | Building or modifying user-facing interfaces |
|
|
117
|
+
| [api-and-interface-design](skills/api-and-interface-design/SKILL.md) | Contract-first design, Hyrum's Law, One-Version Rule, error semantics, boundary validation | Designing APIs, module boundaries, or public interfaces |
|
|
118
|
+
|
|
119
|
+
### Verify - Prove it works
|
|
120
|
+
|
|
121
|
+
| Skill | What It Does | Use When |
|
|
122
|
+
|-------|-------------|----------|
|
|
123
|
+
| [browser-testing-with-devtools](skills/browser-testing-with-devtools/SKILL.md) | Chrome DevTools MCP for live runtime data - DOM inspection, console logs, network traces, performance profiling | Building or debugging anything that runs in a browser |
|
|
124
|
+
| [debugging-and-error-recovery](skills/debugging-and-error-recovery/SKILL.md) | Five-step triage: reproduce, localize, reduce, fix, guard. Stop-the-line rule, safe fallbacks | Tests fail, builds break, or behavior is unexpected |
|
|
125
|
+
|
|
126
|
+
### Review - Quality gates before merge
|
|
127
|
+
|
|
128
|
+
| Skill | What It Does | Use When |
|
|
129
|
+
|-------|-------------|----------|
|
|
130
|
+
| [code-review-and-quality](skills/code-review-and-quality/SKILL.md) | Five-axis review, change sizing (~100 lines), severity labels (Nit/Optional/FYI), review speed norms, splitting strategies | Before merging any change |
|
|
131
|
+
| [code-simplification](skills/code-simplification/SKILL.md) | Chesterton's Fence, Rule of 500, reduce complexity while preserving exact behavior | Code works but is harder to read or maintain than it should be |
|
|
132
|
+
| [security-and-hardening](skills/security-and-hardening/SKILL.md) | OWASP Top 10 prevention, auth patterns, secrets management, dependency auditing, three-tier boundary system | Handling user input, auth, data storage, or external integrations |
|
|
133
|
+
| [performance-optimization](skills/performance-optimization/SKILL.md) | Measure-first approach - Core Web Vitals targets, profiling workflows, bundle analysis, anti-pattern detection | Performance requirements exist or you suspect regressions |
|
|
134
|
+
|
|
135
|
+
### Ship - Deploy with confidence
|
|
136
|
+
|
|
137
|
+
| Skill | What It Does | Use When |
|
|
138
|
+
|-------|-------------|----------|
|
|
139
|
+
| [git-workflow-and-versioning](skills/git-workflow-and-versioning/SKILL.md) | Trunk-based development, atomic commits, change sizing (~100 lines), the commit-as-save-point pattern | Making any code change (always) |
|
|
140
|
+
| [ci-cd-and-automation](skills/ci-cd-and-automation/SKILL.md) | Shift Left, Faster is Safer, feature flags, quality gate pipelines, failure feedback loops | Setting up or modifying build and deploy pipelines |
|
|
141
|
+
| [deprecation-and-migration](skills/deprecation-and-migration/SKILL.md) | Code-as-liability mindset, compulsory vs advisory deprecation, migration patterns, zombie code removal | Removing old systems, migrating users, or sunsetting features |
|
|
142
|
+
| [documentation-and-adrs](skills/documentation-and-adrs/SKILL.md) | Architecture Decision Records, API docs, inline documentation standards - document the *why* | Making architectural decisions, changing APIs, or shipping features |
|
|
143
|
+
| [observability-and-instrumentation](skills/observability-and-instrumentation/SKILL.md) | Structured logging, RED metrics, OpenTelemetry tracing, symptom-based alerting - instrument as you build | Adding telemetry, or shipping anything that runs in production |
|
|
144
|
+
| [shipping-and-launch](skills/shipping-and-launch/SKILL.md) | Pre-launch checklists, feature flag lifecycle, staged rollouts, rollback procedures, monitoring setup | Preparing to deploy to production |
|
|
145
|
+
|
|
146
|
+
---
|
|
147
|
+
|
|
148
|
+
## Personas and shared references
|
|
149
|
+
|
|
150
|
+
The four original personas remain in [agents/](agents/): code reviewer, security
|
|
151
|
+
auditor, test engineer, and web performance auditor. Shared checklists remain in [references/](references/).
|
|
152
|
+
Their relative layout is preserved across npm packaging and bundle extraction.
|
|
153
|
+
|
|
154
|
+
## Other hosts
|
|
155
|
+
|
|
156
|
+
The existing [host guides](docs/other-hosts.md) describe additional integrations.
|
|
157
|
+
Prepare the complete local bundle first and use its path in host-specific setup.
|
|
158
|
+
Per-skill installation is separate and may omit the shared references, command
|
|
159
|
+
wrappers, and personas.
|
|
160
|
+
|
|
161
|
+
## Development and release
|
|
162
|
+
|
|
163
|
+
```bash
|
|
164
|
+
npm run rebrand:check
|
|
165
|
+
npm run validate
|
|
166
|
+
npm test
|
|
167
|
+
node scripts/run-evals.js --min-rank1 95
|
|
168
|
+
npm pack --pack-destination /path/to/release-directory
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
[npx](https://docs.npmjs.com/cli/npm-exec/) runs the package executable;
|
|
172
|
+
`npm pack` builds a tarball and `npm publish` publishes it.
|
|
173
|
+
Local preparation does not establish registry publication or model behavior.
|
|
174
|
+
See [brand maintenance](rebrand/MAINTENANCE.md) for source/release separation.
|
|
175
|
+
|
|
176
|
+
## License
|
|
177
|
+
|
|
178
|
+
MIT. Original copyright and license are retained in [LICENSE](LICENSE).
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: code-reviewer
|
|
3
|
+
description: Senior code reviewer that evaluates changes across five dimensions — correctness, readability, architecture, security, and performance. Use for thorough code review before merge.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Senior Code Reviewer
|
|
7
|
+
|
|
8
|
+
You are an experienced Staff Engineer conducting a thorough code review. Your role is to evaluate the proposed changes and provide actionable, categorized feedback.
|
|
9
|
+
|
|
10
|
+
## Review Framework
|
|
11
|
+
|
|
12
|
+
Evaluate every change across these five dimensions:
|
|
13
|
+
|
|
14
|
+
### 1. Correctness
|
|
15
|
+
- Does the code do what the spec/task says it should?
|
|
16
|
+
- Are edge cases handled (null, empty, boundary values, error paths)?
|
|
17
|
+
- Do the tests actually verify the behavior? Are they testing the right things?
|
|
18
|
+
- Are there race conditions, off-by-one errors, or state inconsistencies?
|
|
19
|
+
|
|
20
|
+
### 2. Readability
|
|
21
|
+
- Can another engineer understand this without explanation?
|
|
22
|
+
- Are names descriptive and consistent with project conventions?
|
|
23
|
+
- Is the control flow straightforward (no deeply nested logic)?
|
|
24
|
+
- Is the code well-organized (related code grouped, clear boundaries)?
|
|
25
|
+
|
|
26
|
+
### 3. Architecture
|
|
27
|
+
- Does the change follow existing patterns or introduce a new one?
|
|
28
|
+
- If a new pattern, is it justified and documented?
|
|
29
|
+
- Are module boundaries maintained? Any circular dependencies?
|
|
30
|
+
- Is the abstraction level appropriate (not over-engineered, not too coupled)?
|
|
31
|
+
- Are dependencies flowing in the right direction?
|
|
32
|
+
|
|
33
|
+
### 4. Security
|
|
34
|
+
- Is user input validated and sanitized at system boundaries?
|
|
35
|
+
- Are secrets kept out of code, logs, and version control?
|
|
36
|
+
- Is authentication/authorization checked where needed?
|
|
37
|
+
- Are queries parameterized? Is output encoded?
|
|
38
|
+
- Any new dependencies with known vulnerabilities?
|
|
39
|
+
|
|
40
|
+
### 5. Performance
|
|
41
|
+
- Any N+1 query patterns?
|
|
42
|
+
- Any unbounded loops or unconstrained data fetching?
|
|
43
|
+
- Any synchronous operations that should be async?
|
|
44
|
+
- Any unnecessary re-renders (in UI components)?
|
|
45
|
+
- Any missing pagination on list endpoints?
|
|
46
|
+
|
|
47
|
+
## Output Format
|
|
48
|
+
|
|
49
|
+
Categorize every finding, using the same severity labels as the `code-review-and-quality` skill:
|
|
50
|
+
|
|
51
|
+
**Critical** — Blocks merge (security vulnerability, data loss risk, broken functionality)
|
|
52
|
+
|
|
53
|
+
**Required** — Must address before merge (missing test, wrong abstraction, poor error handling)
|
|
54
|
+
|
|
55
|
+
**Optional** — Worth considering but not required (a simpler design, a useful refactor)
|
|
56
|
+
|
|
57
|
+
**Nit** — Minor and optional; the author may ignore (formatting, naming, style preferences)
|
|
58
|
+
|
|
59
|
+
## Review Output Template
|
|
60
|
+
|
|
61
|
+
```markdown
|
|
62
|
+
## Review Summary
|
|
63
|
+
|
|
64
|
+
**Verdict:** APPROVE | REQUEST CHANGES
|
|
65
|
+
|
|
66
|
+
**Overview:** [1-2 sentences summarizing the change and overall assessment]
|
|
67
|
+
|
|
68
|
+
### Critical Issues
|
|
69
|
+
- [File:line] [Description and recommended fix]
|
|
70
|
+
|
|
71
|
+
### Required Changes
|
|
72
|
+
- [File:line] [Description and recommended fix]
|
|
73
|
+
|
|
74
|
+
### Optional
|
|
75
|
+
- [File:line] [Description]
|
|
76
|
+
|
|
77
|
+
### Nits
|
|
78
|
+
- [File:line] [Description]
|
|
79
|
+
|
|
80
|
+
### What's Done Well
|
|
81
|
+
- [Positive observation — always include at least one]
|
|
82
|
+
|
|
83
|
+
### Verification Story
|
|
84
|
+
- Tests reviewed: [yes/no, observations]
|
|
85
|
+
- Build verified: [yes/no]
|
|
86
|
+
- Security checked: [yes/no, observations]
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
## Rules
|
|
90
|
+
|
|
91
|
+
1. Review the tests first — they reveal intent and coverage
|
|
92
|
+
2. Read the spec or task description before reviewing code
|
|
93
|
+
3. Every Critical and Required finding should include a specific fix recommendation
|
|
94
|
+
4. Don't approve code with Critical issues
|
|
95
|
+
5. Acknowledge what's done well — specific praise motivates good practices
|
|
96
|
+
6. If you're uncertain about something, say so and suggest investigation rather than guessing
|
|
97
|
+
|
|
98
|
+
## Composition
|
|
99
|
+
|
|
100
|
+
- **Invoke directly when:** the user asks for a review of a specific change, file, or PR.
|
|
101
|
+
- **Invoke via:** `/review` (single-perspective review) or `/ship` (parallel fan-out alongside `security-auditor` and `test-engineer`).
|
|
102
|
+
- **Do not invoke from another persona.** If you find yourself wanting to delegate to `security-auditor` or `test-engineer`, surface that as a recommendation in your report instead — orchestration belongs to slash commands, not personas. See [docs/agents.md](../docs/agents.md).
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: security-auditor
|
|
3
|
+
description: Security engineer focused on vulnerability detection, threat modeling, and secure coding practices. Use for security-focused code review, threat analysis, or hardening recommendations.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Security Auditor
|
|
7
|
+
|
|
8
|
+
You are an experienced Security Engineer conducting a security review. Your role is to identify vulnerabilities, assess risk, and recommend mitigations. You focus on practical, exploitable issues rather than theoretical risks.
|
|
9
|
+
|
|
10
|
+
## Review Scope
|
|
11
|
+
|
|
12
|
+
### 1. Input Handling
|
|
13
|
+
- Is all user input validated at system boundaries?
|
|
14
|
+
- Are there injection vectors (SQL, NoSQL, OS command, LDAP)?
|
|
15
|
+
- Is HTML output encoded to prevent XSS?
|
|
16
|
+
- Are file uploads restricted by type, size, and content?
|
|
17
|
+
- Are URL redirects validated against an allowlist?
|
|
18
|
+
|
|
19
|
+
### 2. Authentication & Authorization
|
|
20
|
+
- Are passwords hashed with a strong algorithm (bcrypt, scrypt, argon2)?
|
|
21
|
+
- Are sessions managed securely (httpOnly, secure, sameSite cookies)?
|
|
22
|
+
- Is authorization checked on every protected endpoint?
|
|
23
|
+
- Can users access resources belonging to other users (IDOR)?
|
|
24
|
+
- Are password reset tokens time-limited and single-use?
|
|
25
|
+
- Is rate limiting applied to authentication endpoints?
|
|
26
|
+
|
|
27
|
+
### 3. Data Protection
|
|
28
|
+
- Are secrets in environment variables (not code)?
|
|
29
|
+
- Are sensitive fields excluded from API responses and logs?
|
|
30
|
+
- Is data encrypted in transit (HTTPS) and at rest (if required)?
|
|
31
|
+
- Is PII handled according to applicable regulations?
|
|
32
|
+
- Are database backups encrypted?
|
|
33
|
+
|
|
34
|
+
### 4. Infrastructure
|
|
35
|
+
- Are security headers configured (CSP, HSTS, X-Frame-Options)?
|
|
36
|
+
- Is CORS restricted to specific origins?
|
|
37
|
+
- Are dependencies audited for known vulnerabilities?
|
|
38
|
+
- Are error messages generic (no stack traces or internal details to users)?
|
|
39
|
+
- Is the principle of least privilege applied to service accounts?
|
|
40
|
+
|
|
41
|
+
### 5. Third-Party Integrations
|
|
42
|
+
- Are API keys and tokens stored securely?
|
|
43
|
+
- Are webhook payloads verified (signature validation)?
|
|
44
|
+
- Are third-party scripts loaded from trusted CDNs with integrity hashes?
|
|
45
|
+
- Are OAuth flows using PKCE and state parameters?
|
|
46
|
+
- Are server-side fetches of user-supplied URLs allowlisted (SSRF)?
|
|
47
|
+
|
|
48
|
+
### 6. AI / LLM Features (if present)
|
|
49
|
+
- Is model output treated as untrusted (never into `eval`, SQL, shell, `innerHTML`, file paths)?
|
|
50
|
+
- Is the system prompt relied on as a security boundary instead of code-enforced permissions (prompt injection)?
|
|
51
|
+
- Are secrets, cross-tenant data, or the full system prompt placed in the context window?
|
|
52
|
+
- Are tool/agent permissions scoped, with confirmation for destructive actions (excessive agency)?
|
|
53
|
+
- Are token, rate, and recursion limits set (unbounded consumption)?
|
|
54
|
+
|
|
55
|
+
Map findings to the OWASP Top 10 for LLM Applications where relevant.
|
|
56
|
+
|
|
57
|
+
## Severity Classification
|
|
58
|
+
|
|
59
|
+
| Severity | Criteria | Action |
|
|
60
|
+
|----------|----------|--------|
|
|
61
|
+
| **Critical** | Exploitable remotely, leads to data breach or full compromise | Fix immediately, block release |
|
|
62
|
+
| **High** | Exploitable with some conditions, significant data exposure | Fix before release |
|
|
63
|
+
| **Medium** | Limited impact or requires authenticated access to exploit | Fix in current sprint |
|
|
64
|
+
| **Low** | Theoretical risk or defense-in-depth improvement | Schedule for next sprint |
|
|
65
|
+
| **Info** | Best practice recommendation, no current risk | Consider adopting |
|
|
66
|
+
|
|
67
|
+
## Output Format
|
|
68
|
+
|
|
69
|
+
```markdown
|
|
70
|
+
## Security Audit Report
|
|
71
|
+
|
|
72
|
+
### Summary
|
|
73
|
+
- Critical: [count]
|
|
74
|
+
- High: [count]
|
|
75
|
+
- Medium: [count]
|
|
76
|
+
- Low: [count]
|
|
77
|
+
|
|
78
|
+
### Findings
|
|
79
|
+
|
|
80
|
+
#### [CRITICAL] [Finding title]
|
|
81
|
+
- **Location:** [file:line]
|
|
82
|
+
- **Description:** [What the vulnerability is]
|
|
83
|
+
- **Impact:** [What an attacker could do]
|
|
84
|
+
- **Proof of concept:** [How to exploit it]
|
|
85
|
+
- **Recommendation:** [Specific fix with code example]
|
|
86
|
+
|
|
87
|
+
#### [HIGH] [Finding title]
|
|
88
|
+
...
|
|
89
|
+
|
|
90
|
+
### Positive Observations
|
|
91
|
+
- [Security practices done well]
|
|
92
|
+
|
|
93
|
+
### Recommendations
|
|
94
|
+
- [Proactive improvements to consider]
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
## Rules
|
|
98
|
+
|
|
99
|
+
1. Focus on exploitable vulnerabilities, not theoretical risks
|
|
100
|
+
2. Every finding must include a specific, actionable recommendation
|
|
101
|
+
3. Provide proof of concept or exploitation scenario for Critical/High findings
|
|
102
|
+
4. Acknowledge good security practices — positive reinforcement matters
|
|
103
|
+
5. Check the OWASP Top 10 (and the LLM Top 10 for AI features) as a minimum baseline
|
|
104
|
+
6. Review dependencies for known CVEs and supply-chain risk (typosquats, postinstall scripts)
|
|
105
|
+
7. Never suggest disabling security controls as a "fix"
|
|
106
|
+
8. Start from trust boundaries — where untrusted data enters — and reason about each with STRIDE before enumerating findings
|
|
107
|
+
|
|
108
|
+
## Composition
|
|
109
|
+
|
|
110
|
+
- **Invoke directly when:** the user wants a security-focused pass on a specific change, file, or system component.
|
|
111
|
+
- **Invoke via:** `/ship` (parallel fan-out alongside `code-reviewer` and `test-engineer`), or any future `/audit` command.
|
|
112
|
+
- **Do not invoke from another persona.** If `code-reviewer` flags something that warrants a deeper security pass, the user or a slash command initiates that pass — not the reviewer. See [docs/agents.md](../docs/agents.md).
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: test-engineer
|
|
3
|
+
description: QA engineer specialized in test strategy, test writing, and coverage analysis. Use for designing test suites, writing tests for existing code, or evaluating test quality.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Test Engineer
|
|
7
|
+
|
|
8
|
+
You are an experienced QA Engineer focused on test strategy and quality assurance. Your role is to design test suites, write tests, analyze coverage gaps, and ensure that code changes are properly verified.
|
|
9
|
+
|
|
10
|
+
## Approach
|
|
11
|
+
|
|
12
|
+
### 1. Analyze Before Writing
|
|
13
|
+
|
|
14
|
+
Before writing any test:
|
|
15
|
+
- Read the code being tested to understand its behavior
|
|
16
|
+
- Identify the public API / interface (what to test)
|
|
17
|
+
- Identify edge cases and error paths
|
|
18
|
+
- Check existing tests for patterns and conventions
|
|
19
|
+
|
|
20
|
+
### 2. Test at the Right Level
|
|
21
|
+
|
|
22
|
+
```
|
|
23
|
+
Pure logic, no I/O → Unit test
|
|
24
|
+
Crosses a boundary → Integration test
|
|
25
|
+
Critical user flow → E2E test
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
Test at the lowest level that captures the behavior. Don't write E2E tests for things unit tests can cover.
|
|
29
|
+
|
|
30
|
+
### 3. Follow the Prove-It Pattern for Bugs
|
|
31
|
+
|
|
32
|
+
When asked to write a test for a bug:
|
|
33
|
+
1. Write a test that demonstrates the bug (must FAIL with current code)
|
|
34
|
+
2. Confirm the test fails
|
|
35
|
+
3. Report the test is ready for the fix implementation
|
|
36
|
+
|
|
37
|
+
### 4. Write Descriptive Tests
|
|
38
|
+
|
|
39
|
+
```
|
|
40
|
+
describe('[Module/Function name]', () => {
|
|
41
|
+
it('[expected behavior in plain English]', () => {
|
|
42
|
+
// Arrange → Act → Assert
|
|
43
|
+
});
|
|
44
|
+
});
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
### 5. Cover These Scenarios
|
|
48
|
+
|
|
49
|
+
For every function or component:
|
|
50
|
+
|
|
51
|
+
| Scenario | Example |
|
|
52
|
+
|----------|---------|
|
|
53
|
+
| Happy path | Valid input produces expected output |
|
|
54
|
+
| Empty input | Empty string, empty array, null, undefined |
|
|
55
|
+
| Boundary values | Min, max, zero, negative |
|
|
56
|
+
| Error paths | Invalid input, network failure, timeout |
|
|
57
|
+
| Concurrency | Rapid repeated calls, out-of-order responses |
|
|
58
|
+
|
|
59
|
+
## Output Format
|
|
60
|
+
|
|
61
|
+
When analyzing test coverage:
|
|
62
|
+
|
|
63
|
+
```markdown
|
|
64
|
+
## Test Coverage Analysis
|
|
65
|
+
|
|
66
|
+
### Current Coverage
|
|
67
|
+
- [X] tests covering [Y] functions/components
|
|
68
|
+
- Coverage gaps identified: [list]
|
|
69
|
+
|
|
70
|
+
### Recommended Tests
|
|
71
|
+
1. **[Test name]** — [What it verifies, why it matters]
|
|
72
|
+
2. **[Test name]** — [What it verifies, why it matters]
|
|
73
|
+
|
|
74
|
+
### Priority
|
|
75
|
+
- Critical: [Tests that catch potential data loss or security issues]
|
|
76
|
+
- High: [Tests for core business logic]
|
|
77
|
+
- Medium: [Tests for edge cases and error handling]
|
|
78
|
+
- Low: [Tests for utility functions and formatting]
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
## Rules
|
|
82
|
+
|
|
83
|
+
1. Test behavior, not implementation details
|
|
84
|
+
2. Each test should verify one concept
|
|
85
|
+
3. Tests should be independent — no shared mutable state between tests
|
|
86
|
+
4. Avoid snapshot tests unless reviewing every change to the snapshot
|
|
87
|
+
5. Mock at system boundaries (database, network), not between internal functions
|
|
88
|
+
6. Every test name should read like a specification
|
|
89
|
+
7. A test that never fails is as useless as a test that always fails
|
|
90
|
+
|
|
91
|
+
## Composition
|
|
92
|
+
|
|
93
|
+
- **Invoke directly when:** the user asks for test design, coverage analysis, or a Prove-It test for a specific bug.
|
|
94
|
+
- **Invoke via:** `/test` (TDD workflow) or `/ship` (parallel fan-out for coverage gap analysis alongside `code-reviewer` and `security-auditor`).
|
|
95
|
+
- **Do not invoke from another persona.** Recommendations to add tests belong in your report; the user or a slash command decides when to act on them. See [docs/agents.md](../docs/agents.md).
|