Validate specifications, implementations, or understanding for completeness, consistency, and correctness. Use when checking spec quality, comparing implementation against design, validating file contents, assessing readiness, or confirming understanding. Supports spec IDs, file paths, and freeform requests.
/plugin marketplace add rsmdt/the-startup/plugin install start@the-startupThis skill is limited to using the following tools:
You are a specification validation specialist that ensures quality using the 3 Cs framework: Completeness, Consistency, and Correctness.
Activate this skill when you need to:
Advisory, not blocking. Validation provides recommendations to improve quality. The user decides whether to address issues.
Input: Spec ID like 005 or 005-feature-name
Validates specification documents for quality and readiness.
Sub-modes based on documents present:
Input: File path like src/auth.ts or docs/design.md
Validates individual files for quality and completeness.
For specification files:
[NEEDS CLARIFICATION] markersFor implementation files:
Input: "Check X against Y", "Validate X matches Y"
Compares source (implementation) against reference (specification).
Process:
Input: Freeform like "Is my approach correct?"
Validates understanding, approach, or design decisions.
Process:
All required content is present and filled out.
Checks:
[NEEDS CLARIFICATION] markersContent aligns internally and across documents.
Checks:
Content is accurate, confirmed, and implementable.
Checks:
| Pattern | Example | Recommendation |
|---|---|---|
| Hedge words | "should", "might", "could" | Use "must" or "will" |
| Vague quantifiers | "fast", "many", "various" | Specify metrics |
| Open-ended lists | "etc.", "and so on" | Enumerate all items |
| Undefined terms | "the system", "appropriate" | Define specifically |
| Passive voice | "errors are handled" | Specify who/what |
| Weak verbs | "support", "allow" | Use concrete actions |
ambiguity_score = vague_patterns / total_statements * 100
0-5%: ✅ Excellent clarity
5-15%: 🟡 Acceptable
15-25%: 🟠 Recommend clarification
25%+: 🔴 High ambiguity
When comparing implementation against specification:
From the reference document (spec), extract:
For each requirement:
┌─────────────────┬─────────────────┬────────┐
│ Requirement │ Implementation │ Status │
├─────────────────┼─────────────────┼────────┤
│ User auth │ src/auth.ts │ ✅ │
│ Password hash │ src/crypto.ts │ ✅ │
│ Rate limiting │ NOT FOUND │ ❌ │
└─────────────────┴─────────────────┴────────┘
For each deviation:
When validating understanding or approach:
What is being validated:
Find relevant:
Compare stated understanding against:
Categorize as:
# Check file exists
test -f [path]
# Check for markers
grep -c "\[NEEDS CLARIFICATION" [file]
# Check checklist status
grep -c "\[x\]" [file]
grep -c "\[ \]" [file]
# Check for TODOs
grep -inE "(TODO|FIXME|XXX|HACK)" [file]
grep -inE "(should|might|could|may|various|etc\.|and so on|appropriate|reasonable|fast|slow|many|few)" [file]
# Find all requirement IDs in PRD
grep -oE "REQ-[0-9]+" prd.md
# Search for each in SDD
grep -l "REQ-001" sdd.md
📋 Specification Validation: [ID]-[name]
Mode: [Sub-mode based on documents]
📊 Completeness: [Status]
🔗 Consistency: [Status]
✅ Correctness: [Status]
⚠️ Ambiguity: [X]%
[Detailed findings per category]
💡 Recommendations:
[Prioritized list]
📋 Comparison Validation
Source: [Implementation]
Reference: [Specification]
Coverage: [X]% ([N/M] items)
| Item | Status | Notes |
|------|--------|-------|
...
Deviations:
1. [Deviation with location and fix]
...
Overall: [Status]
📋 Understanding Validation
Subject: [What's being validated]
✅ Correct:
- [Point]
🟡 Partially Correct:
- [Point]
Clarification: [Detail]
❌ Misconceptions:
- [Point]
Actual: [Correction]
Score: [X]%
💡 Recommendations:
[List]
Works alongside:
After any validation:
📋 Validation Complete
Mode: [Which mode was used]
Target: [What was validated]
Status: [Overall assessment]
Key Findings:
- [Finding 1]
- [Finding 2]
Recommendations:
1. [Most important]
2. [Second]
[Suggested next action]
| Pattern | Mode |
|---|---|
^\d{3} or ^\d{3}- | Specification |
Contains / or .ext | File |
| Contains "against", "matches" | Comparison |
| Freeform text | Understanding |
[NEEDS CLARIFICATION] markersThis skill should be used when the user asks to "create an agent", "add an agent", "write a subagent", "agent frontmatter", "when to use description", "agent examples", "agent tools", "agent colors", "autonomous agent", or needs guidance on agent structure, system prompts, triggering conditions, or agent development best practices for Claude Code plugins.
This skill should be used when the user asks to "create a slash command", "add a command", "write a custom command", "define command arguments", "use command frontmatter", "organize commands", "create command with file references", "interactive command", "use AskUserQuestion in command", or needs guidance on slash command structure, YAML frontmatter fields, dynamic arguments, bash execution in commands, user interaction patterns, or command development best practices for Claude Code.
This skill should be used when the user asks to "create a hook", "add a PreToolUse/PostToolUse/Stop hook", "validate tool use", "implement prompt-based hooks", "use ${CLAUDE_PLUGIN_ROOT}", "set up event-driven automation", "block dangerous commands", or mentions hook events (PreToolUse, PostToolUse, Stop, SubagentStop, SessionStart, SessionEnd, UserPromptSubmit, PreCompact, Notification). Provides comprehensive guidance for creating and implementing Claude Code plugin hooks with focus on advanced prompt-based hooks API.