chaussky/ainalyst/requirements-verify
Claude Code and agent skill by chaussky/ainalyst
- community
Checking that the SKILL.md file is still in the repository.
BABOK 7.2 skill — Verify Requirements. Use this skill when the BA wants to check the quality of written requirements: atomicity, unambiguity, testability, completeness, consistency. Difference from validation: verification is about the quality of the wording, not about business value. Triggers: "verify requirements", "requirements verification", "requirements quality", "check requirements", "checklist".
Install
npx vskill@latest install chaussky/ainalyst/requirements-verifySKILL.md
SKILL.md — BABOK 7.2 Verify Requirements
What this task is about
Verifying requirements answers the question: "Are the requirements written correctly?"
Difference from task 7.3 (Validate):
- 7.2 Verify: is the requirement written correctly? (quality of the wording)
- 7.3 Validate: is this the right requirement? (alignment with the business need)
Input: requirements from the 5.1 repository (created in 7.1). Output: verified status in 5.1, Verification Report → 5.5 (Approve) and 7.3 (Validate).
BABOK's 9 quality characteristics
| Characteristic | Group | How we check it | |
|---|---|---|---|
| Atomic | A | MCP: stop words | |
| Unambiguous | A | MCP: signal words | |
| Testable | A | MCP: structure + AC | |
| Prioritized | A | MCP: priority field in 5.1 | |
| Concise | A | MCP: length + signals | |
| Consistent | B | MCP: statuses + 5.1 graph | |
| Complete | B | MCP: source_artifact + links | |
| Feasible | C | BA checklist (see references/) | |
| Understandable | C | BA checklist (see references/) |
Rule details — in references/quality_rules.md. Checklists by type — in references/checklist_templates.md.
Task 7.2 pipeline
MCP tools
check_req_quality(project_id, req_ids?, req_type?)
Checks one requirement, a list, or all reqs in the project against the 9 characteristics.
Smart batch: if req_ids is not set — it takes all draft reqs from the 5.1 repository. If req_type is set — it filters by type (user_story / functional / non_functional, etc.).
Returns:
- Check results for each req (Groups A+B)
- List of blockers and majors for each
- Hints for Claude Code: what exactly is violated and how to fix it
- A reminder to go through the Group C checklists (Feasibility + Understandability)
Usage pattern:
check_model_consistency(project_id)
Compares artifacts from 7.1: .md and .puml files in governance_plans/data/{project}/specs/.
What it checks:
- Entities in DD vs ERD (name mismatches)
- Use Cases vs UC Diagram (UC without an actor in the diagram)
- Business process participants vs actors in the UC Diagram
Important: Parsing is regex-based, following the templates from 7.1. Works for standard formatting. For non-standard formats — Claude Code interprets the warnings manually.
open_verification_issue(project_id, req_id, issue_type, description, severity, assigned_to?)
Records an issue found during verification.
issue_type: ambiguity / not_testable / not_atomic / missing_ac / model_inconsistency / other severity: blocker / major / minor
When to open one:
- After
check_req_quality— for each automatically detected issue - After manually going through the Group C checklists
- After
check_model_consistency— for model mismatches
Setting assigned_to: typically the BA who created the requirement (the owner).
resolve_verification_issue(project_id, issue_id, resolution_note)
Closes an issue after the BA has fixed the requirement.
resolution_note — what exactly was fixed (for audit purposes).
Important: Once all blocker issues for a req are closed — mark_req_verified can be called.
mark_req_verified(project_id, req_ids, force=False)
Changes the status draft → verified in the 5.1 repository.
Precondition: MCP checks for open blocker issues on each req. By default a req with an open blocker is NOT verified — it is reported as blocked.
The decision still belongs to the BA. If you judge a blocker acceptable, pass force=true: the req is verified, the blocker issue stays open, and the override is recorded — in the repository history (with the overridden blocker ids) and in a dedicated section of get_verification_report, so whoever approves in 5.5 sees it.
Never close an unresolved issue viaresolve_verification_issuejust to move on —that corrupts the verification record. Useforceinstead: it is honest and auditable.
get_verification_report(project_id)
Summary verification report for the project.
Contains:
- % verified out of all reqs (readiness indicator for 5.5)
- Top issues by characteristic type
- List of reqs with open blocker issues
- Open issues with details
- Verdict: is it ready for Approve (5.5)
Saves Markdown via save_artifact — pass it on to 5.5 and 7.3.
Typical workflow
Step 1. Run a check on all requirements:
Claude Code reads the result and explains each issue in plain language.
Step 2. For critical issues, open issues:
Step 3. Fix the requirement (in the file or via the 7.1 tool). Then close the issue:
Step 4. Check model consistency:
Step 5. Go through the Group C checklists from references/checklist_templates.md — Feasibility and Understandability for each requirement type.
Step 6. Verify the requirements that have no blockers:
Step 7. Generate the report to hand off to 5.5:
Relationship to other BABOK tasks
Incoming links:
- 5.1 repository — list of reqs with statuses
- Files from 7.1 — specifications in
governance_plans/data/{project}/specs/
Outgoing links:
- → 5.5 (Approve Requirements): Verification Report as an input artifact
- → 7.3 (Validate Requirements): verified reqs as input data
Important: 7.2 and 7.3 can run iteratively and in parallel. If validation (7.3) reveals that a requirement is poorly worded — go back to 7.2.
Data storage
| What | Where | Format | |
|---|---|---|---|
| Verification issues | governance_plans/data/{project}/{project}_verification_issues.json | JSON | |
| Req statuses | 5.1 repository ({project}_traceability_repo.json) | JSON (status field) | |
| Verification Report | governance_plans/ via save_artifact | Markdown |
Hints for Claude Code when interpreting results
For `ambiguity` (signal word): Explain to the BA exactly what is vague and suggest a rewording with a metric. Example: "fast" → "within 2 seconds under a load of up to 1000 users".
For `missing_ac`: Suggest 2-3 example ACs in Given/When/Then format, or simply as numbered conditions.
For `not_atomic`: Point out exactly where a conjunction splits the requirement into two. Suggest splitting it into req_id_a and req_id_b.
For `not_testable` (FR without a metric): Ask the BA what the measurable outcome is. Example: "the system saves" → "the system saves within X seconds with a probability of Y%".
For `model_inconsistency`: Show specifically: in which file what is written, and what diverges. The BA fixes it in the relevant file.
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/requirements_verify/SKILL.md
Popularity
- 7-day trend score
- 0
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/chaussky/ainalyst/requirements-verify)