Write A Spec
Extend or write a journey spec in evals/specs.
Install
npx skills add omnirush-ai/omnirush-gui --skill write-a-spec -g -a claude-code -y- Repository
- omnirush-ai/omnirush-gui4.6k
- Category
- Writing
- Updated
- 6d ago
- License
- See repository
- Context cost
- Lightabout 706 tokens
- Runs scripts
- No, instructions only
What it does
Extend or write a journey spec in evals/specs. Use only after the coverage decision says a journey spec is missing an assertion or a new user journey exists.
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
@omnirush/testkit. App-driving E2E tests use .e2e.test.ts; the PR lane excludes
them. Model setup as resources in dependency order: needs() → server() →
app().
Use the testkit primitives
server()boots or reuses Den and provisions isolated organizations.app()boots a signed-in desktop. UseprofileDirfor caller-owned profile continuity andlocalServerDelayMsfor deterministic startup races.inviteMember()adds a named member to an existing Den.faultProxy()injectsfaults.status()orfaults.latency()and exposes therequestslog for assertions about attempts and recovery.eventually()bounds polling and reports its last value or error.readDenClientState(),readConnectState(), andreadConnectStateFile()expose client, local-server, and persisted-profile state.
