From thinking-frameworks-skills
Audits platform outputs (Substack Note, X thread, LinkedIn post, cross-post blurb) against voice-profile rules. Flags banned vocabulary, missing paper attribution, tone mismatches, and emits pass/fail per artifact.
How this skill is triggered — by the user, by Claude, or both
Slash command
/thinking-frameworks-skills:platform-voice-checkThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
```
Voice-audit the 4 platform outputs:
- [ ] Step 1: Read all 4 output files + voice-profile.md + voices/{section}.md (if applicable)
- [ ] Step 2: For each file:
- Scan voice-don'ts (delve, unpack, paradigm shift, emoji, exclamations, I think, AI-is-transforming, custom CTA)
- Scan voice-dos (opener classification, em-dash reframes, hedge preservation, paper attribution)
- Platform-specific tonal shift check
- [ ] Step 3: Emit voice-check.md with pass/fail per file
- [ ] Step 4: If FAIL on any file, return the flag list to Distribution Translator for loop-back
| Platform | Expected tone shift | Flag if |
|---|---|---|
| Substack Note | Closest to essay voice | Any over-polishing that reads AI-rewritten |
| X | More declarative, more quotable | Over-hedging ("Substack leak on X") |
| Practitioner, slightly less confessional | Raw confession ("Substack leak on LinkedIn") | |
| Cross-post | Third person | Any first-person use ("I argue…") |
ops/distribution/{date}-{slug}/voice-check.md:
---
agent: distribution-translator
date: YYYY-MM-DD
post_slug: {slug}
results:
substack-note.md: PASS | FAIL
x-thread.md: PASS | FAIL
linkedin-post.md: PASS | FAIL
cross-post-blurb.md: PASS | FAIL
---
## substack-note.md: PASS | FAIL
- (line / location) — issue — voice-profile citation
## x-thread.md: PASS | FAIL
- variant: short — line X — issue
- variant: medium — line Y — issue
## linkedin-post.md: PASS | FAIL
- ...
## cross-post-blurb.md: PASS | FAIL
- ...
If voice-check reports FAIL on any file, Distribution Translator MUST loop back to the matching rewrite skill with the flags as input. Max 2 loops per artifact. After 2 loops:
DESIGN-NOTE: This essay's voice may not translate cleanly to {platform}. User review recommended.
Ship best-so-far; flag for writer.
npx claudepluginhub lyndonkl/claude --plugin thinking-frameworks-skillsScans a Substack draft line-by-line against a voice-profile don't-list, flagging banned phrases like 'delve', 'unpack', and 'paradigm shift' with location, violation type, and rewrite suggestions.
Runs a unified pre-publish quality gate on marketing content (hallucination detection, claim verification, brand voice scoring, structure validation). Invoke before publishing any marketing copy.
Measure and enforce a user's writing voice via stylometry (function-word vectors, lexical diversity, sentence-length burstiness, register, opener POS, punctuation rates). Accepts 5-20 writing samples, builds a local YAML fingerprint, and gates drafts against deterministic bands.