voice-apply
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.
Best use case
voice-apply is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
It is a strong fit for teams already working in Codex.
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.
Teams using voice-apply should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/voice-apply/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How voice-apply Compares
| Feature / Agent | voice-apply | Standard Approach |
|---|---|---|
| Platform Support | Codex | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
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.
Which AI agents support this skill?
This skill is designed for Codex.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
Related Guides
AI Agents for Coding
Browse AI agent skills for coding, debugging, testing, refactoring, code review, and developer workflows across Claude, Cursor, and Codex.
Cursor vs Codex for AI Workflows
Compare Cursor and Codex for AI coding workflows, repository assistance, debugging, refactoring, and reusable developer skills.
AI Agents for Marketing
Discover AI agents for marketing workflows, from SEO and content production to campaign research, outreach, and analytics.
SKILL.md Source
# Voice Apply Skill
## Purpose
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.
## When This Skill Applies
- User asks to "write in X voice" or "use Y tone"
- User wants to "make this sound more [casual/formal/technical/etc.]"
- User provides content and asks to transform its style
- User references a voice profile by name
- User wants content to match a specific audience or context
## Trigger Phrases
| 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 |
## Voice Profile Locations
Skill checks these locations (in order):
1. Project: `.aiwg/voices/`
2. User: `~/.config/aiwg/voices/`
3. Built-in: `voice-framework/voices/templates/`
## Built-in Voice Profiles
| 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 |
## Application Process
### 1. Load Voice Profile
```python
# Load from YAML
profile = load_voice_profile("technical-authority")
```
### 2. Analyze Source Content (if transforming)
- Current tone characteristics
- Vocabulary patterns
- Structure patterns
- Gap analysis vs target voice
### 3. Apply Voice Characteristics
**Tone Calibration**:
- Adjust formality level (word choice, contractions)
- Calibrate confidence (hedging vs assertion)
- Set warmth (clinical vs personable)
- Tune energy (measured vs enthusiastic)
**Vocabulary Transformation**:
- Replace words per `prefer`/`avoid` guidance
- Introduce domain terminology naturally
- Weave in signature phrases where appropriate
**Structure Adjustment**:
- Modify sentence length distribution
- Adjust paragraph breaks
- Add/remove lists, examples, analogies as specified
**Perspective Shift**:
- Adjust narrative person (I, we, you, they)
- Calibrate opinion expression
- Set reader relationship tone
### 4. Verify Authenticity Markers
Ensure output includes profile's authenticity characteristics:
- Acknowledges uncertainty (if specified)
- Shows tradeoffs (if specified)
- Uses specific numbers (if specified)
- References constraints (if specified)
## Usage Examples
### Apply Named Voice
```
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
```
### Transform Existing Content
```
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..."
```
### Calibrate Voice
```
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
```
## Voice Blending
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
```
## Script Reference
### voice_loader.py
Load and validate voice profiles:
```bash
python scripts/voice_loader.py --profile technical-authority
```
### voice_analyzer.py
Analyze content against voice profile:
```bash
python scripts/voice_analyzer.py --content input.md --profile technical-authority
```
## Integration
Works with:
- `/voice-apply` command for explicit invocation
- `/voice-create` command for generating new profiles
- SDLC templates (apply appropriate voice per artifact type)
- Marketing templates (brand voice consistency)
## Output Format
When reporting voice application:
```
Voice Applied: technical-authority
Transformations:
- Formality: 0.4 → 0.7 (increased)
- Confidence: 0.5 → 0.9 (increased)
- Vocabulary: 12 replacements
- Structure: Added 2 examples, removed 1 rhetorical question
Authenticity Check:
✓ Acknowledges tradeoffs
✓ Uses specific numbers
✓ References constraints
```
## References
- @$AIWG_ROOT/agentic/code/addons/voice-framework/README.md — Voice framework addon overview and profile documentation
- @$AIWG_ROOT/agentic/code/addons/voice-framework/voices/templates/ — Built-in voice profile templates
- @$AIWG_ROOT/agentic/code/addons/writing-quality/README.md — Writing quality addon for authenticity enforcement
- @$AIWG_ROOT/docs/cli-reference.md — CLI reference for voice commands
- @$AIWG_ROOT/agentic/code/addons/aiwg-utils/rules/instruction-comprehension.md — Parsing voice and style directives accuratelyRelated Skills
voice-to-soul
Generate a SOUL.md from an existing AIWG voice profile
voice-create
Generate custom voice profiles from natural language descriptions by mapping tone, formality, and domain to voice dimensions
voice-blend
Combine multiple voice profiles with weighted mixing to create hybrid voices
voice-analyze
Reverse-engineer voice profiles from sample content by analyzing writing patterns
soul-to-voice
Generate an AIWG voice profile from an existing SOUL.md identity file
soul-apply
Apply a SOUL.md identity to content generation, incorporating worldview, opinions, and character
roko-voice
Transform standard technical content into ROKO voice — dense technical mythology wrapped in cypherpunk cultural narrative
aiwg-orchestrate
Route structured artifact work to AIWG workflows via MCP with zero parent context cost
venv-manager
Create, manage, and validate Python virtual environments. Use for project isolation and dependency management.
pytest-runner
Execute Python tests with pytest, supporting fixtures, markers, coverage, and parallel execution. Use for Python test automation.
vitest-runner
Execute JavaScript/TypeScript tests with Vitest, supporting coverage, watch mode, and parallel execution. Use for JS/TS test automation.
eslint-checker
Run ESLint for JavaScript/TypeScript code quality and style enforcement. Use for static analysis and auto-fixing.