renzrollon/interlock/manual-test-plan
Claude Code and agent skill by renzrollon/interlock
- community
Checking that the SKILL.md file is still in the repository.
Produce an expert-QA manual UI test plan from an OpenSpec change plus a git commit range — every touched file accounted for, spec scenarios and tasks mapped to numbered test cases, and non-UI-testable changes flagged rather than dropped. Use when asked for a manual test plan, QA checklist, or UI verification plan after implementing and before opening a PR.
Install
npx vskill@latest install renzrollon/interlock/manual-test-planSKILL.md
Produce a precise, executable manual UI test plan from an OpenSpec change and a git commit range.
Write for a junior tester who will not read the code: exact navigation paths, exact expected results, explicit pass/fail criteria. If a step needs someone to already know how the feature works, rewrite it.
1. Resolve scope
Default range: the merge base against the default branch. Read proposal.md, design.md, tasks.md, and specs/**/*.md for the change when one resolves.
Optional context — do not preload all of docs/:
.claude/graph/DOCS_DIGEST.mdif presentinterlock-graph context "<change> routes components forms" --budget 2000
2. Classify the surface — deterministically
This returns the tri-state per file, and it is authoritative. Do not re-derive the classification in prose; the whole reason it is a CLI is that this question used to get two different answers on the same diff.
| Class | Meaning | |
|---|---|---|
UI-TESTABLE | Directly user-visible — pages, components, forms, navigation, copy, layout, client validation, loading and error states | |
UI-INDIRECT | Reachable only through UI side effects — API routes the UI calls, server actions, data shaping that changes what is displayed | |
NOT-UI-TESTABLE | Backend, infra, docs, tests, config, tooling with no user-visible effect |
If needsManualTestPlan is false, say so and stop. A backend-only change does not get a UI test plan, and writing one anyway teaches the reader to ignore these documents.
3. Analyze
- Inventory every changed file from
--name-status. - Map specs and tasks to cases. Spec scenarios and unchecked
tasks.mditems are the backbone; findings visible only in the diff become additional cases. - Cover the whole surface. Every
UI-TESTABLEandUI-INDIRECTfile appears in at least one test case (or is explicitly deferred to a shared flow). EveryNOT-UI-TESTABLEfile appears in the Non-UI table. Never silently drop a changed file — an unmentioned file reads as "tested" when it wasn't.
4. Write the plan
Write to openspec/changes/<change-name>/manual-test-plan.md. If nothing scopes it, write ./manual-test-plan.md and say so.
Output exactly this structure — no preamble, no sign-off inside the file:
Group assertions into one case when they share a navigation path; split them when the outcomes differ.
Security
- Security scanPassed, 95 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/manual-test-plan/SKILL.md
Popularity
- Repository stars
- 16
- Repository forks
- 2
- 7-day trend score
- 14
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/renzrollon/interlock/manual-test-plan)