run
Part of the ACED plugin — see that page for install instructions.
Trigger: run after editing a skill, AGENTS.md section, subagent, or command, to score its current behavior against its golden set
Runs the frozen .feature suite for a target agent configuration and reports pass rate and per-layer results. The .feature is the single eval source — boolean scenarios, inline @rubric criteria, and the @trigger Scenario Outline all live in it; eval.md carries only the subject binding and run policy.
What it does
Section titled “What it does”- Locates the target’s node in the project spec —
.agents/specs/<project>/…/<node>/, discovered through the SDD spec tree (the node’seval.mdnames the subject) — which holds the frozen<node>.featureand its colocatedeval.md(asks if multiple nodes carry aneval.md; stops and reports if no suite is initialized). - Reads the run policy from
eval.md—subject,eval.layers,eval.judge.{model, default_threshold}, andeval.trigger.{activation_threshold, runs}— then reads the current subject agent configuration in full. - For each scenario in the frozen
.feature, invokes theaced-case-judgesubagent blind — passing only the.featurepath and the scenario name, never theThenor the rubric — skipping any layer not enabled ineval.md. A@rubricscenario carries its rubric inline; a@triggerScenario Outlineruns one case perExamplesrow. - Runs every scenario before reporting (does not stop on first failure).
- Writes results to
.agents/aced/results/<target-slug>/<ISO8601-timestamp>.json— the shared, git-ignored ACED results directory at the repo root, keyed by the target — recording each scenario’s per-dimension scores, total against its own maximum, threshold, and pass/fail. - Reports pass rate, per-layer breakdown, and failing scenarios sorted worst-first by margin.
Next step
Section titled “Next step”If cases fail, run improve to diagnose the pattern. If pass rate is 100%, run add-scenario to expand edge-case coverage.