voice-review
Runs parallel prose and craft review agents against a voice profile. Use when checking generated content for AI patterns and voice drift before publ…
它会碰到什么
这一栏是扫描器报的事实,不是结论。命中多不等于有毒(安全工具、规则库、示例脚本本来就会包含危险写法),命中少也不等于干净。它和你手上的凭据、文件、网络有什么关系,需要你自己看。
技能内容
Voice Review Skill
Dispatch dual review agents and present unified findings.
When NOT To Use
- Producing the text (use
scribe:voice-generate) - A generic AI-pattern scan with no voice profile (use
scribe:slop-detector)
Method: Parallel Dual-Gate Review
Two agents run in parallel on the generated text:
- Prose reviewer: AI patterns, banned phrases, voice drift
- 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
voice-review:text-loaded- Generated text readvoice-review:register-loaded- Voice register loadedvoice-review:agents-dispatched- Both reviewers launchedvoice-review:hard-fails-fixed- Auto-corrections appliedvoice-review:advisories-presented- Tables shown to uservoice-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:
- voice-generate produces text
- voice-generate calls voice-review
- voice-review dispatches agents, processes results
- User makes decisions on advisories
- 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 casual
Verify 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
想直接用这个技能?
本站把开放许可(MIT / Apache 等)的技能按仓库打包整理到网盘,点一下转存到你自己的网盘,不用一个个从 GitHub 拉。许可未声明的技能只给原始仓库链接,不打包。
它属于哪个仓库
同一个仓库里的其他技能
- claude-code-plugin-reference
- night-market-architecture-contract
- night-market-build-and-env
- night-market-change-control
- night-market-collective-memory
- night-market-completion-integrity-campaign
- night-market-config-catalog
- night-market-debugging-playbook
- night-market-diagnostics-toolkit
- night-market-docs-and-writing
- night-market-failure-archaeology
- night-market-model-and-harness-updates