From idiolect
Generates multiple distinct posts from a single brief by isolating voice contexts and detecting cross-post overlap. Useful for launching campaigns across platforms without shared fingerprints.
How this skill is triggered — by the user, by Claude, or both
Slash command
/idiolect:campaign <N> posts for <brief> on <platform(s)> [--campaign name]<N> posts for <brief> on <platform(s)> [--campaign name]The summary Claude sees in its skill listing — used to decide when to auto-load this skill
The failure mode of one writer producing N "different" posts is convergence: same skeleton, same rhythm, swapped adjectives. This skill prevents it structurally — each post is written in an isolated context that has seen ONLY its own voice, then the set is checked for overlap like the adversarial reviewer a real editor would be.
The failure mode of one writer producing N "different" posts is convergence: same skeleton, same rhythm, swapped adjectives. This skill prevents it structurally — each post is written in an isolated context that has seen ONLY its own voice, then the set is checked for overlap like the adversarial reviewer a real editor would be.
ROOT="${CLAUDE_PLUGIN_ROOT:-${CODEX_PLUGIN_ROOT:-$IDIOLECT_ROOT}}"
# unset everywhere (opencode)? ROOT = two directories up from this SKILL.md
IDIO="python3 $ROOT/scripts/idiolect.py"
CID="<campaign-name-or-date-slug>"
Cast the voices. Brief to a scratch file, then
$IDIO pick --platform <p> --brief-file <f> --n <N> --distinct --json
(per-platform picks if the campaign spans platforms — and pass --exclude with every already-cast slug on each subsequent pick, or the same voice will happily win two platforms). --distinct does greedy max-distance casting — announce the cast in one line each: who, platform, why they fit the brief. If the user named people fuzzily ("use the nurse and the sneaker guy"), resolve those against $IDIO voices --json first and fill the rest of the cast with pick. Nothing here requires the user to know a slug or a flag.
Pre-assign structure. Build a rotation table before any writing: no two posts share (opener, shape) even across different voices; lengths vary. This is the campaign-level variance guard; the per-voice ledger check comes free in step 3.
Fan out, isolated. For each (voice, platform, structure) row, spawn an idiolect-writer agent whose prompt contains ONLY: the voice profile path, the brief, the platform, the assigned structure, and the two shared docs' paths. One writer never sees another writer's voice or output — isolation is what prevents bleed; parallelism is just the bonus. Each writer self-verifies with scan + conform and saves to <scratch>/post-<slug>.txt.
Codex/opencode fallback (no auto-spawn): write them yourself SEQUENTIALLY, and before each post re-read that voice's profile in full and consciously drop the previous voice's rhythm; the verification gates below still catch bleed if you fail.
Verify the set, not just the posts.
scan ≤ 15 (≤ 20 formal voices) and conform PASS — re-check even though writers self-checked (writers grade homework; you grade writers).$IDIO overlap <scratch>/post-*.txt — any flagged pair (5-gram Jaccard > 0.12, or a shared distinctive phrase) means one of the two gets rewritten. Shared brief facts (product name, price) are fine; shared SENTENCES are the tell that kills campaigns.idiolect-auditor ONCE with all post files and platforms, nothing else — it flags any post that reads generated and any two that read same-authored. Fix what it catches.Record and deliver. For each post: $IDIO ledger add --voice <s> --platform <p> --opener --shape --len --campaign "$CID" --file <post>. Then deliver each post in its own fenced block headed by — <voice display> · <platform>, followed by a receipts table:
| voice | platform | scan | conform | overlap | structure |
|---|---|---|---|---|---|
| dale-hvac | 6 clean | PASS | ok | price/story/med |
Plus one texture: section listing any invented interior details across the set, per the honesty rules in _shared/craft.md.
--exclude with the previous cast (or trust pick's recent-use penalty) so the same three people don't launch everything you make.npx claudepluginhub nagisanzenin/idiolectRoutes gstack requests to the correct skill (planning, review, QA, shipping, debugging, docs, security, design). Invokes when user types /gstack or asks which skill to use.
Provides UI/UX design intelligence with 50+ styles, 161 color palettes, 57 font pairings, 99 UX guidelines, and 25 chart types across 10 stacks. Use for designing pages, components, or reviewing visual quality.