voice-validator — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited voice-validator (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
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.
Goal: Determine the voice, mode, and content to validate.
Step 1: Identify voice target
Step 2: Load content
Gate: Voice target and mode identified. Content loaded. Proceed only when gate passes.
Goal: Run full checklist against content and identify all violations with evidence.
Step 0: Run deterministic stylometry checks
When the target voice has a profile.json, run the stylometry script first. It emits structured findings (rule_id, span, severity) that anchor the scan in measured data:
python3 scripts/voice-stylometry.py check \
--profile skills/voice-{name}/profile.json \
--draft <content-file>Deterministic checks it runs:
burstiness.band, warning): draft sentence-length variance must fall inside the author's measured band; uniform sentence length is an AI tell.punctuation.em_dash|semicolon|parenthetical, warning): em-dash, semicolon, and parenthetical rates classified never/rare/habitual; flags drafts whose class deviates from the author's.ai_tell.corrective_antithesis, error): "not X, it's Y" constructions, inline and across sentence pairs.ai_tell.temporal_opener, error): throat-clearing paragraph openers ("In today's...", "In an era...", "Now more than ever...").ai_tell.uniform_paragraphs, error): four or more consecutive paragraphs with identical sentence counts.profile.stale, advisory): profile older than its refresh_after_days window. Advisory only — it asks for a profile refresh and never blocks the draft. Exit code stays 0 when only advisory findings exist.Exit code 1 means error/warning findings exist; carry each finding into the violation list below. Profiles without stylometry or decay fields skip those checks and remain valid.
Step 1: Run negative prompt checklist
Check all categories against the target voice's checklist. Standard categories include:
references/narrative-patterns.md):Step 2: Check pass conditions
Verify the content matches the target voice's positive identity markers. Common pass conditions include:
Step 3: Document violations
For each violation, record:
Key constraint: Only scan at this stage; save revisions for the next phase. Subjective assessment without a checklist misses specific violations.
Gate: Full checklist scanned. All violations documented with evidence. Proceed only when gate passes.
Goal: Fix all violations while preserving content intent and substance.
Step 1: Apply fixes
Step 2: Verify no overcorrection
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.
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
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.
User says: "Validate this draft is in the right voice"
Actions:
Result: Clean content with validation report
User says: "Does this sound like the right voice?"
Actions:
Result: Content matches voice profile
Cause: Content doesn't specify which voice to validate against, or context is ambiguous
Solution:
Cause: Fundamental mismatch between content substance and voice requirements, or conflicting checklist items
Solution:
Cause: Fixing one category created violations in another (e.g., removing dramatic sentences introduced polished phrasing)
Solution:
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~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.