PlugWiki

testing-changes skill (riekelt): decide which tests a change owes

Makes Claude decide which tests a change owes, ship a regression test with each bug fix, and show it can fail.

Installs
20.3K
on skills.sh
Stars
7
on GitHub
Updated
Sep 2026
last repo commit

testing-changes governs which tests a change owes, not how to write them. Tests change with behavior in the same change, a bug fix ships a regression test shown red against the unfixed code and green against the fix, and assertions have to be able to fail. It also sets a red-test rule: a failing test in a gate you own gets fixed, never silenced. Test craft lives in writing-unit-tests, and both skills name principal-engineering as required background.

Good for

  • Developers whose Claude changes arrive with an empty test diff
  • Reviewers checking whether a diff's tests are enough
  • Teams that keep a green suite over code that cannot work

Install testing-changes

Claude Code

  1. 1

    Copy this prompt.

    Install the testing-changes skill in Claude Code. Run this command:
    
    /plugin marketplace add riekelt/principal-engineer
    /plugin install principal-engineer@principal-engineer
    
    Then check that it loaded and tell me how to use it.
  2. 2

    Paste it into Claude Code. It shows the change and asks before running it.

Pick one route. The plugin installs all 11 skills in the repo, plus one agent (change-verifier) and two commands (/verify and /preflight), counted from the git tree. testing-changes names principal-engineering as required background, so the skills CLI and folder routes below install both. There is no Claude app upload route: the README documents only the Claude Code plugin and the other-agents routes.

From the project README. Source.

What's in the skill

When it loads

Use when deciding what tests a change needs - a feature, a bug fix, a refactor, any behavior change - or when reviewing whether a diff's tests are sufficient. Encodes tests-change-with-behavior, the bug-regression pattern, and assertion discrimination. Use whenever behavior changes and the test diff is empty, especially when the change is "too small to test".

Sections in SKILL.md

  1. Overview
  2. Tests a change owes
  3. The red-test rule
  4. Tests a change does not owe
  5. Common mistakes

Key facts

Installs on skills.sh
20,331 (Nov 2, 2026)
Last repo commit
Sep 11, 2026

What it includes

  • An empty test diff on a behavior change is a review finding

    A pure refactor owes the opposite proof: the existing tests still pass unmodified.

    Write · Tests move with behavior

  • Shows it red on the old code and green on the fix

    Named after the failure mode, not the ticket.

    Runs code · Bug fix ships its regression test

  • Puts the edge cases found in grounding and review into named tests

    The happy path alone tests the demo, not the change.

    Write · Concrete scenarios with edges

  • Every task names a command that proves this change and runs alone

    "The suite passed" vouches for nothing the suite never covered.

    Runs code · Targeted verify command

  • Breaks the code once to confirm the test goes red, then restores it

    A test that passes regardless of the change proves nothing.

    Runs code · Discriminating assertions

  • Tests that sums and mirrors reconcile on declared critical paths

    The test asserts the reconciliation itself, not just point examples.

    Write · Invariant tests for aggregates

  • Fixes a failing test in a gate you own; never weakens, deletes or skips it

    Changing the test is legitimate only when it asserted the old, wrong behavior, and the change says so.

    Write · The red-test rule

  • Skips tests of unreachable edges, framework internals and generated code

    Three exclusions. Whether tests come first is workflow, not this skill's call.

    Read · Tests not owed

From the official docs

Permissions

Low risk

testing-changes is instructions for Claude and the plugin route adds an agent and two commands. Our advice: review the diff after each session and keep your tool's permission prompts on.

What it can do

  • Read your data
  • Create and change things
  • Delete things
  • Read-only mode

Watch out for

  • Claude may break your code on purpose to test a test

    SKILL.md says to break the code once, confirm the test goes red, then restore it. Our advice: commit or stash your work before this kind of check. github.com

  • The plugin route adds an agent that can run shell commands

    change-verifier lists the tools Read, Glob, Grep and Bash, and the plugin adds the /verify and /preflight commands. The repo tree has no hooks or MCP config files. Use the skills CLI route to install only this skill. github.com

Technical details
Turning on read-onlySKILL.md describes no read-only mode.
Sign-in and keysSKILL.md names no account, key or token.
Scopes
  • Claude writes and edits test files in your repository

  • Claude runs your test commands

  • The plugin route also installs 10 other skills, one agent and two commands

Questions

What does testing-changes do?

It tells Claude which tests a change must ship with. Behavior changes bring test changes, bug fixes bring a regression test shown red then green, and assertions must be able to fail.

How do I install it?

Use the install box at the top. The skills CLI and folder routes add principal-engineering as well, because this skill names it as required background. writing-unit-tests is an optional companion for test craft. The plugin route installs all eleven skills.

How is it different from writing-unit-tests?

testing-changes decides which tests a change owes. writing-unit-tests covers the craft of the tests themselves: behavior over implementation, names as claims, determinism and mock policy.

Does it require test-first development?

No. SKILL.md says whether tests come first is workflow, and that this skill governs what must exist when the change ships, whichever order produced it.

Does it work in the Claude app or Codex?

The README documents the Claude Code plugin and, for other agents, a plugin loader pointed at plugins/principal-engineer/ or symlinked skill folders. It documents no Claude app upload route.

Is it safe to install?

The skill folder bundles no scripts. It tells Claude to run your tests and to break code briefly to see a test fail. Commit or stash first. The plugin route also adds an agent, covered under "Watch out for".

Information

updated Nov 2, 2026

Folder
plugins/principal-engineer/skills/testing-changes

riekelt/principal-engineerskills.sh

Sources

Docs, issue trackers and discussions this page is built from.

Show all 6
  1. testing-changes SKILL.md · github.com
  2. principal-engineering SKILL.md · github.com
  3. README · github.com
  4. plugin.json · github.com
  5. writing-unit-tests file · github.com
  6. change-verifier agent · github.com

Updated Nov 2, 2026.