Borrowing it
Nothing to install: this file belongs to rosselps/whyguard. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/rosselps/whyguard/main/.kiro/skills/generate-regression-fixture/SKILL.mdgit clone --depth 1 https://github.com/rosselps/whyguardWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/rosselps/whyguard/generate-regression-fixture)<a href="https://agentmods.dev/skills/rosselps/whyguard/generate-regression-fixture"><img src="https://agentmods.dev/badge/skills/rosselps/whyguard/generate-regression-fixture.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00055 | $0.00624 |
| Opus 5 | $0.00028 | $0.00312 |
| Sonnet 5 | $0.00011 | $0.00125 |
| Haiku 4.5 | $0.00006 | $0.00062 |
Grade A, and why
generate-regression-fixture scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 8d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 45 lines — stays where its author put it; the contents beside it link to each section on GitHub.
When to use this skill
After WhyGuard reports a finding whose protected property should survive a refactor, and before that refactor is merged — generate a regression-test skeleton that encodes the protected behavior, so a reviewer has something concrete to check instead of a prose description alone.
Workflow
- Identify the finding ID (from
whyguard scan --format json,whyguard guard, or an MCPwhyguard.scan_diff/whyguard.trace_symbolresponse). - Call
whyguard.propose_regression_testwith thatfindingIdand the project's test framework (defaults tovitest). - Read the returned skeleton. It will contain:
- the protected property statement(s), as comments;
- the supporting evidence IDs and strengths, as comments;
- a single
it.todo(...)naming the property — deliberately not a working assertion.
- A human fills in the real assertion, using the protected property statement as the spec for what to assert (e.g. "one idempotency key creates at most one order" becomes an assertion that calling the function twice with the same key produces one order).
- Never execute the generated skeleton automatically, and never treat
it.todoas passing — it is a placeholder, not evidence of coverage. - Once the test is written and passing against the old behavior, only then consider
the refactor. If the refactor needs to change the assertion itself, that is a signal
the protected property may be intentionally changing — get that confirmed by a human
and update the rationale contract (see
create-rationale-contract) rather than silently loosening the test.
Anti-patterns to avoid
- Treating the generated
it.todoskeleton as if it were a real, passing test. - Writing an assertion that only encodes "the current code's behavior" instead of the protected property (e.g. asserting the exact implementation detail rather than the invariant it's meant to guarantee).
- Skipping this skill because a change "seems obviously safe" — the finding's risk and confidence scores exist precisely to flag when it is not.
- Running or auto-approving execution of the generated test file without human review.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 8d ago First seen · 45 lines · 55 tokens per session scan A f3a0aa476d5c
generate-regression-fixture is a skill published in the GitHub repository rosselps/whyguard (0 stars, last pushed 1mo ago), licensed MIT. It adds 55 tokens to every session and 624 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
compose:tdd
Use when implementing any feature or bugfix, before writing implementation code.
skillshare-implement-feature
Implement a feature from a spec file or description using TDD workflow. Use this skill whenever the user asks to: add a new CLI command, implement a feature from a spec, build new functionality, add a flag, create a new internal package, or write Go code for skillshare. This skill enforces test-first development…
tdd-cycle
Execute full TDD red-green-refactor cycle with validation gates. Use when saying "TDD cycle", "test-driven development", or "full TDD workflow".
implement
Implement a technical design by decomposing it into dependency-ordered vertical slices, executing each with TDD red-green, reviewing each via an isolated sub-agent, and persisting progress to a state file so work survives session restarts. Use when the user has a tech design (doc or settled conversation) and says…
tdd
A Test-Driven Development guide. TDD means writing a failing test first, adding the smallest implementation that passes it, and then improving the code while keeping the tests passing.
implement
Use when an approved plan and task list exist and it is time to turn them into working, tested code — the SDD phase after analyze and before verify. Enforces TDD: a failing test comes before the code that makes it pass, one task at a time, appended to a progress ledger that survives compaction. Delegates test tooling…