Voice Reviewer
Review content against the project's voice guidelines. This skill reads the project's voice guide and lint rules, then audits content files for violations.
How It Works
- Find the voice guide: Look for
docs/brand-voice-guidelines.md, .voice-lint.json, or similar files in the project root.
- Read the rules: Extract sentence limits, forbidden words, tone requirements, bilingual policies, and structural patterns.
- Audit the content: Check each file against every rule.
- Report: List violations with line numbers, the rule violated, and a suggested fix.
What to Check
Sentence Structure
- Maximum sentence length (word count per the guide, typically 20-30 words)
- One observation per sentence
- Prefer contractions
- Short to medium sentences
Forbidden Patterns
- Superlatives (best, top, must-visit, amazing, incredible)
- Exclamation points
- Emojis
- Trend slang (hits different, no cap, lowkey, vibe check as a verb)
- Hashtag energy
- Adjective stacking (cozy, intimate, must-visit spot)
- Expert/authority claims (everyone knows, locals say, the best)
Tone
- Observational over promotional
- Specific over vague
- Curious before confident
- Human, not performative
- "It felt like..." not "The best..."
Bilingual Policy (if applicable)
- Check the EN:ES ratio target (e.g., 85:15 for loops, 95:5 for rituals)
- Spanish asides stay under the word limit (typically 6 words max)
- No full content repetition in Spanish
- No Spanish in H1/H2 headings
Structural Patterns
- Arrival -> Detail -> Shift -> Release arc
- Show instead of tell
- At least one concrete sensory detail per section
- Could this paragraph exist in another city unchanged? (if yes, it needs rewriting)
Output Format
## Voice Review: [filename]
### Violations
1. **Line 23**: "This amazing, must-visit hidden gem is perfect for date night!"
- **Rule**: No superlatives, no adjective stacking
- **Fix**: "The place looks quiet until you sit down."
2. **Line 45**: Sentence is 31 words (max: 24)
- **Rule**: Max sentence length
- **Fix**: Split into two sentences.
3. **Line 67**: Spanish aside "entonces vamos a intentar algo nuevo juntos" (7 words)
- **Rule**: Spanish asides max 6 words
- **Fix**: Trim to "vamos a intentar algo nuevo" (5 words)
### Summary
- 3 violations found
- 0 critical (forbidden terms)
- 2 structural (sentence length, adjective stacking)
- 1 bilingual (Spanish aside too long)
Agentic Workflow & Vibe Coding
- Iterative Refinement: Do not expect a perfect voice review on the first pass. Draft the initial review, check if it correctly applies the guidelines without being overly pedantic, isolate any specific misapplication of a rule, and refine the critique. Adjust one rule interpretation at a time.
- Vibe Coding: Commit your working review notes or proposed content changes locally before sending final feedback or attempting to rewrite large sections of the document.
Usage as a Subagent
When dispatching as a subagent, provide:
- The file(s) to review
- The path to the voice guide
- The path to
.voice-lint.json (if it exists)
The reviewer should read the voice guide first, then audit each file independently.
1---2name: voice-reviewer3description: Review content files against a project's voice and style guidelines. Use when reviewing written content (MDX, markdown, copy) for tone, sentence structure, word choice, and bilingual policy compliance before committing. Triggers on "review voice", "check tone", "voice review", "content review", "does this match our voice", or after writing loop/ritual/article content.4---56# Voice Reviewer78Review content against the project's voice guidelines. This skill reads the project's voice guide and lint rules, then audits content files for violations.910## How It Works11121. **Find the voice guide**: Look for `docs/brand-voice-guidelines.md`, `.voice-lint.json`, or similar files in the project root.132. **Read the rules**: Extract sentence limits, forbidden words, tone requirements, bilingual policies, and structural patterns.143. **Audit the content**: Check each file against every rule.154. **Report**: List violations with line numbers, the rule violated, and a suggested fix.1617## What to Check1819### Sentence Structure20- Maximum sentence length (word count per the guide, typically 20-30 words)21- One observation per sentence22- Prefer contractions23- Short to medium sentences2425### Forbidden Patterns26- Superlatives (best, top, must-visit, amazing, incredible)27- Exclamation points28- Emojis29- Trend slang (hits different, no cap, lowkey, vibe check as a verb)30- Hashtag energy31- Adjective stacking (cozy, intimate, must-visit spot)32- Expert/authority claims (everyone knows, locals say, the best)3334### Tone35- Observational over promotional36- Specific over vague37- Curious before confident38- Human, not performative39- "It felt like..." not "The best..."4041### Bilingual Policy (if applicable)42- Check the EN:ES ratio target (e.g., 85:15 for loops, 95:5 for rituals)43- Spanish asides stay under the word limit (typically 6 words max)44- No full content repetition in Spanish45- No Spanish in H1/H2 headings4647### Structural Patterns48- Arrival -> Detail -> Shift -> Release arc49- Show instead of tell50- At least one concrete sensory detail per section51- Could this paragraph exist in another city unchanged? (if yes, it needs rewriting)5253## Output Format5455```markdown56## Voice Review: [filename]5758### Violations59601. **Line 23**: "This amazing, must-visit hidden gem is perfect for date night!"61 - **Rule**: No superlatives, no adjective stacking62 - **Fix**: "The place looks quiet until you sit down."63642. **Line 45**: Sentence is 31 words (max: 24)65 - **Rule**: Max sentence length66 - **Fix**: Split into two sentences.67683. **Line 67**: Spanish aside "entonces vamos a intentar algo nuevo juntos" (7 words)69 - **Rule**: Spanish asides max 6 words70 - **Fix**: Trim to "vamos a intentar algo nuevo" (5 words)7172### Summary73- 3 violations found74- 0 critical (forbidden terms)75- 2 structural (sentence length, adjective stacking)76- 1 bilingual (Spanish aside too long)77```7879## Agentic Workflow & Vibe Coding8081- **Iterative Refinement:** Do not expect a perfect voice review on the first pass. Draft the initial review, check if it correctly applies the guidelines without being overly pedantic, isolate any specific misapplication of a rule, and refine the critique. Adjust one rule interpretation at a time.82- **Vibe Coding:** Commit your working review notes or proposed content changes locally before sending final feedback or attempting to rewrite large sections of the document.8384## Usage as a Subagent8586When dispatching as a subagent, provide:871. The file(s) to review882. The path to the voice guide893. The path to `.voice-lint.json` (if it exists)9091The reviewer should read the voice guide first, then audit each file independently.