Chalk Labs
Need help deploying mutation-testing?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/hugobowne-mutation-testing
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: testing
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/mutation-testing
What's inside
- Skill name
mutation-testing- Description
- Perform mutation testing on the codebase. Introduces deliberate bugs one at a time, checks whether the test suite catches each one, and reports on test suite gaps. Optionally implements missing tests.
- License
- MIT
- Instructions
- 261 lines in SKILL.md · view on GitHub
Files (4)
- LICENSE
- README.md
- SKILL.md
- hero.png · images/
SKILL.md (first lines)
> **Project:** [honnibal/claude-skills](https://github.com/honnibal/claude-skills). "Claude skills I'm experimenting with. Please review carefully before use."
>
> **License:** [MIT License](https://github.com/honnibal/claude-skills/blob/main/LICENSE). Full license text is in [`LICENSE`](LICENSE) alongside this file.
>
> **Snapshot:** Frozen copy of [`mutation-testing.md.txt`](https://github.com/honnibal/claude-skills/blob/main/mutation-testing.md.txt) as of 2026-05-22. The maintained version lives upstream and may have evolved since this snapshot.
# Mutation Testing
You are now in mutation testing mode. Your job is to assess the strength of the
project's test suite by introducing deliberate bugs (mutations) into the source
code, one at a time, and checking whether any test fails. A mutation that the
tests don't catch reveals a gap in coverage.
## Scope
$ARGUMENTS
- If the user names specific files or directories, restrict mutations to those.
- If no argument is given, look at the project's source layout and use
`AskUserQuestion` to agree on a starting scope. Don't try to mutate
everything at once — pick a module or package and work through it.
- Test files themselves are out of scope for mutation. Only mutate production
code.
- Prioritise code that has meaningful logic (branching, arithmetic, state
changes) over boilerplate, config, or trivial accessors.
## Pre-flight
Before mutating anything:
1. **Clean working tree.** Run `git status` on the files in scope. If there are
uncommitted changes to any file you plan to mutate, stop and ask the user to
commit or stash first. You need a clean baseline so every mutation can be
reverted cleanly with `git checkout -- <file>`.
2. **Find the test runner.** Look for `pytest.ini`, `pyproject.toml
[tool.pytest]`, `setup.cfg [tool:pytest]`, `tox.ini`, a `Makefile` test
target, or a `tests/` directory. Ask the user if you can't determine how to
run tests. Confirm that the test suite passes on the unmodified code before
starting — if it doesn't, stop and tell the user.
3. **Map the code.** Read the files in scope. Build a mental model of each
module's structure and data flow so you can choose mutations that are
meaningful rather than trivially dead.
## Workflow
Work through the files in scope one at a time. For each file:
1. **Choose mutations.** Read the file and identify 3–8 candidate mutations
using the catalogue below. Prefer mutations that test interesting behaviour
— a bug a real developer might introduce — over mechanical operator swaps
on dead code. For each candidate, write a one-line description of what the
mutation does and what behaviour it should break.
2. **Apply, test, revert.** For each mutation:
a. Apply the mutation using `Edit`. Change as little as possible — usually a
single line.
b. Run the test suite (or the relevant subset if the suite is large). Use a
timeout — if the tests hang, that still counts as "caught" (the mutation
broke something).
c. Record the result:
- **Killed** — a test failed. Note which test, and briefly assess how
helpful the failure message is. Would a developer reading this failure
immediately understand what went wrong, or would they have to dig?
- **Survived** — no test failed. This is a gap. Note what behaviour is
untested.
d. Revert the mutation: `git checkout -- <file>`. Confirm the file is back
to its original state before moving on.
3. **Never leave a mutation in place.** After each test run, revert immediately.
If something goes wrong and you're unsure of the file state, run
`git diff <file>` to check, and `git checkout -- <file>` to restore.
Use `TaskCreate` to track progress across files when there are more than a
handful.
## Mutation Catalogue
Choose mutations from these categories, ordered roughly from most to least
likely to reveal meaningful test gaps.
### 1. Delete or skip a side effect
Remove or comment out a line that modifies state — an assignment, a method
call that updates an object, an append to a list, a cache write, a database
call. This tests whether the suite verifies that the side effect actually
happened.
```python
# Original
self.count += 1
results.append(item)
# Mutation: delete the line entirely
```
### 2. Negate or invert a condition
Flip a boolean condition: `if x` → `if not x`, `x > 0` → `x <= 0`,
`x and y` → `x or y`, `x is None` → `x is not None`.
```python
# Original
if user.is_active and user.has_permission:
# Mutation
if user.is_active or user.has_permission:
```
### 3. Change a boundary or comparison
Off-by-one and boundary errors: `<` → `<=`, `>=` → `>`, `== 0` → `== 1`,
`range(n)` → `range(n - 1)`.
```python
# Original
if retry_count < max_retries:
# Mutation
if retry_count <= max_retries:From hugobowne/show-us-your-agent-skills, MIT.
More from hugobowne/show-us-your-agent-skills
- 0.634score
magazine-explainer
hugobowne
Research a topic and build a beautiful, magazine-style PDF explainer written for a specific kid — designed cover, sections, cards, comparison tables…
SkillBFreshness: B★ 70Claude Code +9 - 0.629score
resend-email
hugobowne
Send emails via Resend.com API.
SkillBFreshness: B★ 70Claude Code +9 - 0.629score
verified-frontend
hugobowne
Helps an agent and human turn Chip Huyen's verified frontend pattern into a local skill matched to their browser tools, development environments, visual…
SkillBFreshness: B★ 70Claude Code +9 - 0.584score
github-reply
hugobowne
Draft maintainer replies to GitHub PRs and issues in the user's voice.
SkillCFreshness: C★ 70Claude Code +9 - 0.584score
writing-revision
hugobowne
Draft or revise any kind of writing so it is clearer, better structured, and more effective for its audience.
SkillCFreshness: C★ 70Claude Code +9 - 0.584score
marimo-pair
hugobowne
Work inside a running marimo notebook's kernel — execute code, create cells, and build a notebook as an artifact.
SkillCFreshness: C★ 70Claude Code +9 - 0.584score
wikipedia-discovery
hugobowne
Use when navigating Wikipedia inside the split-pane extension—finding articles from a topic or phrase, teaching or routing the user toward articles, choosing…
SkillCFreshness: C★ 70Claude Code +9 - 0.584score
here-now
hugobowne
here.now lets agents publish websites and store private files in cloud Drives.
SkillCFreshness: C★ 70Claude Code +9 - 0.584score
project-planning
hugobowne
Plan new software projects by decomposing the goal into MVP tasks, researching frameworks and libraries with subagents, and preferring opinionated prebuilt…
SkillCFreshness: C★ 70Claude Code +9 - 0.584score
8-bit-video-gen
hugobowne
Turns a photo of a person into a short 8-bit pixel-art video via a two-step pipeline.
SkillCFreshness: C★ 70Claude Code +9 - 0.579score
high-signal-chart-workflow
hugobowne
Use when you have an idea for a data story and want a publication-quality chart back.
SkillCFreshness: C★ 70Claude Code +9 - 0.579score
formatting-notion-pages
hugobowne
Apply rich formatting to Notion pages - toggles, callouts, headers, and styled text.
SkillCFreshness: C★ 70Claude Code +9
Signals
- Stars
- 70
- Forks
- 10
- Open issues
- 0
- Last commit (this folder)
- May 22, 2026 (5 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from hugobowne
- 0.634score
magazine-explainer
hugobowne
Research a topic and build a beautiful, magazine-style PDF explainer written for a specific kid — designed cover, sections, cards, comparison tables…
SkillBFreshness: B★ 70Claude Code +9 - 0.629score
resend-email
hugobowne
Send emails via Resend.com API.
SkillBFreshness: B★ 70Claude Code +9 - 0.629score
verified-frontend
hugobowne
Helps an agent and human turn Chip Huyen's verified frontend pattern into a local skill matched to their browser tools, development environments, visual…
SkillBFreshness: B★ 70Claude Code +9 - 0.584score
marimo-pair
hugobowne
Work inside a running marimo notebook's kernel — execute code, create cells, and build a notebook as an artifact.
SkillCFreshness: C★ 70Claude Code +9 - 0.584score
github-reply
hugobowne
Draft maintainer replies to GitHub PRs and issues in the user's voice.
SkillCFreshness: C★ 70Claude Code +9 - 0.584score
8-bit-video-gen
hugobowne
Turns a photo of a person into a short 8-bit pixel-art video via a two-step pipeline.
SkillCFreshness: C★ 70Claude Code +9
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get mutation-testing running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
mutation-testing skill. Agent Mart. https://agentmart.dev/skills/hugobowne-mutation-testing (last updated 2026-10-24)