Agent skill

Manual Test Planning

by testdouble in testdouble/han

Produce a plain-language manual test plan from the context supplied to it — an executive summary, a high-level list of named tests, and a detail section per test with the steps a person follows by…

MITAuto-check passedTesting & QA

Install Manual Test Planning

skills CLI
$ npx skills add testdouble/han --skill manual-test-planning -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install testdouble/han manual-test-planning --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/testdouble/han.git skills-src && mkdir -p .claude/skills && cp -r skills-src/han-coding/skills/manual-test-planning .claude/skills/manual-test-planning && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
manual-test-planning
GitHub stars
279
Token cost
~2.9k tokens
SKILL.md length
1,674 words
Files
2 (incl. references)
Skills in repo
54
Repo updated
First seen
Licence
MIT

At a glance

Produce a plain-language manual test plan from the context supplied to it — an executive summary, a high-level list of named tests, and a detail section per test with the steps a person follows by…

  • Works in 7 steps: Gather the Context → Identify What Can Be Manually Tested → Group Outcomes into Named Tests → …
  • You want to create
  • SKILL.md covers Project Context, Operating Principles, Step 1: Gather the Context and Step 2: Identify What Can Be…, plus 5 more sections
  • Calls git and bash

What it does

Manual Test Planning is an agent skill from testdouble/han. Produce a plain-language manual test plan from the context supplied to it — an executive summary, a high-level list of named tests, and a detail section per test with the steps a person follows by hand and the outcomes they should expect. Use when you want to create, draft, generate, or outline a manual test plan, manual QA steps, hands-on verification steps, or an acceptance walkthrough for a feature, change, branch, plan, or PR. When the plan holds more than five tests and at least two natural categories…

Its SKILL.md is about 2.9k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including reference files (for example `references/template.md`).

It sits in Testing & QA, covering Test strategy, Test generation and Code review. The repository describes itself as: Han: AI skills and agents for "Solo" product engineers and small teams. The licence is MIT.

When your agent uses it

  • You want to create
  • Outline a manual test plan
  • Manual QA steps
  • Hands-on verification steps

Example prompts

  • “/manual-test-planning”

Requirements

  • Pre-approved tools (allowed-tools): Bash(git *), Read, Grep, Glob, Write, Agent, Bash(bash "${CLAUDE_PLUGIN_ROOT}/scripts/han-config-dir.sh")

Workflow steps

7 steps, taken from the step headings in SKILL.md.

  1. Gather the Context
  2. Identify What Can Be Manually Tested
  3. Group Outcomes into Named Tests
  4. Draft the Plan
  5. Adversarially Validate the Plan
  6. Write the File
  7. Readability Edit and Self-Check

What it can do on your machine

Read from SKILL.md and the folder at commit abba73a. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Bash(git *)
    • Read
    • Grep
    • Glob
    • Write
    • Agent
    • Bash(bash "${CLAUDE_PLUGIN_ROOT}/scripts/han-config-dir.sh")

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • git
    • bash

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Manual Test Planning loads about 2.9k tokens when it runs, and up to ~3.5k if it reads all its reference files. Until then it costs about 250 tokens; SKILL.md has 1,674 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~250
When it runs · the whole SKILL.md, loaded when a task matches
~2.9k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~3.5k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from testdouble/han at commit abba73a, republished under its MIT licence (© testdouble). 1,674 words, ~2,925 tokens.

Download SKILL.mdSave it as .claude/skills/manual-test-planning/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
manual-test-planning
description
Produce a plain-language manual test plan from the context supplied to it — an executive summary, a high-level list of named tests, and a detail section per test with the steps a person follows by hand and the outcomes they should expect. Use when you want to create, draft, generate, or outline a manual test plan, manual QA steps, hands-on verification steps, or an acceptance walkthrough for a feature, change, branch, plan, or PR. When the plan holds more than five tests and at least two natural categories emerge, both the test list and the detail sections are organized under plain-language categories. When nothing in the supplied context can be manually tested, it says so and asks for more context instead of producing a document. Does not analyze code for automated test coverage gaps — use automated-test-planning. Does not write test code — use tdd. Does not review code quality — use code-review. Does not stress-test an existing plan — use iterative-plan-review.
allowed-tools
Bash(git *), Read, Grep, Glob, Write, Agent, Bash(bash "${CLAUDE_PLUGIN_ROOT}/scripts/han-config-dir.sh")
argument-hint
[optional: files, a branch, a plan, a PR, or a description of what to manually test]

Project Context

  • personal config directory: !bash "${CLAUDE_PLUGIN_ROOT}/scripts/han-config-dir.sh" 2>/dev/null || echo "$HOME/.claude"
  • project .han/config.md: !cat .han/config.md 2>/dev/null || echo ""

As your first action, use the Read tool on .han/config.md inside the personal config directory path above. A read that returns no file is no personal configuration: continue silently. When that file or the project .han/config.md probe supplies content, apply it per config-rule.md, which governs precedence between the two files, relative-path resolution, and what to do with a file that reads but cannot be used.

Operating Principles

  • Group outcomes only when the steps are identical. A test verifies a single outcome, or a group of related outcomes only when the exact same steps produce every outcome in the group. If any outcome needs a different or additional step, it gets its own test, BECAUSE a person following one step list can only check the outcomes those steps actually produce.
  • Every test states its expected outcomes. A step list without an expected outcome is not a test. Each test's detail section ends with the outcome or outcomes the person should observe, so they can tell pass from fail on the spot.
  • No manual tests means no document. When the supplied context contains nothing a person can test by hand, say so clearly and ask for more context instead of writing a file. Never invent or pad testable outcomes, BECAUSE a plan built on guesses sends the tester chasing outcomes the work never promised.
  • Plain language only. The plan is written for the person who runs the tests by hand, who may not be technical. Short, concise sentences. No file paths, function names, code, or framework jargon anywhere in the document. Describe what the person does and sees through the product's own surfaces (screens, commands, pages, messages), not how the code works, BECAUSE the reader follows the plan without ever reading the code.

Step 1: Gather the Context

Collect everything supplied to the skill call: the arguments, the conversation so far, and any files, plans, specs, diffs, or pull requests referenced. Read referenced files with Read. If a branch, PR, or change set is referenced and git is available, use git diff, git log, and git status to understand what changed; if git is unavailable or the directory is not a repository, skip the git commands and work from the rest of the supplied context. The git detail informs your understanding only — none of it appears in the plan.

If no context was supplied at all, ask the user what they want a manual test plan for, and wait for their answer before continuing.

Step 2: Identify What Can Be Manually Tested

From the context, list every candidate outcome a person can verify by hand. An outcome qualifies only when all three hold:

  1. A person can reach it through the product's own surfaces: a screen, a page, a command they can run, a request they can send, a document or message they can read.
  2. The steps to reach it can be written without asking the person to read or change code.
  3. The result is something the person can directly observe and compare against an expectation.

Internal refactors, dependency bumps, code style changes, and behavior only observable in test suites or logs the person cannot see do not qualify.

If the list is empty: tell the user clearly that nothing in the provided context can be manually tested, and ask whether there is additional context to consider. If they supply more, return to Step 1 with the combined context. If they say there is none, end the skill with that statement as its only output — do not write a file and do not produce a document.

Step 3: Group Outcomes into Named Tests

Turn the outcomes into a list of named tests:

  1. Default to one test per outcome.
  2. Merge outcomes into one test only when the exact same steps produce every outcome in the group. When in doubt, keep them separate.
  3. Give each test a short, unique, plain-language name that says what it verifies (for example, "Signing in with a wrong password"), not how.
  4. Order the tests in the sequence a person would sensibly run them: tests that set up state other tests rely on come first, then the most important behaviors, then the rest.
  5. Count the tests. When there are more than 5, look for natural plain-language categories among them — by the area of the product they exercise, the kind of person who runs them, or the feature they verify. When at least two natural categories emerge, categorize: assign each test to exactly one category, name each category with the same short plain-language rule as test names, and put every test that fits no natural category under a final category named "Other tests". Keep the run order: categories in the order their first test would run, "Other tests" last, and tests in run order within each category. When only one natural category emerges, or none do, keep the flat list, BECAUSE a single category or a forced grouping adds structure without helping the tester see how the tests relate. With 5 tests or fewer, always keep the flat list.

Step 4: Draft the Plan

Invoke han-communication:readability-guidance to source the shared readability standard into your context, then draft the document using the template at references/template.md:

  • Summary — the executive summary: 2-4 short sentences on what the plan covers, who can run it, how many tests it contains, and where to start.
  • Tests at a Glance — the high-level list: every test name with one sentence on what it verifies.
  • Test Details — one section per named test: one sentence on what it verifies, a numbered list of steps to follow, and the expected outcome or outcomes.

When Step 3 produced categories, organize both Tests at a Glance and Test Details under the category names, following the categorized layout in the template: each category is a heading in both sections, its tests sit beneath it, and the categories and tests appear in the same order in both sections, BECAUSE the reader jumps between the glance list and the details by matching names.

Apply the Operating Principles as you write: short sentences, plain words, no technical detail, expected outcomes in every detail section.

Show full SKILL.md (635 more words)Show less

Step 5: Adversarially Validate the Plan

Dispatch the han-core:adversarial-validator agent (one Agent call) against the draft before writing any file, BECAUSE a plan that reaches the tester with wrong steps or unpromised outcomes wastes their run and hides real failures. Embed the full draft in the agent's prompt, along with the scope of the context it was derived from (the file paths, branch, plan, or description from Step 1), and instruct it to try to disprove, for every test:

  1. The expected outcomes are actually promised by the supplied context, not invented or assumed.
  2. The steps, followed exactly as written, reach and produce every stated expected outcome.
  3. A person can perform every step through the product's own surfaces without reading or changing code.
  4. Grouped outcomes are truly produced by the exact same steps, with no outcome needing a different or additional step.

Apply every confirmed finding to the draft:

  • Fix steps that would not produce their stated outcome.
  • Correct or remove expected outcomes the context does not promise.
  • Split a grouped test when any of its outcomes needs different steps.
  • Remove a test entirely when its outcome cannot be validated against the context.

If every test is removed, return to the empty-list handling in Step 2: state that nothing in the context can be manually tested and ask for more context. If a finding turns on ambiguity in the context rather than an error in the draft, surface it to the user with a recommended resolution instead of silently choosing.

Step 6: Write the File

Write the document to manual-test-plan.md in the current working directory, unless the user supplied a different path — the user's path wins.

If manual-test-plan.md already exists, do not overwrite it. Pick a new unique filename derived from the current context: prefix the default name with one or two short plain-language words naming what the plan covers (for example, sign-in-manual-test-plan.md or checkout-manual-test-plan.md). Keep the name short, and always include manual-test-plan in it, BECAUSE the tester finds these documents by that name. Check the new name with Glob before writing; if it also exists, adjust the prefix (or append a number) until the name is unique.

If the user supplied a path and that file already exists, show the user the path and ask before overwriting, BECAUSE overwriting discards a document you did not produce in this run.

Step 7: Readability Edit and Self-Check

Dispatch han-communication:readability-editor (one Agent call) to audit and rewrite the plan's prose against the readability standard. Pass it the file path and the named audience: the person who will run these tests by hand, who may not be technical. The editor reads han-communication's own canonical rule, so pass no rule path. It must preserve every fact — every step, expected outcome, test name, and category name must survive with its meaning intact.

Then run the standardized readability self-check (the shared standard is in your context from han-communication:readability-guidance) over the document. Confirm each criterion and fix any failure:

Run the readability rule's standardized self-check, which is already in your context from the readability-guidance invocation above. Correct every failure before presenting. Its fidelity criterion is not optional: the standard governs how the content is said, and drops a required fact only when the reader asked for less and losing it would not change what they do next.

Two checks are this skill's own, layered on top:

  • Every test still has its steps and expected outcomes, and no technical detail has crept in.
  • When the plan uses categories, Tests at a Glance and Test Details carry the same category names in the same order, with every test under its category in both sections.

Finish by presenting a short in-channel summary: the file path, the number of tests, and the test names. Do not repeat the full document in the channel.

© testdouble, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file (references) in han-coding/skills/manual-test-planning of testdouble/han.

  • SKILL.md
  • references/template.md

Open the folder on GitHubat commit abba73a

Compare with similar skills

Manual Test Planning next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Manual Test Planning compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Manual Test Planning this skilltestdouble/han279—~2.9kAutomated safety check: PassMIT
Designing TestsCloudAI-X/opencode-workflow275—~2.9kAutomated safety check: PassMIT
Test Experteinverne/dotfiles121—~2.3kAutomated safety check: PassGPL-3.0
Prd V07 Test Planningmattgierhart/PRD-driven-context-engineering180—~3.5kAutomated safety check: NotesMIT
Test Reviewsd0xdev/sd0x-harness192—~2.9kAutomated safety check: PassMIT
Risk Based Testingpetrkindlmann/qa-skills165—~5.3kAutomated safety check: PassMIT

Similar skills

  • Designing Tests

    CloudAI-X/opencode-workflow

    Guides test strategy, TDD/BDD approaches, test coverage planning, and testing best practices.

    275 GitHub stars~2.9k tokensUpdated 9 mo ago
    Testing & QAAuto-check passed
  • Test Expert

    einverne/dotfiles

    Testing methodologies, test-driven development (TDD), unit and integration testing, and testing best practices across multiple frameworks.

    121 GitHub stars~2.3k tokensUpdated 1 mo ago
    Testing & QAAuto-check passed
  • Prd V07 Test Planning

    mattgierhart/PRD-driven-context-engineering

    Define test cases BEFORE implementation, ensuring every API, business rule, and user journey has verifiable acceptance criteria during PRD v0.7 Build Execution.

    180 GitHub stars~3.5k tokensUpdated 1 mo ago
    Testing & QAAuto-check: notes
  • Test Review

    sd0xdev/sd0x-harness

    Test coverage review via Codex exec. An agent skill from sd0xdev/sd0x-harness.

    192 GitHub stars~2.9k tokensUpdated yesterday
    Testing & QAAuto-check passed
  • Risk Based Testing

    petrkindlmann/qa-skills

    Produce a risk matrix or heatmap that quantifies what could break by business impact × probability, runs failure mode analysis on the top items, and maps test coverage to risk zones.

    165 GitHub stars~5.3k tokensUpdated 4 mo ago
    Testing & QAAuto-check passed
  • Test Planning

    petrkindlmann/qa-skills

    Build a single sprint or release test plan. An agent skill from petrkindlmann/qa-skills.

    165 GitHub stars~4.2k tokensUpdated 4 mo ago
    Testing & QAAuto-check passed

More from testdouble/han

All 54 skills in this repo
  • HTML Summary

    testdouble/han

    Convert a stakeholder summary markdown file into a single self-contained HTML executive report — bottom line and decision asks up front, supporting detail later — styled with a Test Double-derived…

    279 GitHub stars~2.9k tokensUpdated 7 days ago
    Auto-check passed
  • Update Han plugin documentation so every skill, agent, guidance doc, index, and cross-reference is current and accurate.

    279 GitHub stars~3.4k tokensUpdated 7 days ago
    Auto-check passed
  • Guidance

    testdouble/han

    Authoritative guidance for building Claude Code skills, agents, and plugins, plus init and update steps that install and refresh the plugin-building skills in the current repository.

    279 GitHub stars~1.8k tokensUpdated 7 days ago
    Auto-check passed
  • Han Release

    testdouble/han

    Cut a Han release: update CHANGELOG.md with the changes since the last release, bump and tag every plugin that changed as {plugin-name}--v{version} so a version-constrained dependency can resolve…

    279 GitHub stars~8.6k tokensUpdated 7 days ago
    Auto-check passed
  • Update PR Description

    testdouble/han

    Generate a PR description from the current branch's changes against a GitHub PR, using the gh CLI.

    279 GitHub starsUsed in 1 repo~4.7k tokens
    Auto-check passed
  • Plan Implementation

    testdouble/han

    Builds a feature implementation plan from an existing feature specification (or equivalent context) through a facilitated team conversation.

    279 GitHub stars~9.5k tokensUpdated 7 days ago
    Auto-check passed

Categories

Questions about Manual Test Planning

What does Manual Test Planning do?

Produce a plain-language manual test plan from the context supplied to it — an executive summary, a high-level list of named tests, and a detail section per test with the steps a person follows by…. Manual Test Planning is an agent skill from testdouble/han. Produce a plain-language manual test plan from the context supplied to it — an executive summary, a high-level list of named tests, and a detail section per test with the steps a person follows by hand and the outcomes they should expect.

When should I use Manual Test Planning?

Manual Test Planning fits situations like: you want to create; outline a manual test plan; manual QA steps; hands-on verification steps.

How do I install Manual Test Planning in Claude Code?

Run `npx skills add testdouble/han --skill manual-test-planning -a claude-code`. Or copy the skill folder (han-coding/skills/manual-test-planning in testdouble/han) into .claude/skills/manual-test-planning in your project. Claude Code loads it when a task matches its description.

How do I install Manual Test Planning in Codex?

Run `npx skills add testdouble/han --skill manual-test-planning -a codex`. Or copy the skill folder (han-coding/skills/manual-test-planning in testdouble/han) into .agents/skills/manual-test-planning in your project. Codex loads it when a task matches its description.

Can I use Manual Test Planning in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add testdouble/han --skill manual-test-planning -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/manual-test-planning, .gemini/skills/manual-test-planning, .github/skills/manual-test-planning and .opencode/skills/manual-test-planning in your project.

What does Manual Test Planning need to run?

Going by SKILL.md and its folder, Manual Test Planning needs the command-line tools its instructions call (git and bash). Its frontmatter pre-approves these tools: Bash(git *), Read, Grep, Glob, Write, Agent, Bash(bash "${CLAUDE_PLUGIN_ROOT}/scripts/han-config-dir.sh").

Does Manual Test Planning access the network?

SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Manual Test Planning safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Manual Test Planning use?

Manual Test Planning is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Manual Test Planning use?

About 2.9k tokens (SKILL.md is roughly 12k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 615 tokens, read only when the agent opens those files.

What are the alternatives to Manual Test Planning?

Skills that share tags, products or a category with Manual Test Planning: Designing Tests (CloudAI-X/opencode-workflow, 275 stars), Test Expert (einverne/dotfiles, 121 stars), Prd V07 Test Planning (mattgierhart/PRD-driven-context-engineering, 180 stars) and Test Review (sd0xdev/sd0x-harness, 192 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Manual Test Planning?

testdouble (a GitHub organization) maintains it in testdouble/han, which has 279 GitHub stars. The repository holds 54 skills in this directory. The repository was last updated on October 1, 2026.

Source: testdouble/han on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.