
manual-testing
Guide users through targeted manual verification after code changes. Use when asked to "test this", "verify it works", "QA this", "walk me through testing", "smoke test", "sanity check", "regression test", "acceptance test", or after implementing a feature or bug fix that still needs human validation. Favor this skill for focused verification of the current change; use a broader exploratory-testing skill for open-ended bug hunting across an entire app.
- Installs
- 63
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/petekp/claude-code-setup --skill manual-testing- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads manual-testing automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
Manual Testing
Finish work with a tight verification loop: prove everything possible with tools first, then ask the user to verify only what requires human eyes, hands, devices, or judgment.
Do not make the user invent the test plan. Lead them through it.
Quality Bar
Before asking the user to do anything, know:
- What changed
- What the expected behavior is
- What can be verified automatically
- What still needs a human check
- What nearby behavior could have regressed
Never ask the user to "poke around" or "let me know if it works." Give concrete actions, a specific screen or command, the expected result, and a short set of likely outcomes to reply with.
Workflow
1. Build a Verification Matrix
Translate the change into a short verification plan before running anything.
For each changed behavior, capture:
- Primary success path
- Most likely failure or edge case
- One nearby regression check
- Verification owner: tool or user
Use a simple internal checklist like:
| Behavior | Happy path | Edge/regression | Verified by |
|---|---|---|---|
| Save settings | Form saves | Validation error still works | Tool + user |
Keep the matrix small and focused on the current change.
2. Run Tool-Verifiable Checks First
Exhaust automated verification before involving the user.
Prefer to verify these yourself:
- Build, compile, typecheck, lint, test
- API responses and status codes
- File output, database state, logs, and side effects
- CLI behavior, exit codes, and generated artifacts
- Browser automation, screenshots, DOM text, or network behavior when tools can prove it
Only hand work to the user when the result depends on:
- Visual correctness
- Motion, timing, or feel
- Real-device behavior
- Cross-browser differences
- Screen reader behavior
- Third-party flows that require human interaction
If an automated check fails, stop and address it before asking for manual verification.
3. Prepare the User Path
Set the user up so they can perform the check with minimal effort.
Provide:
- Exact route, URL, screen, or command
- Any required setup state
- The single action to take
- The expected result
- What to reply with
If the user needs an already-running app, point them to the exact place to open. If you can safely prepare state, data, or fixtures first, do that yourself.
4. Lead the User Through Atomic Steps
Run manual verification as a guided sequence, not a dump of vague instructions.
Prefer one atomic step at a time. For a tiny smoke test, bundle at most 2-3 closely related checks.
Use this structure:
Testing: [feature or fix]
Progress: Step N of M
Action: [exact thing to click, type, or inspect]
Expected: [what should happen]
Reply with one:
1. [expected outcome]
2. [common failure mode]
3. [second common failure mode]
4. Other
If structured question tools are available, convert those reply options into a structured prompt. Otherwise ask the question in plain text with the options inline.
Example:
Testing: profile photo upload
Progress: Step 2 of 3
Action: Open `/settings/profile`, upload a PNG under 2 MB, and wait for the save state to finish.
Expected: The new avatar appears in the header and no error message is shown.
Reply with one:
1. Upload worked and the new avatar is visible
2. Upload finished but the avatar did not update
3. I saw an error message or spinner got stuck
4. Other
5. Cover the Right Surface Area
Always test the changed path first, then cover the most likely place it could fail.
Use these prompts as a calibration checklist.
For UI changes:
- Check initial render
- Check loading, empty, error, disabled, and success states when relevant
- Check keyboard/focus path for interactive controls
- Check mobile or narrow-width layout if the change is layout-sensitive
- Check copy, spacing, and obvious visual regressions
For bug fixes:
- Reproduce the original bug path
- Verify the bug no longer occurs
- Verify a nearby path still behaves correctly
For API or backend changes:
- Verify happy-path response
- Verify invalid-input or failure-path behavior
- Verify the persisted side effect or downstream state change
- Verify logs or errors do not show new breakage
For CLI or local-tool changes:
- Verify the success path
- Verify a common failure path and exit code
- Verify output files, stdout/stderr, and help text when relevant
6. Handle Failures Like a Debugger
When the user reports a problem:
- Capture the exact step that failed
- Record expected versus actual behavior
- Note any visible error text, logs, or screenshots available
- Decide whether to stop and investigate immediately or finish the remaining checks only if that still adds value
Before changing code, generate 2-3 plausible hypotheses for the failure so the next debugging step is deliberate instead of guess-driven.
If the failure blocks confidence in the change, stop the manual test and switch into diagnosis.
7. Summarize With Confidence and Gaps
Close with a short verification summary that separates what is proven from what is still assumed.
Include:
- Automated checks run and their results
- Manual steps completed and their results
- Bugs or regressions found
- Remaining unverified areas
- Recommended next action
Guidelines
- Minimize user effort; maximize agent effort
- Keep the user in one context at a time
- Prefer concrete reply options over open-ended questions
- Check one happy path, one failure path, and one nearby regression when practical
- Use tools aggressively before asking for human verification
- Keep the running narrative clear so the user remembers what is being tested and what has already passed
FAQ
What does the manual-testing skill do?
Guide users through targeted manual verification after code changes. Use when asked to "test this", "verify it works", "QA this", "walk me through testing", "smoke test", "sanity check", "regression test", "acceptance test", or after implementing a feature or bug fix that still needs human validation. Favor this skill for focused verification of the current change; use a broader exploratory-testing skill for open-ended bug hunting across an entire app.
How do I install manual-testing?
Run npx skills add https://github.com/petekp/claude-code-setup --skill manual-testing in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/manual-testing/ (personal) or .claude/skills/manual-testing/ (project).
Which AI agents can use manual-testing?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is manual-testing safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains manual-testing?
It is published by petekp in petekp/claude-code-setup. It has 63 recorded installs.
More from petekp/claude-code-setup
code-comments
petekp/claude-code-setup
Write, review, or remove code comments. Use when adding comments or doc comments, reviewing the comments in a diff, or cleaning up or removing comments.
deep-research
petekp/claude-code-setup
Investigate a question that requires sustained research across sources and produce cited findings. Use for deep research requests; skip ordinary lookups and single-document reviews.
exhaustive-systems-analysis
petekp/claude-code-setup
Open the skill to read its SKILL.md instructions.
typography
petekp/claude-code-setup
Apply professional typography principles to create readable, hierarchical, and aesthetically refined interfaces. Use when setting type scales, choosing fonts, adjusting spacing, designing text-heavy layouts, implementing dark mode typography, or when asked about readability, font pairing, line height, measure, typographic hierarchy, variable fonts, font loading, or OpenType features.
claude-code-audit
petekp/claude-code-setup
Forensic audit of the user's recent Claude Code sessions to surface step-change workflow improvements — not marginal ones. Use when the user asks to "audit my Claude Code sessions", "analyze how I use Claude Code", "find patterns in my usage", "improve my Claude Code workflow", "review my sessions", "find leverage in my setup", or wants to understand where their Claude Code setup is leaking time. Samples dozens of real transcripts, extracts quantitative signal via scripts, uses parallel subagents for deep reads, then synthesizes into a short prioritized report with drafted implementations (new skills, CLAUDE.md rules, hooks, settings diffs) that the user can install directly. Trigger even when the user doesn't say the word "audit" — if they're asking about improving or reviewing their Claude Code habits at scale, use this skill.
literate-guide
petekp/claude-code-setup
Create a narrative guide to a codebase or feature in the style of Knuth's Literate Programming — code and prose interwoven as a single essay, ordered for human understanding rather than compiler needs. Use when the user asks to 'explain this codebase as a story', 'write a literate guide', 'create a narrative walkthrough', 'tell the story of this code', 'Knuth-style documentation', 'weave a guide for this feature', or when they want deep, readable documentation that treats the program as literature. Also trigger when someone wants a document that a thoughtful reader could follow from start to finish and come away understanding both WHAT the code does and WHY every design choice was made.
Popular testing & qa skills
tdd
mattpocock/skills
Test-driven development. Use when the user wants to build features or fix bugs test-first, mentions "red-green-refactor", or wants integration tests.
grilling
mattpocock/skills
Grill the user relentlessly about a plan, decision, or idea. Use when the user wants to stress-test their thinking, or uses any 'grill' trigger phrases.
migrate-to-shoehorn
mattpocock/skills
Migrate test files from as type assertions to @total-typescript/shoehorn. Use when user mentions shoehorn, wants to replace as in tests, or needs partial test data.
run-train
lllllllama/rigorpilot-skills
Rigor Train skill for deep learning research repositories. Use when a documented or selected training command should be run conservatively for startup verification, short-run verification, full kickoff, or resume, with command, config, seed, log, checkpoint, status, and metric evidence written to standardized trainoutputs/. Do not use for environment setup, exploratory sweeps, speculative idea implementation, or end-to-end orchestration.
test-driven-development
obra/superpowers
Use when implementing any feature or bugfix, before writing implementation code
finishing-a-development-branch
obra/superpowers
Use when implementation is complete, all tests pass, and you need to decide how to integrate the work