plugins/voice/skills/voice-apply/SKILL.md
Apply a voice profile to transform content. Use when the user asks to write in a specific voice, match a tone, or sound like a particular voice profile.
npx skillsauth add jmagly/aiwg voice-applyInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
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.
| 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:
Ensure output includes profile's authenticity characteristics:
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)
- 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
data-ai
Report which research-corpus radar sidecars are overdue for refresh. Computes staleness (days since last refresh vs the cadence window) for every radar, sorted most-overdue-first. Runs via `aiwg corpus radar-status`.
data-ai
Aggregate research-corpus radar sidecars into a corpus or per-cluster freshness report — totals, overdue count, per-cluster / per-GRADE / per-trajectory breakdowns, an overdue table, and per-radar rationale snippets. Runs via `aiwg corpus radar-report`.
testing
Scaffold radar/freshness sidecars for research-corpus REFs. Pulls title/authors from the citation sidecar and GRADE from the analysis doc, defaults the refresh cadence from GRADE and the cluster from a corpus-local map, and stamps documentation/radar/REF-XXX-radar.md. Runs via `aiwg corpus radar-init`.
data-ai
Compute an entity's publication trajectory — per-year paper counts, topic drift, hot-streak detection (≥3 consecutive A-grade years), and career phase. Runs via `aiwg corpus profile-temporal`.