`skills:eval` was at 38/46 with several skills measuring 0-33%. The low scores were mostly bad eval cases rather than bad descriptions, for two reasons that were nowhere written down: - The harness runs each case with `--max-turns 1`, so the skill has to be the model's FIRST tool call. A prompt asking "how does X work here", or naming a concrete file, sends the model to Read/Grep first — a better answer to the question, scored as a miss. Every 0% case was one of these. - `AGENTS.md` is resident on every turn, so a prompt it already answers is answered without any skill and the case can never pass. Replace the cases that measured the wrong thing, expand every model-invoked skill from 3 to 5 positives (negatives kept) so one flake cannot cross the threshold, and reshape `local-dev`'s description to the action-first form. Add `docs/skill-authoring.md` with the case shapes that fire, the ones that cannot, and the probe-then-measure loop. RUNS=5 npm run skills:eval: 63/63 at or above threshold, 60 at 100%, all 18 negatives clean. Closes #2202 Signed-off-by: cliffhall <cliff@futurescale.com>
30 lines
763 B
JSON
30 lines
763 B
JSON
[
|
|
{
|
|
"prompt": "npm run local:gate just failed at the coverage stage. What do I do?",
|
|
"expect": "pre-push-gate"
|
|
},
|
|
{
|
|
"prompt": "The gate's Storybook stage is failing for me. How do I diagnose it?",
|
|
"expect": "pre-push-gate"
|
|
},
|
|
{
|
|
"prompt": "Everything in the gate started timing out at once. What causes that?",
|
|
"expect": "pre-push-gate"
|
|
},
|
|
{
|
|
"prompt": "How do I check whether a stage of the gate really passed?",
|
|
"expect": "pre-push-gate"
|
|
},
|
|
{
|
|
"prompt": "The gate failed at the lint stage. How do I work out what is wrong?",
|
|
"expect": "pre-push-gate"
|
|
},
|
|
{
|
|
"prompt": "What is 17 multiplied by 23?",
|
|
"expect": null
|
|
},
|
|
{
|
|
"prompt": "Write a limerick about a cat.",
|
|
"expect": null
|
|
}
|
|
]
|