adopt
Use when an existing project that was not built with X2 must be migrated to run under it, with documentation sprawl to dissolve, stories to harvest at epic…
Use only after the lock (gate 2b) is on record for the slice portion, to derive the fidelity ledger and acceptance scenarios from the locked prototype. Triggers when a portion is newly locked or re-locked. Never use before the lock, and never use it to hand-author
$ npx -y skills add teklabsdigital/x2-method --skill derive-tests --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/derive-testsContext preview
The summary Claude sees to decide when to auto-load this skill.
Use only after the lock (gate 2b) is on record for the slice portion, to derive the fidelity ledger and acceptance scenarios from the locked prototype. Triggers when a portion is newly locked or re-locked. Never use before the lock, and never use it to hand-author
name: derive-tests description: Use only after the lock (gate 2b) is on record for the slice portion, to derive the fidelity ledger and acceptance scenarios from the locked prototype. Triggers when a portion is newly locked or re-locked. Never use before the lock, and never use it to hand-author prototype-fidelity test cases from prose.
Turn the locked portion into its tests. Nothing here is authored from imagination: the locked prototype is the acceptance contract, and the tests are projections of it.
locked artifact on disk into a computed record, and the built screens are compared against that record computationally, in both directions (everything in the record renders; nothing renders beyond it). Never hand-derive fidelity: a hand-typed summary standing in for the artifact produces drift as its designed output, because the artifact is never read again after the lock. The third project exited two slices with drifted screens that way, then built the mechanical route mid-project and drift stopped (record: PC-30). The ledger file (`design/ledger/slice-NNN.md`) keeps only what cannot be computed: acceptance scenarios and owner rulings, including licensed divergences.
declared as excluded subtrees, each citing its ruling, held in the same extent guard as the comparison. And coverage is per drawn state, not per screen: a built state that ships never-compared is the gap an extent guard that only sees screens cannot see.
a screen are specification and which are sample data; compare the specification. Fixtures for comparisons come from the wire types, values the product can actually emit, and an artifact-versus-product disagreement is a finding for the record, never smoothed over locally.
enforced by the engine as a side effect (a collation, a constraint), the falsifying test must run on a tier the engine does not cover, or the test can never fail.
the real client services against a running server.
The ban is precise, per the record's wording fix:
write-it-first, watch-it-fail shape, and they did the most catching in the pilot.
Derivation should leave these satisfiable, because slice-exit reports them:
real transport, and when the product owns identity, the harness exercises the real sign-in path at least once; minting around auth is setup for other scenarios, never a substitute (INV-10, ruled: the gated harness profile makes this achievable).
(INV-07).
it is e2e-covered and its boundary is documented (CONF-03). It is never resolved by inventing UI the prototype does not contain; the fidelity tests would fail that fabrication, and they should.
Prove a derived suite can fail: write one assertion wrong, watch it fail, fix it. A suite that cannot fail is not evidence.
question for the human, never an invented criterion.
implementation code.
implement.
An agentic software engineering method: AI agents do the building, the build enforces the rules that must always hold, a person decides only at the gates, and the method measures its own cost in human turns.
Repo: teklabsdigital/x2-method
Use when an existing project that was not built with X2 must be migrated to run under it, with documentation sprawl to dissolve, stories to harvest at epic…
Use after the repo is seeded to run the D-000 five-lens decomposition, record persistent schema decisions, define slice one, and start the deltas file. Also…
Use when D-000 exists and the whole-product prototype does not, to run Claude Design in its own context and produce the prototype and design system. Also use…
Use when an X2 project completes (or reaches a major milestone) to run the extraction loop, the quality feedback that folds the project's evidence back into…
Use when someone asks what an X2 skill does, which skill to run next, how the gates work, or where an artifact lives. A quick in-flight reference; for the…
Use when the slice portion is locked and its derived tests exist, to build all of the locked portion to green autonomously. Triggers at implement start and on…