Agent skill
voice-validator
Critique-and-rewrite loop for voice fidelity validation.
Install this agent skill to your Project
npx add-skill https://github.com/notque/claude-code-toolkit/tree/main/skills/voice-validator
SKILL.md
Voice Validator Skill
Overview
This skill operates a rigorous critique-and-rewrite enforcement loop for voice fidelity. It scans content against voice-specific negative prompt checklists, documents violations with evidence, fixes them while preserving intent, and rescans to confirm the revision passes — up to 3 iterations maximum.
The workflow implements the Iterative Refinement pattern: scan → document violations → revise → rescan. This ensures voice violations are caught systematically and fixed methodically without over-engineering or changing meaning.
CRITICAL CONSTRAINT: Never revise content without first scanning against the full checklist. Every violation must cite a specific quote. After 3 failed iterations, output with flagged concerns rather than continuing indefinitely.
Instructions
Phase 1: IDENTIFY TARGET
Goal: Determine the voice, mode, and content to validate.
Step 1: Identify voice target
- Determine target voice from context or user instruction
- Identify mode if applicable — casual modes may have additional specific checks
- Reference the target voice's checklist (contact user if unclear)
Step 2: Load content
- Read the content to validate
- Note content length — longer content is more prone to drift
Gate: Voice target and mode identified. Content loaded. Proceed only when gate passes.
Phase 2: SCAN
Goal: Run full checklist against content and identify all violations with evidence.
Step 1: Run negative prompt checklist
Check all categories against the target voice's checklist. Standard categories include:
- Tone: Does the tone match the voice profile? (e.g., too polished, too corporate, missing warmth)
- Structure: Does the structure match? (e.g., front-loaded constraints, clean outlines, wrap-ups)
- Sentences: Do sentence patterns match? (e.g., dramatic short sentences, rhetorical flourishes, symmetrical structure)
- Language: Any banned words? (amazing, terrible, revolutionary, perfect, game-changing, transformative, incredible, outstanding, exceptional, groundbreaking), marketing/hype, inspirational, unnecessary superlatives
- Emotion: Does emotion handling match? (e.g., explicitly named emotions, venting/ranting, moralizing)
- Questions: Do question patterns match? (e.g., open-ended brainstorming, vague curiosity)
- Metaphors: Do metaphor patterns match? (e.g., journey/path, biological/growth, narrative/story)
Step 2: Check pass conditions
Verify the content matches the target voice's positive identity markers. Common pass conditions include:
- Feels like the person actually wrote it
- Voice-specific patterns are present (thinking out loud, warmth, precision, etc.)
- Could NOT be posted on LinkedIn without edits (for casual voices) — this heuristic catches ~80% of voice violations
- Does NOT sound like AI wrote it
- Mode-specific patterns are present (casual modes: no preamble, no wrap-up; formal modes: structured flow)
Step 3: Document violations
For each violation, record:
- Category (tone, structure, sentence, language, emotion, question, metaphor)
- Quoted text from the content
- Specific fix recommendation
Key constraint: Only scan, don't revise yet. Subjective assessment without a checklist misses specific violations.
Gate: Full checklist scanned. All violations documented with evidence. Proceed only when gate passes.
Phase 3: REVISE
Goal: Fix all violations while preserving content intent and substance.
Step 1: Apply fixes
- Address each violation with the smallest change that resolves it
- Preserve the original meaning and information
- Maintain natural flow — fixes should not create new violations
Step 2: Verify no overcorrection
- Ensure revisions did not strip necessary content
- Confirm the substance and technical accuracy remain intact
- Do NOT rewrite entire paragraphs or change arguments — voice validation fixes voice only
Key constraint: Make the smallest change that resolves each violation. Preserve all meaning. Changing substance is scope creep.
Gate: All documented violations addressed. Intent preserved. Proceed only when gate passes.
Phase 4: VERIFY
Goal: Confirm revised content passes all checks.
Step 1: Rescan revised content
Run the full checklist from Phase 2 against the revised version.
Step 2: Evaluate result
- If PASS: Output final content with validation report
- If FAIL and iteration < 3: Return to Phase 3 with new violations
- If FAIL and iteration = 3: Output content with flagged remaining concerns
Key constraint: Always rescan. "Should be fine" is a rationalization. Fixes can introduce new violations.
Step 3: Output validation report
VOICE VALIDATION: [Voice Name] Mode [mode]
SCAN RESULT: [PASS/FAIL]
VIOLATIONS DETECTED: [N]
ITERATION: [1-3]
[If violations:]
1. [Category]: "[quoted violation]"
Fix: [specific correction]
2. [Category]: "[quoted violation]"
Fix: [specific correction]
REVISED OUTPUT:
[Corrected content]
RESCAN RESULT: [PASS/FAIL]
Gate: Content passes all checks, or maximum iterations reached with flagged concerns. Validation complete.
Examples
Example 1: Technical Voice Validation
User says: "Validate this draft is in the right voice"
Actions:
- Identify target voice from context, determine mode from content style (IDENTIFY TARGET)
- Run full 7-category negative prompt checklist, find 2 violations (SCAN)
- Fix "I'm excited to share" (named emotion) and "This changes everything" (dramatic short sentence) (REVISE)
- Rescan revised content, confirm PASS (VERIFY)
Result: Clean content with validation report
Example 2: Community Voice Validation
User says: "Does this sound like the right voice?"
Actions:
- Identify target voice from context (IDENTIFY TARGET)
- Scan against voice checklist, find missing warmth and no sensory details (SCAN)
- Add experiential language and warmth while preserving substance (REVISE)
- Rescan, confirm warmth and sensory details present, PASS (VERIFY)
Result: Content matches voice profile
Error Handling
Error: "Voice Target Unclear"
Cause: Content doesn't specify which voice to validate against, or context is ambiguous
Solution:
- Check conversation context for voice mentions
- Look for voice-specific patterns to infer target
- If still unclear, ask user to specify voice name and mode
Error: "Violations Persist After 3 Iterations"
Cause: Fundamental mismatch between content substance and voice requirements, or conflicting checklist items
Solution:
- Output content with clearly flagged remaining violations
- List specific checklist items that resist correction
- Suggest the content may need to be regenerated from scratch with the correct voice skill
Error: "Revision Introduced New Violations"
Cause: Fixing one category created violations in another (e.g., removing dramatic sentences introduced polished phrasing)
Solution:
- Address new violations in next iteration
- If oscillating between two violation types, fix both simultaneously
- Prioritize tone and language violations over structural ones
References
Related Skills
voice-{name}- Generates content in a specific voice (validate output with this skill)anti-ai-editor- Complementary anti-AI pattern detectionvoice-writer- Unified voice content generation pipeline that invokes this skill
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
voice-writer
Unified voice content generation pipeline with mandatory validation and joy-check. 9-phase pipeline: LOAD, GROUND, GENERATE, VALIDATE, REFINE, JOY-CHECK, OUTPUT, CLEANUP. Use when writing articles, blog posts, or any content that uses a voice profile. Use for "write article", "blog post", "write in voice", "generate content", "draft article", "write about".
image-auditor
Non-destructive image validation for accessibility and health.
video-editing
Video editing pipeline: cut footage, assemble clips via FFmpeg and Remotion.
comment-quality
Review and fix temporal references in code comments.
e2e-testing
Playwright-based end-to-end testing workflow.
anti-ai-editor
Remove AI-sounding patterns from content.
Didn't find tool you were looking for?