
writing-verification-plans
Use when a project needs a verification plan for acceptance testing in real-world scenarios
Use when a project needs a verification plan for acceptance testing in real-world scenarios
Writing Verification Plans
Overview
Help Claude write verification plans that validate a project works in real-world scenarios before completing tasks.
Core principle: Verification is not integration testing. It uses real systems, never mocks or fakes. A test environment is acceptable only if it's a fully running copy of the system being integrated with.
Announce at start: "I'm using the writing-verification-plans skill to create acceptance testing procedures."
When to Use This Skill
Use this skill when:
- Setting up a new project (called from
setting-up-a-projectskill) - A project lacks a VERIFICATION_PLAN.md
- The developer asks for a verification plan
- Adding new features that require real-world validation
Writing the Verification Plan
Ask the user about the real-world scenarios that need to be validated. For each scenario, gather:
- What is being tested? The feature or capability to verify
- What does success look like? Concrete, observable outcomes
- What environment is needed? Real systems, test accounts, sample data
- What could go wrong? Edge cases and failure modes to check
VERIFICATION_PLAN.md Format
# Verification Plan
## Prerequisites
[List everything needed before verification can run]
- Test environment setup instructions
- Required accounts or credentials
- Sample data or test fixtures
- External systems that must be running
## Scenarios
### Scenario 1: [Name]
**Context**: [What state the system should be in before starting]
**Steps**:
1. [Specific action Claude should take]
2. [Next action]
3. [Continue until complete]
**Success Criteria**:
- [ ] [Observable outcome that must be true]
- [ ] [Another required outcome]
**If Blocked**: [When to stop and ask developer for help]
### Scenario 2: [Name]
[Repeat format for each scenario]
## Verification Rules
- Never use mocks or fakes
- Test environments must be fully running copies of real systems
- If any success criterion fails, verification fails
- Ask developer for help if blocked, don't guess
Running Verification
Verification runs automatically after completing any task. Do not wait for the developer to request it.
Process
- Read VERIFICATION_PLAN.md
- Confirm prerequisites are met (ask developer if unsure)
- Execute each scenario in order
- For each step, document what was done and what was observed
- Check each success criterion
- Produce a detailed verification log
Verification Log Format
After running verification, report results in this format:
## Verification Log - [Timestamp]
### Task Completed
[Brief description of what was just implemented]
### Scenarios Executed
#### Scenario 1: [Name]
**Status**: PASS / FAIL / BLOCKED
**Steps Executed**:
1. [What was done] → [What was observed]
2. [What was done] → [What was observed]
**Success Criteria**:
- [x] [Criterion] - PASSED: [evidence]
- [ ] [Criterion] - FAILED: [what went wrong]
**Notes**: [Any relevant observations]
#### Scenario 2: [Name]
[Repeat for each scenario]
### Summary
- Scenarios: X passed, Y failed, Z blocked
- Overall: PASS / FAIL
- Issues found: [List any problems discovered]
When Blocked
If verification cannot proceed:
- Document exactly what is blocking you
- Ask the developer for help using the
summoning-the-userskill if installed - Do not guess or skip scenarios
- Do not mark task as complete until verification passes
Key Rules
| Rule | Reason |
|---|---|
| No mocks, ever | Verification must prove real-world behavior |
| Run after every task | Catch issues before moving on |
| Detailed logging | Developer needs to see what was tested |
| Ask when blocked | Wrong assumptions waste time |
| All scenarios must pass | Partial success = failure |
You Might Also Like
Related Skills

fix
Use when you have lint errors, formatting issues, or before committing code to ensure it passes CI.
facebook
frontend-testing
Generate Vitest + React Testing Library tests for Dify frontend components, hooks, and utilities. Triggers on testing, spec files, coverage, Vitest, RTL, unit tests, integration tests, or write/review test requests.
langgenius
frontend-code-review
Trigger when the user requests a review of frontend files (e.g., `.tsx`, `.ts`, `.js`). Support both pending-change reviews and focused file reviews while applying the checklist rules.
langgenius
code-reviewer
Use this skill to review code. It supports both local changes (staged or working tree) and remote Pull Requests (by ID or URL). It focuses on correctness, maintainability, and adherence to project standards.
google-gemini
session-logs
Search and analyze your own session logs (older/parent conversations) using jq.
moltbot
