agentleFS
pavel-molyanovpavel-molyanov/molyanov-ai-dev/skills/test-master/SKILL.md

test-master

Skill299 starsChanged 11 days agoMITView on GitHub

Testing guidance: what deserves a test, the smallest reliable boundary (unit, integration, E2E, smoke), authoring rules, and test-quality review criteria. Use whenever tests are planned, written, changed, or reviewed, including deciding whether a change needs tests at all and analyzing an existing suite.

We split this skill into the rules it gives an agent

7 rules. 0 are common, 6 are distinctive, and 1 is very specific to this project.

  • 0

    Common

    Most of the 14 edited versions we read keep these.

  • 6

    Distinctive

    This author's own choices. Worth a look.

  • 1

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Do not repeat the same risk at several levels for pyramid completeness.

    line 37
  2. Distinctive:

    When authoring a selected type, apply its conditional guide:

    line 40
  3. Distinctive:

    Test observable results, state, errors, or required outgoing interactions rather than private implementation shape.

    line 50
  4. Distinctive:

    Keep tests independent and deterministic with known state.

    line 54
  5. Distinctive:

    Use clear scenario names and minimal fixtures.

    line 58
  6. Very specific:

    When meaningful test code changes, run a fresh test-reviewer in full mode after implementation.

    line 63
  7. Distinctive:

    After the review, do not add or change tests from its findings and do not repeat the review automatically.

    line 79

“Common” is measured: kept by at least 6 in 10 of the 14 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Test Master

Decide What to Protect

Tests protect observable behavior or another explicit contract that must survive change. Trace each selected scenario to the user request, user-spec, or changed project contract.

Automated tests apply only to deterministic executable code; LLM-produced results and presentation-only layout use agent, manual, or visual verification instead.

Freely editable copy, presentation-only markup or styles, constants that merely repeat their source value, and framework behavior normally have no test subject. They become testable when an explicit user, accessibility, legal, safety, protocol, or project requirement makes their presence or semantics invariant. Test that contract at an observable boundary rather than freezing implementation shape or exact wording.

Choose the Smallest Reliable Boundary

Protect each distinct risk once at the smallest boundary that can reproduce it:

BoundaryUse when the risk depends on
UnitOne unit's calculation, decision, validation, transformation, or error behavior
IntegrationAn API, database, filesystem, queue, service contract, or collaborating components
E2EA critical user journey or behavior that needs the real application stack
SmokeSuccessful startup, initialization, deployment, or minimal system integration

Do not repeat the same risk at several levels for pyramid completeness. A characterization test may pass before a refactor when its purpose is to prove existing behavior remains unchanged.

When authoring a selected type, apply its conditional guide:

  • unit-tests.md — unit structure, dependency boundaries, and mocking;
  • integration-tests.md — real component boundaries, fixtures, external services, and cleanup;
  • e2e-tests.md — journeys, environment, selectors, and execution;
  • smoke-tests.md — minimal startup and infrastructure coverage.

Authoring Rules

  • Test observable results, state, errors, or required outgoing interactions rather than private implementation shape.
  • Cover the changed happy path, meaningful branches, failure paths, and specified edge cases without duplicating an already protected risk.
  • Keep tests independent and deterministic with known state. Replace dependencies only outside the boundary the test is meant to exercise.
  • Several mocks are a signal to inspect the boundary, not a defect by count. A test fails when mocks replace the meaningful decision or merely replay configured values.
  • Use clear scenario names and minimal fixtures. Run the selected tests and separate unrelated baseline failures from regressions.

Test Review

When meaningful test code changes, run a fresh test-reviewer in full mode after implementation. Supply the changed tests and implementation, behavior requirements and contracts, direct validation evidence, and a short explanation of what changed, how the tested behavior works, why the test boundary and scenarios were chosen, deliberate limits, and assumptions. The reviewer verifies that explanation as a claim rather than accepting it as authority. It may challenge the test approach or boundary and propose a better boundary or additional scenario when supported by the test-quality evidence.

For a user-requested review of existing tests, apply test-quality-review.md — demonstrated coverage gaps, boundary problems, and ineffective tests.

Reviewer severity follows the concrete regression that can pass undetected, not the category or appearance of the test problem. Naming preferences and optional improvements without concrete impact are not findings.

After the review, do not add or change tests from its findings and do not repeat the review automatically. Explain what tests you changed and what behavior they prove, then what the reviewer found, what it can cause, whether you agree and why, and what you recommend. Wait for the user's approval before editing.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

Reviews can't be read right now.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.