Closes #2163 `AGENTS.md` was one 1,223-line contract loaded in full on every turn, whether the task was a one-line CSS fix or a release cut. This splits it: rules stay resident, procedures move to `.claude/skills/`. - Ten skills under `.claude/skills/`, seven `disable-model-invocation: true` (invoked by name only, so they cost no listing context and have no trigger question) and three model-invoked with committed eval cases. - `AGENTS.md` 1,223 → 380 lines: rules, a skills index, and a project tree reduced to one line per entry. The removed recipes are not duplicated. - `README.md` 811 → 105 lines, split into `docs/{architecture,quality-gate, test-servers,publishing,docker}.md`, and dropped from `CLAUDE.md`'s auto-load. - `.github/copilot-instructions.md` and its mirroring rule removed — Copilot reads `AGENTS.md`. - `npm run verify:skills` (in `validate`, so in `local:gate` and CI) parses each SKILL.md the way Claude Code does, requires an explicit invocation mode and eval cases for model-invoked skills, and budgets the listing. - `npm run skills:eval` runs the committed trigger cases headless. Signed-off-by: cliffhall <cliff@futurescale.com>
22 lines
545 B
JSON
22 lines
545 B
JSON
[
|
|
{
|
|
"prompt": "What lives in clients/web versus @inspector/core?",
|
|
"expect": "project-structure"
|
|
},
|
|
{
|
|
"prompt": "I'm adding a helper both the CLI and the web client need. Which directory does it belong in?",
|
|
"expect": "project-structure"
|
|
},
|
|
{
|
|
"prompt": "Which package owns the OAuth secret storage backends?",
|
|
"expect": "project-structure"
|
|
},
|
|
{
|
|
"prompt": "Convert this array of strings to uppercase.",
|
|
"expect": null
|
|
},
|
|
{
|
|
"prompt": "What is the capital of France?",
|
|
"expect": null
|
|
}
|
|
]
|