npx claudepluginhub jmagly/aiwg --plugin voiceThis skill uses the workspace's default tool permissions.
Combine multiple voice profiles with weighted mixing to create hybrid voices.
Enforces C++ Core Guidelines for writing, reviewing, and refactoring modern C++ code (C++17+), promoting RAII, immutability, type safety, and idiomatic practices.
Provides patterns for shared UI in Compose Multiplatform across Android, iOS, Desktop, and Web: state management with ViewModels/StateFlow, navigation, theming, and performance.
Implements Playwright E2E testing patterns: Page Object Model, test organization, configuration, reporters, artifacts, and CI/CD integration for stable suites.
Combine multiple voice profiles with weighted mixing to create hybrid voices.
When triggered, this skill:
Loads source voice profiles from:
voices/templates/).aiwg/voices/)~/.config/aiwg/voices/)Parses blend specification:
Interpolates dimensions:
Generates hybrid profile with clear lineage tracking
User: "Blend technical-authority and friendly-explainer"
Result: 50/50 blend
- formality: 0.45 (avg of 0.7 and 0.2)
- confidence: 0.8 (avg of 0.9 and 0.7)
- warmth: 0.55 (avg of 0.3 and 0.8)
- vocabulary: merged from both
User: "80% executive-brief, 20% casual-conversational"
Result: Weighted blend
- formality: 0.7 (0.8*0.85 + 0.2*0.15)
- confidence: 0.86 (0.8*0.9 + 0.2*0.6)
- Dominant structure from executive-brief
User: "Combine technical-authority, friendly-explainer, and executive-brief"
Result: Equal thirds (33.3% each)
- All dimensions averaged across three profiles
- Vocabulary merged from all three
For each tone dimension:
blended_value = Σ(weight_i × value_i) / Σ(weight_i)
Structure settings use the dominant voice (highest weight):
name: technical-friendly-blend
version: 1.0.0
description: Blended voice profile
blend_sources:
- name: technical-authority
weight: 0.7
- name: friendly-explainer
weight: 0.3
tone:
formality: 0.55 # interpolated
confidence: 0.84 # interpolated
warmth: 0.45 # interpolated
energy: 0.49 # interpolated
complexity: 0.65 # interpolated
vocabulary:
prefer:
- precise technical terminology # from technical
- concrete examples # from friendly
avoid:
- marketing superlatives # common to both
signature_phrases:
- "The system handles..." # from technical (70%)
- "Think of it like..." # from friendly (30%)
structure:
sentence_length: medium # from dominant (technical)
use_examples: frequently # averaged
Blended profiles are saved to:
.aiwg/voices/{name}.yaml (default)--output flag~/.config/aiwg/voices/ with --global flagvoice-create or built-in templatesvoice-applyvoice-analyze → voice-blend → voice-apply# Equal blend of two voices
python voice_blender.py --voices "technical-authority,friendly-explainer"
# Weighted blend
python voice_blender.py --voices "technical-authority:0.7,friendly-explainer:0.3"
# Custom output name
python voice_blender.py --voices "..." --name my-hybrid-voice
# Output to specific directory
python voice_blender.py --voices "..." --output .aiwg/voices/
# JSON output for inspection
python voice_blender.py --voices "..." --json
../voice-apply/scripts/voice_loader.py../../../schemas/voice-profile.schema.json../../voices/templates/