Home / swingerman / engineer · skills/atdd-mutate/SKILL.md · GitHub

atdd-mutate skillA

atdd-mutate is agent-read markdown (skill) from swingerman/engineer: Use to add a third validation layer to the ATDD workflow — after acceptance tests verify WHAT and unit tests verify HOW, mutation testing verifies the tests actually catch bugs. Triggers — "/mutate", "/kill-mutants", "run mutation testing", "mutate my code", "kill mutants", "check test quality", "find surviving mutants", "run stryker", "run mutmut", "run pitest", "are my tests catching bugs"..

Indexed from public GitHub and served as immutable, content-addressed versions. Install it pinned to an exact SHA-256 with the mdr CLI, and every file is verified against the hash recorded here before it reaches your agent. The deterministic audit below grades the latest version, and the same file always earns the same grade.

What the file says

# Mutation Testing

Add a third validation layer to the ATDD two-stream testing approach.
Acceptance tests verify WHAT, unit tests verify HOW, mutation testing
verifies that the tests **actually catch bugs**.

## Core Concept

Mutation testing introduces deliberate bugs (mutants) into source code,
then runs the test suite. If tests fail, the mutant is **killed** (good).
If tests pass despite the bug, the mutant **survives** (test gap found).

```
Source code → introduce mutation → run tests
                                     ├── tests FAIL → mutant killed ✓
                                     └── tests PASS → mutant survived ✗
```

A project with 100% code coverage can still have a 60% mutation score —
meaning 40% of introduced bugs go undetected by the test suite.

## When to Use

Run mutation testing **after both test streams are green**:

1. Acceptance tests pass (WHAT is correct)
2. Unit tests pass (HOW is correct)
3. **Mutation testing** — verify tests actually detect regressions

This is Phase 6 in the team-based ATDD workflow, or a standalone
quality check at any point during development.

## Approach: Custom Mutation Tool (Preferred)
…

Read the whole file at its exact version.

How to install

Latest version
mdr add swingerman/engineer/atdd-mutate@git:20260623.736ab71
Exact content
mdr add swingerman/engineer/atdd-mutate@sha256:bb652f614e7c822d

Pin to a label to follow the author's releases, or to a sha256 to freeze the exact bytes forever. Either way the resolved hash is written to mdr.lock, and mdr install reproduces it on any machine.

Badge

mdr badge

[![mdr](https://markdownregistry.com/badge/art_wyzduyrf2walacfi.svg)](https://markdownregistry.com/a/art_wyzduyrf2walacfi)

1 badge views in 30 days

Versions

versioncommittedcommitsizeaudit
git:20260623.736ab71 latest2026-06-23 736ab71 10,897 BA view · diff
git:20260525.78c79de2026-05-25 78c79de 10,053 BA view · diff
git:20260525.947d66d2026-05-25 947d66d 10,247 BA view · diff
v0.6.02026-05-19 20fee2b 10,262 BA view · diff
v0.6.02026-05-19 6a6a913 8,416 BA view

Audit of the latest version

A  17 of 17 checks passed. Deterministic, no model, same answer every run.
  • pass: Frontmatter block present
  • pass: Frontmatter declares a name
  • pass: Frontmatter declares a description
  • pass: Size between 200 bytes and 200 KB (10897 bytes)
  • pass: No zero-width or bidi control characters
  • pass: No instruction hidden inside an HTML comment
  • pass: No link to an exfiltration or paste host
  • pass: No credential-shaped string
  • pass: No instruction to send local credentials anywhere
  • pass: No text hidden with inline styles
  • pass: No prompt-injection phrasing
  • pass: No curl or wget piped into a shell
  • pass: No recursive delete of root, home or parent
  • pass: No instruction to read or print local credentials
  • pass: No base64 blob over 200 characters
  • pass: No link to a raw IP address
  • pass: No script tag

Source

GitHub

swingerman/engineer · 150 stars · license MIT · pushed 2026-09-22 · branch master

API

GET https://markdownregistry.com/api/v1/artifacts/art_wyzduyrf2walacfi
GET https://markdownregistry.com/api/v1/resolve?ref=swingerman/engineer/atdd-mutate
GET https://markdownregistry.com/api/v1/blob/bb652f614e7c822d903853ab5eb4eb50119b492152621ed1ea4ea01eaa2a4f0c

Your agent does the legwork. You hear about the deals worth your word. Hand yours the standing instructions at modelranch.com and it joins the network that reads files like this one.

More from swingerman/engineer

crap-analyzer skill
swingerman/engineer · crap-analyzer/skills/crap-analyzer/SKILL.md · Use to produce a risk-based refactor + test plan for recently-changed code on a diff/branch/PR by computing CRAP…
git:20260525.78c79de · audit A · 150 stars
arch-check skill
swingerman/engineer · engineer/skills/arch-check/SKILL.md · Use to check a feature's code against the charter's architecture rules — dependency layering, cycles, forbidden…
git:20260604.4191d6a · audit A · 150 stars
atdd skill
swingerman/engineer · engineer/skills/atdd/SKILL.md · Use to write a feature's acceptance specs and generate its test pipeline — Checkpoint 3 of the DAE pipeline. The…
git:20260710.5dd248a · audit A · 150 stars
clarify skill
swingerman/engineer · engineer/skills/clarify/SKILL.md · Use when a single DAE artifact has ambiguities to resolve. Triggers — "/engineer.clarify", "clarify this spec"…
git:20260516.48406db · audit A · 150 stars
consistency-check skill
swingerman/engineer · engineer/skills/consistency-check/SKILL.md · Use to validate DAE artifacts for schema correctness and cross-artifact consistency. Triggers —…
git:20260729.715119e · audit A · 150 stars
discover-acs skill
swingerman/engineer · engineer/skills/discover-acs/SKILL.md · Use when a Ready feature needs its acceptance criteria discovered before specs are written. Triggers —…
git:20260823.7f6ca14 · audit A · 150 stars
discuss skill
swingerman/engineer · engineer/skills/discuss/SKILL.md · Use when exploring a feature idea before committing, or revisiting a parked one. Triggers — "/engineer.discuss"…
git:20260922.ccea2d9 · audit A · 150 stars
express skill
swingerman/engineer · engineer/skills/express/SKILL.md · Use to build an XS (express-lane) feature in one pass — intake→implement→verify in a single context, no handoff chain…
git:20260922.ccea2d9 · audit A · 150 stars
feature-edit skill
swingerman/engineer · engineer/skills/feature-edit/SKILL.md · Use when an in-flight feature must change — scope shifts, an AC is refined, the plan evolves, a behavior is added or…
git:20260518.62751f4 · audit A · 150 stars
feature-init skill
swingerman/engineer · engineer/skills/feature-init/SKILL.md · Use when a new feature folder must be created for the DAE pipeline, or when discuss promotes/parks an idea. Triggers —…
git:20260922.ccea2d9 · audit A · 150 stars
fix skill
swingerman/engineer · engineer/skills/fix/SKILL.md · Use to drive a bug fix from first report through close, with a "why didn't we catch it?" loop at the end. Triggers —…
git:20260903.f661a4f · audit A · 150 stars
next skill
swingerman/engineer · engineer/skills/next/SKILL.md · Use at the start of a work session, or any time the question is "what should I pick up now" across the whole project…
git:20260729.715119e · audit A · 150 stars

Every file in swingerman/engineer

Browse by kind, by grade A, or by owner.