write-a-spec
Installation
SKILL.md
Skill: Write a Spec
Do not write one when…
- An existing journey spec covers the behaviour; extend it.
- The change is a pure function; write a colocated unit test, not evidence.
- You would import
../../apps|packages|ee, read source files, or spawn another test runner. That is a unit test in disguise; the boundary ratchet rejects it.
One spec per user journey, not per PR; bug fixes add an assertion to the journey they escaped from.
Write new tests in evals/specs/**/*.test.ts and import test from
@openwork/testkit. App-driving E2E tests use .e2e.test.ts; the PR lane excludes
them. Model setup as resources in dependency order: needs() → server() →
app().