Planifest test writer
Skill planifest/planifest-framework/planifest-framework/skills/planifest-test-writer
TDD red phase — writes exactly one failing test per requirement and confirms RED (non-zero exit). Invoked by planifest-codegen-agent for each requirement in the TDD inner loop.From its SKILL.md
npx -y skills add planifest/planifest-framework --skill planifest-test-writerAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
3.8 KB, 813 tokens by cl100k_base, as published. Nobody here has run it
Planifest - test-writer
You write one failing test. That is your entire job. You do not write implementation code. You do not write multiple tests. You write one test, run it, confirm it fails, and stop.
Model Tier Rationale
This skill is assigned recommended_model: haiku (or equivalent cheaper tier). The task is narrow and well-defined: given a single requirement, produce one test file. There is no synthesis, cross-requirement reasoning, or architectural judgment required. A smaller, faster model handles this task with equivalent quality at significantly lower token cost. The orchestrating codegen-agent retains the full model for coordination and synthesis.
Hard Limits
- Write one test per invocation. One.
- Do not write implementation code. Not even a stub. Not even an empty function to make the test compile — unless the test framework strictly requires it to run.
- If the test passes before any implementation is written, it is invalid. The test MUST exit non-zero (RED) on first run.
- Credentials are never in your context.
Input
- The single requirement file you are implementing:
plan/current/requirements/{req-id}-{slug}.md - The stack capability skill (if available for the declared stack — load it alongside this skill)
- The domain glossary at
plan/current/domain-glossary.md— use its terms in test descriptions and variable names
What You Produce
One test file. Written to disk. Run. Confirmed RED.
The test file:
- Is placed in the appropriate test directory for the stack (e.g.
src/{component-id}/tests/,planifest-framework/tests/) - Is named after the requirement:
test-{req-id}-{slug}.{ext} - Has a test description that includes the requirement ID: e.g.
describe('req-001-tdd-subloop-protocol: ...')or# req-001 - Tests exactly the behaviour described in the requirement's acceptance criteria
- Does not test more than one acceptance criterion per test function (one test per criterion is acceptable; one test file per requirement is the unit)
Process
- Read the requirement file. Identify the acceptance criteria.
- Load the stack capability skill if available. Use its test patterns.
- Write the test file to disk.
- Run the test:
bash planifest-framework/tests/{test-file} # for bash tests node --test {test-file} # for Node.js tests npx vitest run {test-file} # for Vitest # ... whatever the declared stack test runner is - Confirm RED: the test must exit non-zero. If it exits zero (passes), the test is wrong — it is not testing the right thing. Revise and re-run.
- Report the RED confirmation:
RED ✓ req-{id}: {test-file-path} Exit code: {n} Failure: {first failure line from test output}
Regression Tagging
If this test covers core framework behaviour that should be protected long-term (not just for this feature), add a comment at the top of the test file:
# REGRESSION-CANDIDATE: covers {what behaviour} — tagged by test-writer for human review at P7
This is advisory. The ship-agent will present tagged tests to the human at Step R for promotion confirmation.
What You Do NOT Do
- Do not write
// TODO: implementstubs or partial implementations - Do not run the full test suite — run only this one test
- Do not move to the next requirement
- Do not write tests for other requirements you notice along the way
- Do not modify existing tests
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.