@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/evals/README.md
DELETED
|
@@ -1,101 +0,0 @@
|
|
|
1
|
-
# Skill Evals
|
|
2
|
-
|
|
3
|
-
How this repo measures whether its skills actually work: that they **trigger** when they should, **stay distinct** from each other, and **change agent behavior** the way each skill promises.
|
|
4
|
-
|
|
5
|
-
## Prior art (and what we adopted)
|
|
6
|
-
|
|
7
|
-
There is no single settled community standard for evaluating `SKILL.md` skills, but two approaches lead:
|
|
8
|
-
|
|
9
|
-
- **Anthropic's skill-creator v2** defines a per-skill `evals.json` (prompt + `expectations[]`, graded from the transcript) plus trigger-accuracy testing of descriptions against sample prompts. We adopt its [`evals.json` schema](https://github.com/anthropics/skills/tree/main/skills/skill-creator) for our behavioral tier and add one optional `kind` field to select the artifact being graded.
|
|
10
|
-
- **Superpowers** (obra) tests skills with bash + `claude -p` + prompt fixtures and grader scripts. Our behavioral runner follows the same headless-`claude` pattern, with the grading rubric drawn from `expectations[]`.
|
|
11
|
-
|
|
12
|
-
What neither provides is a **deterministic, CI-safe** check for a multi-skill *catalog* — does each skill's description carry the vocabulary users actually say, and do two skills' descriptions collide? That's Tier 2 below, and it's this repo's addition.
|
|
13
|
-
|
|
14
|
-
## The three tiers
|
|
15
|
-
|
|
16
|
-
| Tier | What it checks | Runs | Cost |
|
|
17
|
-
|---|---|---|---|
|
|
18
|
-
| 1. Structural | Frontmatter, naming, required sections, command parity | CI (`validate-skills.js`, `validate-commands.js`) | Free |
|
|
19
|
-
| 2. Trigger & routing | Positive prompts rank their skill top-k; negative prompts don't; no two descriptions near-collide | CI (`run-evals.js`) | Free |
|
|
20
|
-
| 3. Behavioral | An agent following the skill satisfies its `expectations[]` | On demand (`run-evals.js --behavioral`) | Tokens |
|
|
21
|
-
|
|
22
|
-
Tier 2 is a **lexical approximation** of routing (stemmed TF-IDF over descriptions). It cannot judge semantics — that's Tier 3's job — but it catches the two failure modes that dominate real trigger bugs: a description missing the vocabulary users say (false negative), and an over-broad description that outranks the right skill (false positive). A Tier-2 failure usually means *fix the description*, not the eval.
|
|
23
|
-
|
|
24
|
-
## Running
|
|
25
|
-
|
|
26
|
-
```bash
|
|
27
|
-
# Tier 2 — deterministic, runs in CI
|
|
28
|
-
node scripts/run-evals.js
|
|
29
|
-
node scripts/run-evals.js --min-rank1 95 # enforce the current routing floor
|
|
30
|
-
|
|
31
|
-
# Tier 3 — behavioral, runs each eval through headless claude, then grades it
|
|
32
|
-
node scripts/run-evals.js --behavioral test-driven-development # spends tokens
|
|
33
|
-
node scripts/run-evals.js --behavioral test-driven-development --dry-run # prints the plan only
|
|
34
|
-
```
|
|
35
|
-
|
|
36
|
-
Tier 3 supports two behavioral artifact kinds. `execution` is the default: each eval runs in a throwaway git repository, real project inputs from `files[]` are materialized out of `evals/fixtures/` and committed as the baseline, and the grader judges the full `--output-format stream-json --verbose` execution trace, including tool calls. `dialogue` is reserved for skills whose deliverable is the conversation itself; it needs no fixture, and the grader judges the assistant's conversational turns without requiring file edits or commands. Claiming `dialogue` is a human-reviewed exemption, not a general escape hatch for execution skills.
|
|
37
|
-
|
|
38
|
-
The executor runs with an explicit permission mode (`--permission-mode acceptEdits` plus a pre-approved tool list) so execution evals can genuinely edit files, run commands, inspect diffs, and make commits rather than being denied and narrating instead. Traces are fenced as untrusted data in the grader prompt and piped to the grader over stdin (they can be megabytes; argv would hit the OS argument-size limit), executor and grader calls carry timeouts, and grader output is validated as JSON before being written to `evals/results/` (gitignored) in skill-creator's `grading.json` shape. Discipline skills also include pressure cases for time pressure, sunk cost, and authority pressure; these verify that the workflow still holds when the prompt argues for skipping it.
|
|
39
|
-
|
|
40
|
-
## Plugin evals (Claude Code)
|
|
41
|
-
|
|
42
|
-
`claude plugin eval` (Claude Code 2.1.269 or later) loads the whole plugin, every skill at once, runs the cases under `evals/plugin/`, and scores each case with and without the plugin. It complements Tier 2 rather than replacing it: Tier 2 checks that a description carries the vocabulary users say; this checks that Claude Code's own router picks the skill on a natural prompt, and what the skill adds to the reply (the `Δ` column).
|
|
43
|
-
|
|
44
|
-
```bash
|
|
45
|
-
claude plugin eval . --no-publish # every case, both arms, 3 runs each
|
|
46
|
-
claude plugin eval . --case code-review-fires --runs 1 --ablation none # one cheap iteration on one case
|
|
47
|
-
```
|
|
48
|
-
|
|
49
|
-
A case is a directory holding `prompt.md` (frontmatter: turn and tool limits; body: the prompt, sent verbatim) and one grader per file under `graders/`. Reports land in `evals/plugin/results/<timestamp>/`, already gitignored. Every run and every `llm` grader is a real model call on your account, so this runs on demand and never in CI, like Tier 3.
|
|
50
|
-
|
|
51
|
-
Two rules keep it honest. The manifest's `experimental.evals` key scopes the scan to `evals/plugin/`, so a fixture elsewhere under `evals/` is never read as a case. And a `tool_used: Skill` grader only says whether the skill fired; in a two-arm run it is excluded from the score, so pair it with a grader on the reply itself. `code-review-fires` shows the pattern: the fired indicator, a free `regex` grader that looks for the skill's severity taxonomy (Critical, Required, Nit, Optional, Consider, FYI) used as a heading or as a label, and one `llm` judge on the planted off-by-one. `code-review-stays-quiet` is the precision check: the review skill must not fire on a test-first request, and its `Δ` is expected to be 0; a second, unscored indicator records whether test-driven-development fires instead.
|
|
52
|
-
|
|
53
|
-
What the first runs taught (Claude Code 2.1.278, claude-opus-5). Skill invocation is stochastic: the review skill fired in 5 of 7 runs on the phrasing the case uses, and test-driven-development fired in 2 of 7 runs on the test-first prompt, so read `Δ` and the report rather than the exit code, or pass `--threshold 0.8` as the CI example in the docs does. In one run the review skill did not fire and the reply still used its severity taxonomy as headings, which no baseline run did in nine; the loaded skill descriptions may shape the reply even without an invocation. Phrasing matters, and the description is the lever. With the original description, "Review this diff before I merge it", "Can you do a proper code review of this change before I merge it?" and "Review this pull request for me before it goes into main" rarely fired the skill; the model reviewed the diff on its own, competently but without the verdict, the severity tiers or the five-axis pass. Describing what the skill adds did not help, and neither did naming diffs and pull requests on their own; what made the difference was saying that the skill applies even when the diff is pasted inline, which is the case the model was treating as "I can just do this myself". On claude-opus-5-5 with the model pinned, that one clause took the four review phrasings from 7 of 27 fires to 21 of 27, left the nine adjacent must-not-fire prompts at 0 of 27 both ways, and moved the plainest phrasing from 0 of 9 to 3 of 9, so it is better, not solved. `code-review-stays-quiet-on-commit-message` guards that clause: a pasted diff with a commit-message request must not fire the review skill. Two practical rules from the same day: pin `--model` and record the Claude Code version whenever you report numbers, because the CLI updates itself and the default model changed twice between morning and evening; and give a case a turn budget of 10 or more, since the model may reach a skill through its slash command (`agent-skills:review`, then `code-review-and-quality`), which costs two turns.
|
|
54
|
-
|
|
55
|
-
## Eval case format
|
|
56
|
-
|
|
57
|
-
One file per skill: `evals/cases/<skill-name>.json`.
|
|
58
|
-
|
|
59
|
-
```json
|
|
60
|
-
{
|
|
61
|
-
"skill_name": "test-driven-development",
|
|
62
|
-
"trigger": {
|
|
63
|
-
"positive": [
|
|
64
|
-
{ "prompt": "Write a failing test for this bug before fixing it", "top_k": 3 }
|
|
65
|
-
],
|
|
66
|
-
"negative": [
|
|
67
|
-
{ "prompt": "Update the architecture diagram in the docs", "owner": "documentation-and-adrs" }
|
|
68
|
-
]
|
|
69
|
-
},
|
|
70
|
-
"evals": [
|
|
71
|
-
{
|
|
72
|
-
"id": 1,
|
|
73
|
-
"kind": "execution",
|
|
74
|
-
"prompt": "Finance filed the reconciliation bug written up in BUG.md. Fix it.",
|
|
75
|
-
"expected_output": "A failing reproduction test for the lost-cent case, a fix preserving both README invariants (exact sum, earliest-shares fairness), the fairness invariant covered by its own test, full suite passing",
|
|
76
|
-
"files": [
|
|
77
|
-
"test-driven-development"
|
|
78
|
-
],
|
|
79
|
-
"expectations": [
|
|
80
|
-
"A test reproducing the lost-cent case from BUG.md is added and shown failing before src/split.js is modified",
|
|
81
|
-
"The final implementation satisfies the full README fairness invariant (leftover cents go to the earliest shares): splitCents(10000, 3) returns [3334, 3333, 3333] as BUG.md expects and splitCents(100, 7) returns [15, 15, 14, 14, 14, 14, 14] as the README example shows; dumping the whole remainder on a single share would violate both",
|
|
82
|
-
"The fairness invariant from the README has its own test case in the suite on an input with remainder of at least 2 (such as splitCents(100, 7)), where dumping the whole remainder on one share would fail it, beyond the reported lost-cent case",
|
|
83
|
-
"The full suite is run with the repository's own command after the fix"
|
|
84
|
-
]
|
|
85
|
-
}
|
|
86
|
-
]
|
|
87
|
-
}
|
|
88
|
-
```
|
|
89
|
-
|
|
90
|
-
- `evals[]` uses skill-creator's core schema (`id`, `prompt`, `expected_output`, optional `files[]`, `expectations[]`) plus this repository's optional `kind`. `kind` must be `execution` or `dialogue` and defaults to `execution` for compatibility. Execution evals require non-empty `files[]`; paths are relative to `evals/fixtures/` and may name a file or project directory. Dialogue evals may omit `files[]` because the transcript is the artifact. Expectations are verifiable statements a grader checks against the relevant artifact — behaviors, not phrasings.
|
|
91
|
-
- `trigger` is this repo's extension. `positive` prompts are realistic user asks that should route here (`top_k` defaults to 3; tighten to 1 for a skill's signature ask). `negative` prompts belong to a *different* skill; this skill must not rank first for them. Declare that skill in `owner` where you can: the runner then asserts the owner **outranks** this skill, turning the negative into a real pairwise routing test instead of one that can pass vacuously when the prompt matches nothing.
|
|
92
|
-
|
|
93
|
-
**Writing good trigger prompts:** paraphrase how users actually talk; don't copy the description (that's gaming the eval). If a realistic prompt can't rank because the description lacks its vocabulary, that is a real finding — improve the description.
|
|
94
|
-
|
|
95
|
-
## Adding a skill
|
|
96
|
-
|
|
97
|
-
Every skill ships with an eval file. When you add `skills/<name>/`, add `evals/cases/<name>.json` with at least 3 positive triggers, 2 negative triggers, and 1 behavioral eval. Execution evals must be backed by `evals/fixtures/<name>/`; use `kind: "dialogue"` only when the skill's deliverable is genuinely the conversation itself. Missing case files, incomplete case counts, unknown kinds, invalid fixture paths, and absent required fixtures are CI errors.
|
|
98
|
-
|
|
99
|
-
## Metrics to watch
|
|
100
|
-
|
|
101
|
-
The Tier-2 run prints a **trigger rank-1 rate** (share of positive prompts that rank their skill first, not merely top-k). CI runs with `--min-rank1 95`, leaving useful headroom below the checked-in 100% baseline so an unrelated description edit does not immediately turn CI red. Raise the floor as routing improves; never lower it to make a regression pass. Falling numbers mean descriptions are drifting toward each other. The collision check errors at ≥75% pairwise description similarity and warns at ≥50%. When these evals surface a description-vocabulary gap (see [#351](https://github.com/addyosmani/agent-skills/issues/351) for the original examples), fix the description, not the prompt.
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"skill_name": "api-and-interface-design",
|
|
3
|
-
"trigger": {
|
|
4
|
-
"positive": [
|
|
5
|
-
{
|
|
6
|
-
"prompt": "Design a REST endpoint for creating invoices, including error responses and versioning",
|
|
7
|
-
"top_k": 3
|
|
8
|
-
},
|
|
9
|
-
{
|
|
10
|
-
"prompt": "What should the public interface of this payments module expose to other teams?",
|
|
11
|
-
"top_k": 3
|
|
12
|
-
},
|
|
13
|
-
{
|
|
14
|
-
"prompt": "Help me define the contract between the frontend and the orders service",
|
|
15
|
-
"top_k": 3
|
|
16
|
-
}
|
|
17
|
-
],
|
|
18
|
-
"negative": [
|
|
19
|
-
{
|
|
20
|
-
"prompt": "My unit test is failing with a null pointer exception",
|
|
21
|
-
"owner": "debugging-and-error-recovery"
|
|
22
|
-
},
|
|
23
|
-
{
|
|
24
|
-
"prompt": "Make this landing page responsive on mobile",
|
|
25
|
-
"owner": "frontend-ui-engineering"
|
|
26
|
-
}
|
|
27
|
-
]
|
|
28
|
-
},
|
|
29
|
-
"evals": [
|
|
30
|
-
{
|
|
31
|
-
"id": 1,
|
|
32
|
-
"prompt": "Design the public API for a URL-shortening service: create, resolve, stats. Produce the endpoint contracts.",
|
|
33
|
-
"expected_output": "Endpoint contracts with methods, paths, request/response shapes, and explicit error semantics",
|
|
34
|
-
"files": [
|
|
35
|
-
"api-and-interface-design"
|
|
36
|
-
],
|
|
37
|
-
"expectations": [
|
|
38
|
-
"Error responses are specified with status codes and a consistent error shape, not just happy paths",
|
|
39
|
-
"Input validation at the boundary is addressed for user-supplied URLs",
|
|
40
|
-
"Versioning or compatibility strategy is stated",
|
|
41
|
-
"The response does not silently invent unstated requirements"
|
|
42
|
-
]
|
|
43
|
-
}
|
|
44
|
-
]
|
|
45
|
-
}
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"skill_name": "browser-testing-with-devtools",
|
|
3
|
-
"trigger": {
|
|
4
|
-
"positive": [
|
|
5
|
-
{
|
|
6
|
-
"prompt": "Use Chrome DevTools to figure out why the checkout button click does nothing",
|
|
7
|
-
"top_k": 3
|
|
8
|
-
},
|
|
9
|
-
{
|
|
10
|
-
"prompt": "Inspect the network requests the dashboard makes when it first loads",
|
|
11
|
-
"top_k": 3
|
|
12
|
-
},
|
|
13
|
-
{
|
|
14
|
-
"prompt": "Verify in a real browser that the form submits and the data persists in localStorage",
|
|
15
|
-
"top_k": 3
|
|
16
|
-
}
|
|
17
|
-
],
|
|
18
|
-
"negative": [
|
|
19
|
-
{
|
|
20
|
-
"prompt": "Write a spec for the new billing feature before we start",
|
|
21
|
-
"owner": "spec-driven-development"
|
|
22
|
-
},
|
|
23
|
-
{
|
|
24
|
-
"prompt": "Break this PRD into ordered implementation tasks",
|
|
25
|
-
"owner": "planning-and-task-breakdown"
|
|
26
|
-
}
|
|
27
|
-
]
|
|
28
|
-
},
|
|
29
|
-
"evals": [
|
|
30
|
-
{
|
|
31
|
-
"id": 1,
|
|
32
|
-
"prompt": "The signup form renders but submitting it appears to do nothing. Verify the real behavior in the browser and report findings.",
|
|
33
|
-
"expected_output": "Runtime evidence from the browser: console errors, network activity, DOM state, and a diagnosis",
|
|
34
|
-
"files": [
|
|
35
|
-
"browser-testing-with-devtools"
|
|
36
|
-
],
|
|
37
|
-
"expectations": [
|
|
38
|
-
"Findings are grounded in observed runtime data (console, network, DOM), not static code reading alone",
|
|
39
|
-
"The report distinguishes what was observed from what is inferred",
|
|
40
|
-
"A concrete next step or fix hypothesis is provided"
|
|
41
|
-
]
|
|
42
|
-
}
|
|
43
|
-
]
|
|
44
|
-
}
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"skill_name": "ci-cd-and-automation",
|
|
3
|
-
"trigger": {
|
|
4
|
-
"positive": [
|
|
5
|
-
{
|
|
6
|
-
"prompt": "Set up a GitHub Actions pipeline that runs the tests on every pull request",
|
|
7
|
-
"top_k": 3
|
|
8
|
-
},
|
|
9
|
-
{
|
|
10
|
-
"prompt": "Add a deploy stage to the pipeline with a manual approval gate",
|
|
11
|
-
"top_k": 3
|
|
12
|
-
},
|
|
13
|
-
{
|
|
14
|
-
"prompt": "Automate the quality gates so nothing merges without passing checks",
|
|
15
|
-
"top_k": 3
|
|
16
|
-
}
|
|
17
|
-
],
|
|
18
|
-
"negative": [
|
|
19
|
-
{
|
|
20
|
-
"prompt": "Refactor this function so it is easier to read",
|
|
21
|
-
"owner": "code-simplification"
|
|
22
|
-
},
|
|
23
|
-
{
|
|
24
|
-
"prompt": "Add structured logging to the checkout service",
|
|
25
|
-
"owner": "observability-and-instrumentation"
|
|
26
|
-
}
|
|
27
|
-
]
|
|
28
|
-
},
|
|
29
|
-
"evals": [
|
|
30
|
-
{
|
|
31
|
-
"id": 1,
|
|
32
|
-
"prompt": "Create a CI pipeline for a Node project: install, lint, test on every PR, and block merge on failure.",
|
|
33
|
-
"expected_output": "A working workflow definition with correct triggers, steps, and failure behavior",
|
|
34
|
-
"files": [
|
|
35
|
-
"ci-cd-and-automation"
|
|
36
|
-
],
|
|
37
|
-
"expectations": [
|
|
38
|
-
"The workflow triggers on pull requests",
|
|
39
|
-
"Failure of any quality gate fails the pipeline run",
|
|
40
|
-
"Steps are ordered logically and cache or setup steps are sane",
|
|
41
|
-
"No secrets are hardcoded in the workflow"
|
|
42
|
-
]
|
|
43
|
-
}
|
|
44
|
-
]
|
|
45
|
-
}
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"skill_name": "code-review-and-quality",
|
|
3
|
-
"trigger": {
|
|
4
|
-
"positive": [
|
|
5
|
-
{
|
|
6
|
-
"prompt": "Review this pull request before I merge it",
|
|
7
|
-
"top_k": 3
|
|
8
|
-
},
|
|
9
|
-
{
|
|
10
|
-
"prompt": "Do a quality pass on this diff for correctness and readability",
|
|
11
|
-
"top_k": 3
|
|
12
|
-
},
|
|
13
|
-
{
|
|
14
|
-
"prompt": "Can you review the changes another model just wrote for me?",
|
|
15
|
-
"top_k": 3
|
|
16
|
-
},
|
|
17
|
-
{
|
|
18
|
-
"prompt": "Review this diff before I merge it. It adds paging to the orders endpoint.",
|
|
19
|
-
"top_k": 3
|
|
20
|
-
}
|
|
21
|
-
],
|
|
22
|
-
"negative": [
|
|
23
|
-
{
|
|
24
|
-
"prompt": "Deploy this to production now",
|
|
25
|
-
"owner": "shipping-and-launch"
|
|
26
|
-
},
|
|
27
|
-
{
|
|
28
|
-
"prompt": "Write a failing test for the bug before fixing it",
|
|
29
|
-
"owner": "test-driven-development"
|
|
30
|
-
}
|
|
31
|
-
]
|
|
32
|
-
},
|
|
33
|
-
"evals": [
|
|
34
|
-
{
|
|
35
|
-
"id": 1,
|
|
36
|
-
"prompt": "Review the provided diff that adds a user-search endpoint. Deliver a structured review.",
|
|
37
|
-
"expected_output": "A multi-axis review with severity-labelled findings and file:line references",
|
|
38
|
-
"files": [
|
|
39
|
-
"code-review-and-quality"
|
|
40
|
-
],
|
|
41
|
-
"expectations": [
|
|
42
|
-
"Findings cover more than one axis (correctness, readability, architecture, security, performance)",
|
|
43
|
-
"Every finding carries a severity label from the skill's taxonomy",
|
|
44
|
-
"Security of user input is explicitly considered for the new endpoint",
|
|
45
|
-
"The review leads with high-leverage findings rather than nits"
|
|
46
|
-
]
|
|
47
|
-
}
|
|
48
|
-
]
|
|
49
|
-
}
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"skill_name": "code-simplification",
|
|
3
|
-
"trigger": {
|
|
4
|
-
"positive": [
|
|
5
|
-
{
|
|
6
|
-
"prompt": "This function works but it is way too clever, simplify it without changing behavior",
|
|
7
|
-
"top_k": 3
|
|
8
|
-
},
|
|
9
|
-
{
|
|
10
|
-
"prompt": "Reduce the complexity of this module so juniors can maintain it",
|
|
11
|
-
"top_k": 3
|
|
12
|
-
},
|
|
13
|
-
{
|
|
14
|
-
"prompt": "Clean up this working code, it has grown hard to follow",
|
|
15
|
-
"top_k": 3
|
|
16
|
-
}
|
|
17
|
-
],
|
|
18
|
-
"negative": [
|
|
19
|
-
{
|
|
20
|
-
"prompt": "Add a feature flag system to the app",
|
|
21
|
-
"owner": "incremental-implementation"
|
|
22
|
-
},
|
|
23
|
-
{
|
|
24
|
-
"prompt": "Diagnose why the build broke overnight",
|
|
25
|
-
"owner": "debugging-and-error-recovery"
|
|
26
|
-
}
|
|
27
|
-
]
|
|
28
|
-
},
|
|
29
|
-
"evals": [
|
|
30
|
-
{
|
|
31
|
-
"id": 1,
|
|
32
|
-
"prompt": "Simplify the provided 80-line function that parses config files, preserving exact behavior.",
|
|
33
|
-
"expected_output": "A simpler implementation with identical behavior and a summary of what was removed and why",
|
|
34
|
-
"files": [
|
|
35
|
-
"code-simplification"
|
|
36
|
-
],
|
|
37
|
-
"expectations": [
|
|
38
|
-
"Behavior is preserved (tests unchanged and passing, or equivalence argued concretely)",
|
|
39
|
-
"Complexity is reduced rather than relocated",
|
|
40
|
-
"The response explains what was removed and why it was safe",
|
|
41
|
-
"No new features are added during the simplification"
|
|
42
|
-
]
|
|
43
|
-
}
|
|
44
|
-
]
|
|
45
|
-
}
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"skill_name": "constraint-driven-development",
|
|
3
|
-
"trigger": {
|
|
4
|
-
"positive": [
|
|
5
|
-
{
|
|
6
|
-
"prompt": "Set up quality constraints for this project — I want to define our bar before the agent writes more code",
|
|
7
|
-
"top_k": 3
|
|
8
|
-
},
|
|
9
|
-
{
|
|
10
|
-
"prompt": "We have no written standards. Ask me what I care about and write it down with sane defaults",
|
|
11
|
-
"top_k": 3
|
|
12
|
-
},
|
|
13
|
-
{
|
|
14
|
-
"prompt": "The agent keeps adding @ts-ignore and skipping tests to get green. How do I stop that?",
|
|
15
|
-
"top_k": 3
|
|
16
|
-
},
|
|
17
|
-
{
|
|
18
|
-
"prompt": "What coverage threshold should we enforce, and where should it run so it doesn't slow us down?",
|
|
19
|
-
"top_k": 3
|
|
20
|
-
},
|
|
21
|
-
{
|
|
22
|
-
"prompt": "I care about accessibility and web performance — set those up as enforced constraints",
|
|
23
|
-
"top_k": 3
|
|
24
|
-
}
|
|
25
|
-
],
|
|
26
|
-
"negative": [
|
|
27
|
-
{
|
|
28
|
-
"prompt": "Review this pull request across correctness and security",
|
|
29
|
-
"owner": "code-review-and-quality"
|
|
30
|
-
},
|
|
31
|
-
{
|
|
32
|
-
"prompt": "Add a deploy stage to our pipeline with a manual approval gate",
|
|
33
|
-
"owner": "ci-cd-and-automation"
|
|
34
|
-
},
|
|
35
|
-
{
|
|
36
|
-
"prompt": "Write a failing test for this bug before we fix it",
|
|
37
|
-
"owner": "test-driven-development"
|
|
38
|
-
}
|
|
39
|
-
]
|
|
40
|
-
},
|
|
41
|
-
"evals": [
|
|
42
|
-
{
|
|
43
|
-
"id": 1,
|
|
44
|
-
"kind": "dialogue",
|
|
45
|
-
"prompt": "Set up constraints for this repo. I don't really know what numbers to pick.",
|
|
46
|
-
"expected_output": "A short interview with defaults offered, followed by a CONSTRAINTS.md the user can explain",
|
|
47
|
-
"expectations": [
|
|
48
|
-
"The agent inspects the repo for stack, test runner, and existing linters before asking anything",
|
|
49
|
-
"No more than four questions are asked, and each one carries a usable default",
|
|
50
|
-
"When the user has no target number, the agent proposes recording today's value and holding it rather than inventing a threshold",
|
|
51
|
-
"The resulting constraints say where each check runs, keeping fast checks in the edit loop and slow checks later",
|
|
52
|
-
"Every number written down is accompanied by a reason"
|
|
53
|
-
]
|
|
54
|
-
},
|
|
55
|
-
{
|
|
56
|
-
"id": 2,
|
|
57
|
-
"kind": "dialogue",
|
|
58
|
-
"prompt": "Our coverage is 62% and I want to enforce 85% starting today.",
|
|
59
|
-
"expected_output": "Pushback on setting an unmeetable budget, with the ratchet alternative offered",
|
|
60
|
-
"expectations": [
|
|
61
|
-
"The agent points out that a threshold the codebase fails today produces a permanently red build",
|
|
62
|
-
"It offers to record 62% and require that it not fall, as an adoptable alternative",
|
|
63
|
-
"It does not silently accept 85% without noting the consequence"
|
|
64
|
-
]
|
|
65
|
-
},
|
|
66
|
-
{
|
|
67
|
-
"id": 3,
|
|
68
|
-
"kind": "dialogue",
|
|
69
|
-
"prompt": "Accessibility matters to us. Add it as a constraint.",
|
|
70
|
-
"expected_output": "A working accessibility check, not just a threshold written down",
|
|
71
|
-
"expectations": [
|
|
72
|
-
"The agent names axe-core and gives the install and run commands rather than only stating a violation threshold",
|
|
73
|
-
"It notes that axe needs a running URL and asks for one, or drops the dimension if the project has no URL to hit",
|
|
74
|
-
"The command that produces the verdict is recorded alongside the rule in CONSTRAINTS.md",
|
|
75
|
-
"The check is placed at the preview-deploy stage rather than in the per-edit loop"
|
|
76
|
-
]
|
|
77
|
-
}
|
|
78
|
-
]
|
|
79
|
-
}
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"skill_name": "context-engineering",
|
|
3
|
-
"trigger": {
|
|
4
|
-
"positive": [
|
|
5
|
-
{
|
|
6
|
-
"prompt": "What context should I load into the agent before starting this refactor?",
|
|
7
|
-
"top_k": 3
|
|
8
|
-
},
|
|
9
|
-
{
|
|
10
|
-
"prompt": "The model's output quality dropped mid-session, how do I fix its context?",
|
|
11
|
-
"top_k": 3
|
|
12
|
-
},
|
|
13
|
-
{
|
|
14
|
-
"prompt": "Set up rules files and context packing for my repository",
|
|
15
|
-
"top_k": 3
|
|
16
|
-
}
|
|
17
|
-
],
|
|
18
|
-
"negative": [
|
|
19
|
-
{
|
|
20
|
-
"prompt": "Write unit tests for the date parser",
|
|
21
|
-
"owner": "test-driven-development"
|
|
22
|
-
},
|
|
23
|
-
{
|
|
24
|
-
"prompt": "Harden this endpoint against SQL injection",
|
|
25
|
-
"owner": "security-and-hardening"
|
|
26
|
-
}
|
|
27
|
-
]
|
|
28
|
-
},
|
|
29
|
-
"evals": [
|
|
30
|
-
{
|
|
31
|
-
"id": 1,
|
|
32
|
-
"prompt": "An agent session has degraded: responses are generic and it keeps forgetting project conventions. Fix the context setup.",
|
|
33
|
-
"expected_output": "A diagnosis of the context problem and a concrete loading strategy (rules files, packing, task-scoped context)",
|
|
34
|
-
"files": [
|
|
35
|
-
"context-engineering"
|
|
36
|
-
],
|
|
37
|
-
"expectations": [
|
|
38
|
-
"The response diagnoses probable context causes rather than blaming the model generally",
|
|
39
|
-
"A specific context-loading plan is produced (what to load, when, and why)",
|
|
40
|
-
"Context is scoped to the task instead of loading everything"
|
|
41
|
-
]
|
|
42
|
-
}
|
|
43
|
-
]
|
|
44
|
-
}
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"skill_name": "debugging-and-error-recovery",
|
|
3
|
-
"trigger": {
|
|
4
|
-
"positive": [
|
|
5
|
-
{
|
|
6
|
-
"prompt": "The app crashes with a TypeError when I click save, help me find the root cause",
|
|
7
|
-
"top_k": 3
|
|
8
|
-
},
|
|
9
|
-
{
|
|
10
|
-
"prompt": "The API is throwing intermittent 500 errors in production, help me find the root cause",
|
|
11
|
-
"top_k": 3
|
|
12
|
-
},
|
|
13
|
-
{
|
|
14
|
-
"prompt": "This test passed yesterday and fails today, figure out what broke",
|
|
15
|
-
"top_k": 3
|
|
16
|
-
}
|
|
17
|
-
],
|
|
18
|
-
"negative": [
|
|
19
|
-
{
|
|
20
|
-
"prompt": "Write the API documentation for the orders service",
|
|
21
|
-
"owner": "documentation-and-adrs"
|
|
22
|
-
},
|
|
23
|
-
{
|
|
24
|
-
"prompt": "Simplify this working function for readability",
|
|
25
|
-
"owner": "code-simplification"
|
|
26
|
-
}
|
|
27
|
-
]
|
|
28
|
-
},
|
|
29
|
-
"evals": [
|
|
30
|
-
{
|
|
31
|
-
"id": 1,
|
|
32
|
-
"prompt": "A test that passed yesterday now fails with an off-by-one error in pagination. Find and fix the root cause.",
|
|
33
|
-
"expected_output": "A reproduced failure, an identified root cause, a minimal fix, and a guard against regression",
|
|
34
|
-
"files": [
|
|
35
|
-
"debugging-and-error-recovery"
|
|
36
|
-
],
|
|
37
|
-
"expectations": [
|
|
38
|
-
"The failure is reproduced before any fix is attempted",
|
|
39
|
-
"The root cause is identified and stated, not just the symptom patched",
|
|
40
|
-
"A regression test exists after the fix",
|
|
41
|
-
"The fix is minimal and scoped to the cause"
|
|
42
|
-
]
|
|
43
|
-
},
|
|
44
|
-
{
|
|
45
|
-
"id": 2,
|
|
46
|
-
"prompt": "Production checkout is failing and a stakeholder demands an immediate pagination patch without reproduction. Respond under time pressure.",
|
|
47
|
-
"expected_output": "Evidence preserved, the failure reproduced, and a root-cause fix guarded by a regression test",
|
|
48
|
-
"files": [
|
|
49
|
-
"debugging-and-error-recovery"
|
|
50
|
-
],
|
|
51
|
-
"expectations": [
|
|
52
|
-
"The time pressure does not cause reproduction or evidence gathering to be skipped",
|
|
53
|
-
"The requested speculative patch is not applied before the cause is localized",
|
|
54
|
-
"The final fix is tied to a reproduced cause and a regression test"
|
|
55
|
-
]
|
|
56
|
-
}
|
|
57
|
-
]
|
|
58
|
-
}
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"skill_name": "deprecation-and-migration",
|
|
3
|
-
"trigger": {
|
|
4
|
-
"positive": [
|
|
5
|
-
{
|
|
6
|
-
"prompt": "We are sunsetting the v1 API, plan the deprecation",
|
|
7
|
-
"top_k": 3
|
|
8
|
-
},
|
|
9
|
-
{
|
|
10
|
-
"prompt": "Migrate users off the legacy auth system without breaking them",
|
|
11
|
-
"top_k": 3
|
|
12
|
-
},
|
|
13
|
-
{
|
|
14
|
-
"prompt": "How do I remove this old feature safely for existing users?",
|
|
15
|
-
"top_k": 3
|
|
16
|
-
},
|
|
17
|
-
{
|
|
18
|
-
"prompt": "Rename a database column without downtime",
|
|
19
|
-
"top_k": 3
|
|
20
|
-
},
|
|
21
|
-
{
|
|
22
|
-
"prompt": "How do I drop a column safely in production?",
|
|
23
|
-
"top_k": 3
|
|
24
|
-
}
|
|
25
|
-
],
|
|
26
|
-
"negative": [
|
|
27
|
-
{
|
|
28
|
-
"prompt": "Add dark mode to the settings page",
|
|
29
|
-
"owner": "frontend-ui-engineering"
|
|
30
|
-
},
|
|
31
|
-
{
|
|
32
|
-
"prompt": "Why is this test flaky on CI?",
|
|
33
|
-
"owner": "ci-cd-and-automation"
|
|
34
|
-
}
|
|
35
|
-
]
|
|
36
|
-
},
|
|
37
|
-
"evals": [
|
|
38
|
-
{
|
|
39
|
-
"id": 1,
|
|
40
|
-
"prompt": "Plan the deprecation of a public v1 REST API with 200 external consumers, replaced by v2.",
|
|
41
|
-
"expected_output": "A staged deprecation plan: comms, timeline, compatibility window, monitoring, and removal criteria",
|
|
42
|
-
"files": [
|
|
43
|
-
"deprecation-and-migration"
|
|
44
|
-
],
|
|
45
|
-
"expectations": [
|
|
46
|
-
"Consumers are notified with a timeline before any breaking change",
|
|
47
|
-
"A compatibility or migration window exists with monitoring of remaining usage",
|
|
48
|
-
"Removal is gated on measured migration, not a calendar date alone"
|
|
49
|
-
]
|
|
50
|
-
}
|
|
51
|
-
]
|
|
52
|
-
}
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"skill_name": "documentation-and-adrs",
|
|
3
|
-
"trigger": {
|
|
4
|
-
"positive": [
|
|
5
|
-
{
|
|
6
|
-
"prompt": "Write an ADR for choosing Postgres over MongoDB",
|
|
7
|
-
"top_k": 3
|
|
8
|
-
},
|
|
9
|
-
{
|
|
10
|
-
"prompt": "Document the architecture decision behind the queue design",
|
|
11
|
-
"top_k": 3
|
|
12
|
-
},
|
|
13
|
-
{
|
|
14
|
-
"prompt": "Update the documentation for the new setup flow and record why it changed",
|
|
15
|
-
"top_k": 3
|
|
16
|
-
}
|
|
17
|
-
],
|
|
18
|
-
"negative": [
|
|
19
|
-
{
|
|
20
|
-
"prompt": "Find the root cause of the memory leak in the worker",
|
|
21
|
-
"owner": "debugging-and-error-recovery"
|
|
22
|
-
},
|
|
23
|
-
{
|
|
24
|
-
"prompt": "Harden the login endpoint against brute force attacks",
|
|
25
|
-
"owner": "security-and-hardening"
|
|
26
|
-
}
|
|
27
|
-
]
|
|
28
|
-
},
|
|
29
|
-
"evals": [
|
|
30
|
-
{
|
|
31
|
-
"id": 1,
|
|
32
|
-
"prompt": "Record the decision to adopt event sourcing for the orders service as an ADR.",
|
|
33
|
-
"expected_output": "An ADR capturing context, decision, alternatives considered, and consequences",
|
|
34
|
-
"files": [
|
|
35
|
-
"documentation-and-adrs"
|
|
36
|
-
],
|
|
37
|
-
"expectations": [
|
|
38
|
-
"The ADR states context, decision, alternatives, and consequences distinctly",
|
|
39
|
-
"Trade-offs and rejected options are recorded, not just the winning choice",
|
|
40
|
-
"The ADR records a status from the skill's lifecycle (Proposed, Accepted, Superseded or Deprecated) and a date"
|
|
41
|
-
]
|
|
42
|
-
}
|
|
43
|
-
]
|
|
44
|
-
}
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"skill_name": "doubt-driven-development",
|
|
3
|
-
"trigger": {
|
|
4
|
-
"positive": [
|
|
5
|
-
{
|
|
6
|
-
"prompt": "This change touches production auth, cross-examine every assumption before we proceed",
|
|
7
|
-
"top_k": 3
|
|
8
|
-
},
|
|
9
|
-
{
|
|
10
|
-
"prompt": "I am not confident in this approach, adversarially review my reasoning in a fresh context",
|
|
11
|
-
"top_k": 3
|
|
12
|
-
},
|
|
13
|
-
{
|
|
14
|
-
"prompt": "High-stakes migration tomorrow, stress the plan for hidden failure modes",
|
|
15
|
-
"top_k": 3
|
|
16
|
-
}
|
|
17
|
-
],
|
|
18
|
-
"negative": [
|
|
19
|
-
{
|
|
20
|
-
"prompt": "Format this file with prettier"
|
|
21
|
-
},
|
|
22
|
-
{
|
|
23
|
-
"prompt": "Write the changelog entry for the release",
|
|
24
|
-
"owner": "git-workflow-and-versioning"
|
|
25
|
-
}
|
|
26
|
-
]
|
|
27
|
-
},
|
|
28
|
-
"evals": [
|
|
29
|
-
{
|
|
30
|
-
"id": 1,
|
|
31
|
-
"prompt": "Before running an irreversible data migration, subject the migration plan to adversarial review.",
|
|
32
|
-
"expected_output": "Claims extracted, doubts raised against each, reconciliation, and a go or stop verdict",
|
|
33
|
-
"files": [
|
|
34
|
-
"doubt-driven-development"
|
|
35
|
-
],
|
|
36
|
-
"expectations": [
|
|
37
|
-
"Non-trivial claims in the plan are extracted and challenged individually",
|
|
38
|
-
"At least one assumption is tested rather than accepted",
|
|
39
|
-
"The verdict distinguishes verified claims from surviving doubts"
|
|
40
|
-
]
|
|
41
|
-
}
|
|
42
|
-
]
|
|
43
|
-
}
|