Skip to content

How the Skills Are Tested ​

A testing tool should ship tested. Every skill in the twd-ai plugin is guarded by plugin evals: checks that run the skill the way you would, with no human in the loop, and grade what it does.

How an eval works ​

Each scenario is one case:

  1. A script scaffolds a small project: a Vite app, a failing suite, a hand-written test with mistakes.
  2. The agent gets a task, such as "The todo tests are failing. Get them green."
  3. Graders score the result: the files it wrote, the commands it ran and in what order, and the files it left alone.

Every case runs three times with the plugin and three times without it. The difference, Δ, is what the skills add over what the model already knows. A Δ near zero is not a failure: the case still guards against a skill edit that breaks a rule.

Tested scenarios ​

ScenarioSkillVerified
Vite + React app with TanStack Query and ESLint/twd:setuptwd() Vite plugin, twd.config.json, test:ci, twd-lint in the ESLint config, query cache reset in twd-patterns.md
App with a mock API and a required env var/twd:ci-setupTest workflow on the twd-cli action, a separate label-triggered recording workflow, both starting the same app
Page flow teststwdRunner imports, mocks before visit, every async call awaited, payload asserted on the request, type-checked and linted
Component test with Testing LibrarytwdRendered into an isolated host, cleaned up between tests, network mocked rather than project code stubbed
A page around a third-party component (camera scanner)twdThe component replaced with twd.mockComponent(), its callbacks driven by the fake, the page's own code untouched
A failing suite to get greentwdA filtered --test run before the full one, run.json read, the test fixed rather than the app
Fixing a hand-written testtwdtwd-lint run and every report fixed
A unit-test request in a project with TWDtwdThe skill stays out of it: unit tests are left to the project's own runner

Results per model ​

Score with the plugin / Δ over the same model without it, from 0 to 1. Judge claude-sonnet-5-5, three runs per arm, plugin 1.3.7, 2026-10-25.

ScenarioOpus 5.5Sonnet 5.5Haiku 5.5
Project setup1.00 / +0.901.00 / +0.901.00 / +0.90
CI setup with recording1.00 / +0.701.00 / +1.000.97 / +0.80
Component test1.00 / +0.501.00 / +0.541.00 / +0.63
Failing suite to green1.00 / +0.400.60 / 0.000.53 / -0.07
Fixing a hand-written test1.00 / +0.141.00 / +0.241.00 / +0.52
Page flow tests0.97 / +0.101.00 / +0.270.80 / +0.37
Mocking a third-party component1.00 / 0.001.00 / +0.290.90 / +0.48
Unit-test request1.00 / 0.001.00 / 0.001.00 / 0.00

Setup and CI setup are where the skills matter most: without them, no model wires TWD the way the project needs. The failing-suite case is the open one: Sonnet stops after the first green filtered run, without the closing run or reading run.json, and Haiku gives up after one denied command. Those are the next rules the twd skill has to state more clearly.

Run them yourself ​

The cases, the exact graders and the commands are in evals/README.md, along with cost and turns per run for each model.

Released under the MIT License.