원클릭으로
synthesizing-voice
Extract voice profile from existing content into voice.md
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Extract voice profile from existing content into voice.md
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Single-pass network health observation. Checks API liveness, namespace freshness, drift, computes Network Health Score.
Deep investigation of a single construct. Identity-reality drift, maintenance pattern, composition analysis.
Single-pass network health observation. Checks API liveness, namespace freshness, drift, computes Network Health Score.
Autonomous observation loop. Time-boxed cycles with ratcheting health score, commits findings to grimoires.
Synthesize observations into a readable network health report. Aggregates patterns and trends from observation cycles.
Single-pass coherence sense of an ARBITRARY estate (a registry/state pair). Resolves the read-command from operator-local estate-config, shells the estate's own doctor read-only, emits exactly the STATUS|SIGNAL|MISMATCH tile. Sense-only — never mutates the estate.
| name | synthesizing-voice |
| description | Extract voice profile from existing content into voice.md |
| user-invocable | true |
| aliases | ["synthesize-voice"] |
| allowed-tools | Read, Write, Glob, Grep, Edit, AskUserQuestion |
Extract a communication voice profile from existing announcements, community posts, or team messages. Produces contexts/voice/voice.md — the upstream artifact that grounding-announcements reads before writing any copy.
/synthesize-voice [content source]
Content sources: Discord messages, announcement drafts, team communication, URLs, or pasted text.
Voice is upstream of announcements. Like taste.md is upstream of component styling, voice.md is upstream of all outbound communication. Every announcement, update, and community message should express the same voice consistently.
This skill reverse-engineers voice from existing content rather than asking the user to define it from scratch.
Collect content to analyze. Sources in priority order:
grimoires/herald/announcements/*.mdgit log --oneline -50 for team writing patternsMinimum: 3 content samples. Ideal: 8-12 for reliable pattern extraction.
For each content sample, extract:
1. Register
2. Vocabulary
3. Tone
4. Rhythm
5. Audience Adaptation
Cross-reference patterns across samples. For each dimension:
REGISTER ANALYSIS (8 samples):
lowercase: 7/8 (87%) → CONSENSUS
first-person-plural: 6/8 (75%) → CONSENSUS
fragments: 4/8 (50%) → TENSION — ask user
? "Your writing sometimes uses sentence fragments ('henlo is ded.') and
sometimes full sentences. Which do you prefer for announcements?"
[A] Fragments OK — adds punch
[B] Full sentences — clearer communication
[C] Mix — fragments for closers, full sentences for info
Write to contexts/voice/voice.md:
# Voice Profile
Generated: {date}
Source: {N} samples analyzed
Confidence: {HIGH|MEDIUM|LOW per dimension}
## Register
- style: {lowercase|title-case|mixed}
- formality: {formal|casual-direct|slang}
- perspective: {first-person-plural|impersonal|direct-address}
- fragments: {yes|no|closers-only}
## Vocabulary
### Preferred Terms
| Instead of | Use | Source |
|-----------|-----|--------|
| {formal term} | {preferred term} | {sample reference} |
### Banned Words
- {word} — {reason}
### Domain Terms
- {term}: {how it's used in this voice}
## Tone
- emotional_range: {neutral|dry|warm}
- humor: {none|dry-occasional|frequent}
- confidence: {hedged|matter-of-fact|assertive}
- on_bad_news: {direct|softened|reframed}
- on_good_news: {understated|brief|celebrated}
## Rhythm
- sentences: {short|medium|varied}
- paragraphs: {N-N sentences}
- structure: {action-first|context-first|thesis-first}
- lists: {preferred|occasional|rare}
- closer: {philosophical|call-to-action|sign-off|none}
## Audience
- primary: {holders|community|public}
- assumed_knowledge: {high|medium|low}
- context_level: {minimal|moderate|thorough}
- action_items: {embedded|separate-section|bold-inline}
If contexts/voice/principles.md doesn't exist, prompt the user:
Voice profile created. Do you have communication principles or
constraints to capture? These are non-negotiable rules — things
you never say, promises you never make, patterns to avoid.
Examples:
- "Never mention unshipped features"
- "Never apologize for removing things"
- "Always include withdrawal deadlines"
Generate contexts/voice/principles.md from their input using the "We Say" / "We Never Say" structure.
Voice evolves. When re-running /synthesize-voice:
voice.mdgrimoires/herald/feedback/voice-evolution.jsonl{"date":"2026-02-23","dimension":"vocabulary","change":"added 'cozy kitchen' to preferred terms","source":"arcade-sunset-announcement","confidence":"HIGH"}