
Voice Review
- 73 installs
- 325 repo stars
- Updated August 2, 2026
- athola/claude-night-market
Voice-review is an agent skill that runs parallel prose and craft reviewers against a voice profile before publishing.
About
Voice-review is a Scribe-family checker skill that dispatches two parallel reviewers on generated prose before a solo builder publishes. It loads the draft, the active voice register, and banned phrases, then runs a prose pass for AI slop and drift plus a craft pass for structural voice devices. Hard violations—including banned phrases and em dashes—are auto-corrected; softer issues surface as advisory tables for you to accept or edit. The workflow assumes prior voice-extract and voice-generate work and pairs naturally with slop-detector in a Night Market content stack. Use it when markdown or text under `**/*.{md,txt}` is ready for a quality gate but not yet live. It fits Ship review as the primary shelf and Launch or Grow content when polishing posts, lifecycle emails, or docs. Medium complexity: you need registers and dependencies installed, but the steps are explicit todos rather than open-ended rewriting.
- Parallel dual-gate review: prose reviewer (AI patterns, banned phrases, voice drift) and craft reviewer (naming, destina
- Hard failures such as banned phrases and em dashes are auto-fixed before advisories are shown.
- Five Required TodoWrite checkpoints from text loaded through advisories presented.
- Loads generated text, active voice register, and banned phrase list before dispatching agents.
- Advisory findings return as tables; only hard fails are corrected automatically.
Voice Review by the numbers
- 73 all-time installs (skills.sh)
- Ranked #512 of 1,352 Code Review & Quality skills by installs in the Skillselion catalog
- Security screen: LOW risk (skills.sh audit)
- Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/athola/claude-night-market --skill voice-reviewAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 73 |
|---|---|
| repo stars | ★ 325 |
| Security audit | 3 / 3 scanners passed |
| Last updated | August 2, 2026 |
| Repository | athola/claude-night-market ↗ |
What it does
Run parallel prose and craft reviewers on draft copy against a voice register before you ship or publish marketing content.
Who is it for?
Best when you use Athola Scribe voice pipelines and want a structured pre-publish gate on `.md` and `.txt` drafts.
Skip if: Skip if you're publishing without a voice register, banned phrase list, or upstream voice-extract and voice-generate setup.
When should I use this skill?
Checking generated content for AI patterns and voice drift before publishing.
What you get
After review, hard voice violations are auto-fixed and you receive advisory tables to approve before shipping or distributing the text.
- Auto-corrected hard-fail text
- Advisory prose and craft review tables
By the numbers
- 2 parallel review agents (prose and craft)
- 5 Required TodoWrite checkpoints in the workflow
Files
Voice Review Skill
Dispatch dual review agents and present unified findings.
Method: Parallel Dual-Gate Review
Two agents run in parallel on the generated text: 1. Prose reviewer: AI patterns, banned phrases, voice drift 2. Craft reviewer: Naming, destinations, dwelling, devices, anchoring
Hard failures (banned phrases, em dashes) are auto-fixed. Everything else returns as advisory tables for user decision.
Required TodoWrite Items
1. voice-review:text-loaded - Generated text read 2. voice-review:register-loaded - Voice register loaded 3. voice-review:agents-dispatched - Both reviewers launched 4. voice-review:hard-fails-fixed - Auto-corrections applied 5. voice-review:advisories-presented - Tables shown to user 6. voice-review:findings-verified - Citations confirmed by verifier
Step 1: Load Context
Read:
- The generated text (from file or clipboard)
- The active voice register
- The banned phrases list
Step 2: Dispatch Review Agents
Launch both agents in parallel:
Agent(prose-reviewer):
- text: {generated_text}
- register: {register_content}
- banned_phrases: {banned_list}
Agent(craft-reviewer):
- text: {generated_text}
- register: {register_content}Step 3: Process Results
Hard Failures
Apply all auto-fixes from prose reviewer silently:
- Remove/replace banned phrases
- Replace em dashes with appropriate punctuation
- Rewrite negation-correction patterns
Report: "Fixed N hard failures (X banned phrases, Y em dashes, Z patterns)"
Advisory Tables
Present both tables to the user:
Prose Review Advisories:
| # | Line | Anchor | Pattern | Current | Proposed fix |
|---|
Craft Review:
| Dimension | Rating | Notes | Proposed improvement |
|---|
Step 4: User Decision
For each advisory row, user can:
- Accept (a): Apply the proposed fix
- Reject (r): Keep the current text
- Rewrite (w): Apply a custom fix
Present as:
[1] Prose: Frictionless transition at "Furthermore, the..."
Proposed: Cut transition, start mid-thought
[a]ccept / [r]eject / re[w]rite?Step 5: Apply Decisions
- Apply accepted fixes to the text
- Skip rejected items
- For rewrites, incorporate user's version
- Save final text
Step 6: Snapshot (if learning active)
If the user has learning mode enabled:
- Save "post-review" snapshot (text after hard-fail fixes,
before user decisions on advisories)
- Save "post-fixes" snapshot (text after user decisions)
- Both go to
~/.claude/voice-profiles/{name}/learning/snapshots/
Integration with voice-generate
When dispatched from voice-generate, the flow is: 1. voice-generate produces text 2. voice-generate calls voice-review 3. voice-review dispatches agents, processes results 4. User makes decisions on advisories 5. If learning mode: snapshots saved for later comparison
Standalone Usage
Can also be run on any existing text:
/voice-review path/to/file.md --profile myvoice --register casualVerify Findings Are Grounded (voice-review:findings-verified)
Every advisory row must cite a real line and a verbatim anchor. Write findings to .review/findings.json and confirm each citation resolves:
python plugins/imbue/scripts/citation_verifier.py \
--findings .review/findings.json --repo-root .Drop or label UNVERIFIED any finding the verifier fails (exit 1); only verified findings enter the advisory tables. See Skill(imbue:review-core) Step 5 and Skill(imbue:structured-output) for the schema.
Verification
After the review completes, validate these conditions:
- Both review agents returned results (no timeouts)
- Hard failures auto-fixed and diff shown to user
- Advisory tables presented with accept/reject/rewrite options
- User decisions applied to the final text
- Final text saved to disk
- Snapshots saved (if learning mode active)
Exit Criteria
- Both review agents returned results without timeout
- Hard failures auto-fixed and diff shown to user
- Advisory tables presented with accept/reject/rewrite options
- User decisions applied to the final text
- Final text saved to disk
- Every advisory row carries a
Line(file:line) and verbatimAnchor;
citation_verifier.py confirmed all citations (exit 0) or unverified rows are dropped/labeled UNVERIFIED
Test Spec
The test suite (test_voice_review.py) validates:
- Skill file exists and references parallel dispatch
- Hard failure vs advisory separation is documented
- Prose reviewer agent exists with hard-failure patterns
- Craft reviewer agent exists with five-dimension ratings
- Both agents produce tabular output for downstream merging
Related skills
How it compares
Structured dual-agent editorial checker, not a one-shot 'make this sound better' rewrite prompt.
FAQ
Who is voice-review for?
Voice-review is for content operators running Scribe voice profiles who need systematic prose and craft QA before release.
When should I use voice-review?
Use it in Ship review before merging or publishing copy; at Launch when finalizing SEO or distribution posts; and in Grow when refreshing lifecycle or support content that must match your voice register.
Is voice-review safe to install?
It reads project text and voice config; check the Security Audits panel on this page and review scribe dependencies before enabling auto-fixes on production drafts.