Applies a voice profile to transform content. Use when user asks to write in a specific voice, match a tone, apply a style, or transform content to sound like a particular voice profile.
Use author-controlled writing workflows for the
actual aiwg writing plan and aiwg writing proofread commands, channel APIs,
bounded revision, explicit learning, scoped MCP resources and separate receipts.
Planning creates a structured artifact; proofreading applies exact listed
author-authorized corrections without a model or voice rewrite. A selected mode
is not an applied transformation. Unsupported consumers use explicit instruction
exports; never claim every provider response is intercepted. Keep original text
and unresolved review decisions recoverable. Publication controls remain with
the user's existing workflow.
For model-driven voice transformation, use the packaged criticism/correction flow and output impact guide. The selected development lane uses one Astra draw and at most one correction with the primary session as reviewer. Neutral analytical packets are required; private author provenance stays outside generator and corrector context. Preserve the original unless a hash-bound review accepts both fidelity and cadence. This does not change deterministic proofread-only behavior or qualify all channels.
For author-controlled writing, prepare a structured writing brief before generating prose. Record reader task, supported propositions, limitations, intended action and approved author notes. Missing first-person experiences or design rationale are editorial gaps; do not invent them. Keep evidence strength independent of voice. Proofread-only applies selected authorized correction IDs to the original source; other operations expose explicit permissions and lineage for downstream execution.
Run fidelity checks after every final structure/presentation pass. Uncertain paraphrases require review. Preserve the original on configured fallback and report attempted versus retained changes outside product prose. Automated literal guards are not semantic proof.
Transform content to match a specified voice profile. This skill loads voice profiles and applies their characteristics (tone, vocabulary, structure, perspective) to new or existing content.
Evidence constraints are recorded in the natural voice ownership ADR and versioned ledger. Treat phrase highlights as contextual editorial suggestions, never authorship probabilities. Preserve supplied facts, uncertainty and author intent; an assertive tone does not strengthen evidence. Author notes were already part of the cited post-editing study. Neither topic-matched examples nor a fixed example count is established as a universally best choice. The ledger is an evidence contract, not a claim that the planned natural voice pipeline has been qualified.
| Natural Language | Action | |------------------|--------| | "Write this in technical voice" | Apply technical-authority profile | | "Make it more casual" | Apply casual-conversational or calibrate toward casual | | "This needs to sound executive" | Apply executive-brief profile | | "Explain like I'm a beginner" | Apply friendly-explainer profile | | "Use the [profile-name] voice" | Load and apply named profile | | "Transform this to match [example]" | Analyze example, apply derived voice |
Skill checks these locations (in order):
.aiwg/voices/~/.config/aiwg/voices/voice-framework/voices/templates/| Profile | Description | Best For |
|---------|-------------|----------|
| technical-authority | Direct, precise, confident | Docs, architecture, engineering |
| friendly-explainer | Approachable, encouraging | Tutorials, onboarding, education |
| executive-brief | Concise, outcome-focused | Business cases, stakeholder comms |
| casual-conversational | Relaxed, personal | Blog posts, social, newsletters |
# Load from YAML
profile = load_voice_profile("technical-authority")
Tone Calibration:
Vocabulary Transformation:
prefer/avoid guidanceStructure Adjustment:
Perspective Shift:
Check these properties only when supported by the source; never invent them to satisfy a profile:
User: "Write release notes in technical-authority voice"
Process:
1. Load technical-authority.yaml
2. Generate release notes with:
- Precise technical terminology
- Specific version numbers
- Direct, confident statements
- Tradeoff acknowledgments where relevant
User: "Make this documentation more friendly for beginners"
Input: "The API endpoint accepts a JSON payload containing the requisite parameters..."
Process:
1. Load friendly-explainer.yaml
2. Analyze: formal, technical, passive
3. Transform to: casual, accessible, active
Output: "To use this endpoint, send it some JSON with the info it needs..."
User: "This is too formal, dial it back 30%"
Process:
1. Identify current formality (~0.8)
2. Calculate target (0.8 - 0.3 = 0.5)
3. Adjust vocabulary and structure for medium formality
Combine multiple profiles:
User: "Write this with 70% technical-authority and 30% friendly-explainer"
Process:
1. Load both profiles
2. Weighted merge:
- tone.formality: 0.7 * 0.7 + 0.3 * 0.3 = 0.58
- tone.warmth: 0.7 * 0.3 + 0.3 * 0.8 = 0.45
- etc.
3. Apply merged profile
Load and validate voice profiles:
python scripts/voice_loader.py --profile technical-authority
Analyze content against voice profile:
python scripts/voice_analyzer.py --content input.md --profile technical-authority
Works with:
/voice-apply command for explicit invocation/voice-create command for generating new profilesWhen reporting voice application:
Voice Applied: technical-authority
Transformations:
- Formality: 0.4 → 0.7 (increased)
- Evidence strength: unchanged; original qualifications retained
- Vocabulary: 12 replacements
- Structure: reordered supported clauses within approved edit scope
Authenticity Check:
✓ Acknowledges tradeoffs
✓ Uses specific numbers
✓ References constraints
Generate or edit images via Gemini 3 Pro Image (Nano Banana Pro).
Batch-generate images via OpenAI Images API. Random prompt sampler + `index.html` gallery.
Generate spectrograms and feature-panel visualizations from audio with the songsee CLI.
Extract frames or short clips from videos using ffmpeg.
Search GIF providers with CLI/TUI, download results, and extract stills/sheets.
Category:media-generate