agentleFS
huntiehuntie/skills/test-plan/SKILL.md

test-plan

Skill0 starsChanged 21 days agoMITView on GitHub

Decide what to run to verify a change and write the test plan, what was run and what it proved, for a commit message or PR description. Use when writing a commit message or PR description, when asked for a test plan or how to verify a change, or once a verification finishes. Asks which checks the user wants, with options fitted to the change and a smoke test as the fallback, unless the plan, the request or the session already settles it.

17 other projects use a version of this.

Adopted by

Most recently taken up by

The file

We split this skill into the rules it gives an agent

1 rule. 0 are common, 1 is distinctive, and 0 are very specific to this project.

  • 0

    Common

    Most of the 14 edited versions we read keep these.

  • 1

    Distinctive

    This author's own choices. Worth a look.

  • 0

    Very specific

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

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Leave out lint, format and type-check results.

    line 28

“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 plan

A test plan shows what was run and what it proved, concrete over prose. In a commit message it is a **Test plan** block after the summary; the submit skill lifts it into the PR's Test Plan section. The commit-msg skill writes the summary; this skill writes this.

Decide what to run

Ask only when the answer is not already there. It is already there when the task's plan under vault/plans/ names the verification, the user asked for specific checks, the session has already run what the change needs, or the change is docs or copy with nothing to run. Otherwise ask once, before verifying, with two to four options fitted to the diff, each a one-line plan the user can pick, multi-select where they combine. Use AskUserQuestion where the harness has it, else a numbered list in chat. No answer, as in a non-interactive session, means the fallback.

Options to draw from, by what the diff touches:

  • Unit tests for the touched package: the specific files, yarn jest path/to/file.test.ts or the repo's equivalent, never the whole suite.
  • Screenshots per state on a simulator, through the simulator-screenshots skill where it is installed: one framed shot per state the change cares about, on iOS and Android as the change warrants, for anything visual.
  • Smoke test, the fallback: build and launch a representative app on one device per affected platform, then one framed screenshot labelled by device with ✅ App builds and bundles. For a change with nothing to see that can still break the build, bundling or startup: native code or targets, config plugins, dependencies and lockfiles, bundler setup. In a stack, each such layer gets its own, captured with that layer checked out.
  • A check only the user can drive, written as the steps for them.
  • CI only, said alone, when nothing is worth running locally.

A repo often has its own smoke-test app, device and setup steps. Look in the vault first: vault/index.md lists memory notes per repo, and one named for the smoke test or the app to build settles the choice. Where the vault has none and the choice was not obvious, the user picks the app.

Write it

  • Commands in fenced blocks; ✅, ⚠️ or ℹ️ to mark outcomes; a Before/After table when a comparison needs one.
  • Leave out lint, format and type-check results; CI runs those. No pass-count lines such as "101 tests pass" under a test command either: the command shows what ran.
  • Screenshots: one per state, labelled by device and state, in a table whose column headers are the labels, a pair side by side and a lone shot in a one-column table too. Each outcome sits directly under the shots that show it, not in one list ahead of every table.
  • Follow-up layer: a layer that re-verifies the preceding PR opens with Repeat all verification from <PR link>, then carries only what is new to this layer, its own shots and checks. Setup snippets, test commands and caveats the preceding plan already states are not repeated. A shot that shows the change rather than proves a state belongs in the summary, per the commit-msg skill.
  • Images are <img src="…" width="…" />, 300 for a portrait phone frame and 400 for a landscape or wide one, never a bare Markdown image, whatever a repo template says about full-width images. A commit message references the files, kept somewhere that outlives the session such as scratch/<task>-evidence/; the submit skill uploads them when the PR opens.
  • State the bar honestly: if verification was mechanical rather than end-to-end, say so, and name what you did not run and why. When CI genuinely is the test, say that alone.

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.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

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.