plugins/voice/skills/voice-create/SKILL.md
Generate custom voice profiles from natural language descriptions by mapping tone, formality, and domain to voice dimensions
npx skillsauth add jmagly/aiwg voice-createInstall 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.
Generate custom voice profiles from natural language descriptions.
Alternate expressions and non-obvious activations (primary phrases are matched automatically from the skill description):
When triggered, this skill:
Parses the description to identify:
Maps description to voice dimensions:
Generates vocabulary guidance:
Creates structure patterns:
Outputs valid YAML conforming to voice-profile.schema.json
User: "Create a voice for API documentation - precise, no-nonsense, assumes developer knowledge"
Output: technical-api-docs.yaml
- formality: 0.6
- confidence: 0.9
- warmth: 0.2
- energy: 0.3
- complexity: 0.8
- vocabulary: technical terms, code references, precise metrics
User: "Make me a voice for beginner tutorials - encouraging, patient, uses lots of analogies"
Output: beginner-tutorial.yaml
- formality: 0.2
- confidence: 0.7
- warmth: 0.9
- energy: 0.7
- complexity: 0.3
- vocabulary: everyday language, encouraging phrases, analogies
User: "Generate a voice profile for board presentations - authoritative but accessible"
Output: board-presentation.yaml
- formality: 0.8
- confidence: 0.9
- warmth: 0.4
- energy: 0.5
- complexity: 0.6
- vocabulary: business metrics, strategic language, clear conclusions
Generated profiles are saved to:
.aiwg/voices/{name}.yaml (project-specific, default)~/.config/aiwg/voices/{name}.yaml (user-wide, with --global flag)Parse natural language for dimension indicators:
| Description Keywords | Dimension | Value Range | |---------------------|-----------|-------------| | casual, relaxed, conversational | formality | 0.1-0.3 | | professional, business | formality | 0.5-0.7 | | formal, academic, official | formality | 0.8-1.0 | | tentative, careful, hedging | confidence | 0.2-0.4 | | balanced, measured | confidence | 0.5-0.7 | | assertive, authoritative, direct | confidence | 0.8-1.0 | | clinical, detached, objective | warmth | 0.1-0.3 | | neutral, professional | warmth | 0.4-0.6 | | friendly, warm, personable | warmth | 0.7-0.9 | | calm, measured, understated | energy | 0.1-0.3 | | balanced, engaged | energy | 0.4-0.6 | | enthusiastic, dynamic, energetic | energy | 0.7-0.9 | | simple, accessible, plain | complexity | 0.1-0.3 | | clear, moderate | complexity | 0.4-0.6 | | sophisticated, detailed, nuanced | complexity | 0.7-0.9 |
Identify domain from context:
Based on domain and tone, generate:
Map tone to structure patterns:
Works with other voice-framework skills:
voice-applyvoice-blendvoice-analyze can create base profiles that voice-create refines../../../schemas/voice-profile.schema.json../voice-apply/references/voice-dimensions.md../../voices/templates/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`.