Skip to content
Development
Skill

/create-manual-test-instructions

Turn a ticket, requirements document or code change (branch, PR, commit range, diff) into a concise QA manual-test file a non-author can follow. Invoke manually only.

From plugin
agent-toolkit
8030 skills

Claude Code

$ npx -y skills add eai-org/agent-toolkit --skill create-manual-test-instructions --agent claude-code

SKILL.md

create-manual-test-instructions.SKILL.md
name: create-manual-test-instructions
description: Turn a ticket, requirements document or code change (branch, PR, commit range, diff) into a concise QA manual-test file a non-author can follow. Invoke manually only.
context: fork
license: MIT
metadata:
  version: "1.9"

Create manual test instructions

Resolve the input

  • **Ticket or requirements document** (file or pasted text) — the only source: the checks follow

it, and no code change is looked up.

  • **Code change** — a branch, PR URL, commit range, pasted diff or patch file, or nothing (the

current branch). A commit range is diffed between its own ends. A branch or PR: `git fetch` the remotes, then diff from the merge base `<base>` with the target — a PR's base from its metadata, else the default branch of the `upstream` remote when one exists, else of `origin`, via `git ls-remote --symref <remote> HEAD`; that failing, the sole existing candidate among `main`, `master`, `develop`/`development`, preferring `upstream`'s remote-tracking ref, then `origin`'s, then the local branch. `git diff <base> <source>` for a tip; a checked-out source is reviewed as its working tree: `git diff <base>` plus the untracked files (`git ls-files --others --exclude-standard`), read whole. Read the commit subjects and the PR title and description too. Then resolve the task's planning home — its `<id>-<slug>/` directory (no ticket → no id) or flat `<id>-<slug>.*` files in the project's planning directory, id and slug from the branch name or PR — and read the ticket and requirements there when present for the intent, the "before" and the edge cases; the checks still follow the code, a Reproduction part's steps aside (What to verify). No merge base → `git fetch --unshallow` and retry. Running forked, you can't ask mid-run: an ambiguous target, a failed fetch, still no merge base or an empty diff → write nothing and say in the final message what to pass on the next run; never guess a target.

Where needed for accurate navigation, also read the code the input cites and the design frames or screenshots it links when they are on disk.

Write the file

Next to an input ticket or requirements file, naming it by replacing `.REQUIREMENTS` or `.TICKET` with `.MANUAL-TEST` (`FOO.REQUIREMENTS.md` → `FOO.MANUAL-TEST.md`); neither convention → append `.MANUAL-TEST` before `.md`. A code change with a planning home → `<id>-<slug>.MANUAL-TEST.md` beside the task's other artifacts. Otherwise (pasted text, a diff or patch file, a branch without artifacts) follow the project's/user's convention for where plans live (default: `.agents/plans/`) and write `<id>-<slug>/<id>-<slug>.MANUAL-TEST.md` there, id and slug from the branch name or PR, else a kebab-case slug from the content. An existing manual-test file of that name is replaced; the final message says so. Flag any guessed location or slug in the final message for the user to verify.

The file must be followable by someone **unfamiliar with the ticket** — short but complete. Four parts:

1. **What changed** — 1–2 sentences: the feature and the user-visible difference. 2. **How to get there** — concrete navigation to the affected area (entry point, page/screen name, any prerequisite state). 3. **Before vs after** — how the area behaved before, how it should behave now. 4. **What to verify** — checklist of behaviors to confirm, including edge cases (empty values, multiple items, boundaries) where relevant. A requirements document's Reproduction part, in the input or read for a code change, gives the first check, a regression check: its steps, passed when the expected behaviour it records shows. A ticket's own reproduction field isn't that part. A behaviour resting on an Open question of the input goes under a closing **Not settled yet** line, never as a plain check: on a non-blocking question, with its tentative answer; on a blocking one, listed as undecided, naming who decides when the input names them, with no expected value — never invented. Each point where a code change differs from its ticket — built but never asked for, or asked for but not built — goes under a closing **Differs from the ticket** line, with nothing invented for the missing side.

A change with nothing a person can test by hand (a refactor, a dependency bump, a backend change with no visible effect) still gets the file: part 1 says why, the other parts stay empty.

Before writing, actually invoke [explain-in-simple-language](../explain-in-simple-language/SKILL.md) and follow it — reciting its rules from memory does not count. Not installed: plain words, one idea per sentence, and nothing named only by a stand-in the reader hasn't seen.

Do not modify any source files; the only file you write is the manual-test document.

When done, state the manual-test file's **project-relative path** and, for a branch or PR, the target and the source state (tip or working tree) you diffed.

Read more
@eai-org
Ships withagent-toolkit

A collection of generic agentic tools for common engineering tasks, designed to work with any AI agent on any kind of software project.

Stars on GitHub

Momentum

stars in total
80
Star history of eai-org/agent-toolkit on GitHub, a chart by star-history.com

Other skills on agent-toolkit.

agentify-project

agentify-project

Make a project agent-ready by converging it toward a canonical agent-neutral structure. Re-runnable, and doubles as an audit.

attach-to-ticket

attach-to-ticket

Attach pasted images, files or URLs to a fetched ticket, saved beside its ticket file and referenced from it, or fill an…

compact-docs-writer

compact-docs-writer

Draft, rewrite, or refine a doc for maximum token economy without losing any rule or intent. Use for docs kept in version control…

context-checkup

context-checkup

Audit what auto-loads into an agent session's context window and suggest lean, reversible fixes to cut startup tokens.

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills11d309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc13d293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react2d252k
@facebook@facebookInstall Skill

Questions about create-manual-test-instructions.

Which coding agents can use create-manual-test-instructions?
create-manual-test-instructions installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.