han-release
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…
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,
$ npx -y skills add testdouble/han --skill manual-test-planning --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/manual-test-planningContext preview
The summary Claude sees to decide when to auto-load this skill.
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,
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.
argument-hint: "[optional: files, a branch, a plan, a PR, or a description of what to manually test]"
allowed-tools: Bash(git *), Read, Grep, Glob, Write, Agent, Bash(bash "${CLAUDE_PLUGIN_ROOT}/scripts/han-config-dir.sh")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](../../references/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.
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.
detail section ends with the outcome or outcomes the person should observe, so they can tell pass from fail on the spot.
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.
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.
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.
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.
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 sho
Han is a suite of AI skills and agents for solo (or small-team) product engineers.
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…
Update Han plugin documentation so every skill, agent, guidance doc, index, and cross-reference is current and accurate. On a non-default branch, scopes the…
Produces a progressive-disclosure overview of unfamiliar code or a pull request's changes with code-overview and publishes the resulting overview to a…
Runs an evidence-based investigation of a bug, failure, or unexpected behavior with investigate and publishes the resulting investigation report to a…
Publishes a local Markdown file to a user-specified Confluence location, creating a new page or updating an existing one through the Atlassian MCP server. Use…
Builds a feature specification from scratch with plan-a-feature and publishes it to a user-specified Confluence location, posting the spec as a parent page and…