Subchapter 23.39
EVAL.mdMarkdown6 KBView on GitHub
Use this file to evaluate changes to skill-writer itself. This is a maintainer eval, not a runtime reference: do not link it from SKILL.md.
Also bundled
EVALUse AXIS as the skill-eval harness.
| Requirement | AXIS Fit |
|---|---|
| open source | @netlify/axis is MIT licensed |
| must use Codex | AXIS has a built-in codex adapter |
| must use Codex harness | the adapter runs codex exec --json |
| isolated workspaces | each scenario runs in a temp workspace with isolated HOME and CODEX_HOME |
| LLM-as-judge | scenario judge checks grade the full transcript and workspace |
| debugging | reports include transcripts, scores, artifacts, and raw agent output |
| regressions | baselines support score comparison and CI gates |
Do not add custom run-codex.* scripts. Add a small AXIS scenario, fixture, or artifact pattern instead.
Run the working set:
npx @netlify/axis run --config skills/skill-writer/evals/axis.config.jsonRun one case:
npx @netlify/axis run \
--config skills/skill-writer/evals/axis.config.json \
--scenario small-inline-workflowInspect results:
npx @netlify/axis reports latest --config skills/skill-writer/evals/axis.config.json
npx @netlify/axis reports latest --config skills/skill-writer/evals/axis.config.json --htmlCompare to a stored baseline:
npx @netlify/axis run \
--config skills/skill-writer/evals/axis.config.json \
--compare-baselineSet or refresh a baseline only after reviewing the report:
npx @netlify/axis baseline set --config skills/skill-writer/evals/axis.config.jsonUse these principles when adding or changing skill-writer evals:
AXIS scenarios live in evals/scenarios/.
| Case | Purpose |
|---|---|
small-inline-workflow | catches over-splitting and invented source requirements |
reference-backed-integration | catches bloated SKILL.md and hidden optional depth |
iteration-from-bad-output | catches failure to improve from concrete negative evidence |
Add provider-specific cases only when changed rules affect provider-specific mechanics.
| Layer | Purpose | Evidence |
|---|---|---|
| trigger | skill-writer is invoked for intended requests and skipped for unrelated requests | AXIS transcript and skill-use behavior |
| structure | generated files obey Agent Skills format and repo registration rules | artifacts, diff, final message, validator transcript |
| quality | generated runtime instructions are concise, routed, sourced, and actionable | AXIS judge checks and manual artifact review |
| regression | candidate output is better than or equal to the baseline on held-out cases | AXIS baseline comparison |
evals/axis.config.json configures:
agents: [{"agent": "codex"}] so Codex is the agent under test.skills: ["./.."] so AXIS installs this local skill-writer skill for the run.Each scenario configures artifacts for generated skill files, registration files, and validator output when present.
Each scenario copies the repository into AXIS’s isolated workspace before Codex starts. That gives skill-writer the same repo conventions it sees in normal use without polluting this checkout.
Score each dimension pass, warn, or fail during manual review. AXIS supplies the transcript, artifacts, and judge scores; this rubric decides whether to adopt the change.
| Dimension | Pass | Fail |
|---|---|---|
| trigger precision | description fits should-trigger and should-not-trigger requests | overbroad or misses obvious requests |
| artifact minimality | every file has a clear runtime, validation, source, or maintenance role | extra docs, duplicate refs, or catch-all files |
| runtime concision | SKILL.md is a router when needed and added lines change decisions/actions/checks | prose repeats rationale or generic background |
| source coverage | decisions cite enough local, official, or example evidence | important behavior depends on unsupported assumptions |
| progressive disclosure | optional depth is routed from SKILL.md with clear open-when reasons | required instructions are hidden or always-loaded detail is bloated |
| validation | structural validator runs and manual checks match the skill class/shape | validation missing, irrelevant, or treated as semantic proof |
| portability | provider-specific mechanics are labeled and justified | provider-specific behavior leaks into portable defaults |
Critical dimensions: trigger precision, artifact minimality, runtime concision, progressive disclosure, and validation.
Adopt a skill-writer change only when:
SKILL.md remains a router and does not link to eval files.## Eval Summary
- Baseline:
- Candidate:
- AXIS report:
- Cases run:
- Critical regressions:
- Decision: adopt | revise | reject
## Case Results
| Case | Score | Structure | Quality | Regression | Notes |
|------|-------|-----------|---------|------------|-------|
## Required Fixes
- ...
## Evidence
- AXIS report:
- generated artifacts:
- validator output:
- transcript notes: