speak-with-profile
1
总安装量
1
周安装量
#76334
全站排名
安装命令
npx skills add https://github.com/gaelic-ghost/a11y-skills --skill speak-with-profile
Agent 安装分布
amp
1
cline
1
opencode
1
cursor
1
kimi-cli
1
codex
1
Skill 文档
Speak With Profile
Use this skill as the required front door for speech tasks. Treat built-in $speech as the synthesis engine, and keep this skill as the policy and profile adapter.
Purpose
- Normalize speech requests with deterministic profile precedence.
- Enforce disclosure and manifest policy consistently.
- Delegate generation to
$speechby default in Codex App/CLI conversations. - Keep a script fallback for deterministic local/automation execution.
- Use FastMCP interactive profile tools in
services/speak-with-profile-mcpfor GUI-first profile lifecycle operations.
Required UX pattern
- Route speech requests through
$speak-with-profilefirst. - Resolve profile/default/override values.
- Require disclosure text in end-user output context.
- Delegate generation to built-in
$speechusing resolved fields. - Record effective configuration in a run manifest.
Execution modes
delegate(default for conversational usage): use built-in$speechfor synthesis.local-cli(fallback for scripted/automation runs): invokescripts/text_to_speech.pyviascripts/speak_with_profile.py.
Use delegate unless there is a concrete reason to run the local script path.
Hard constraints
- Do not bypass this skill for speech tasks in this repository workflow.
- Do not modify built-in
$speechbehavior assumptions; adapt inputs/outputs around it. - Never modify the bundled generation script
scripts/text_to_speech.py. - Use built-in voices only.
- Require
OPENAI_API_KEYfor live API calls.
Disclosure policy
Always include a clear disclosure in user-visible output when speech is produced, for example:
- “This audio voice is AI-generated.”
If a profile provides disclosure, use it. Otherwise, use the default disclosure above.
Profile resolution order
- Explicit wrapper flags (
--voice,--speed,--instructions,--format, output path flags). - Selected profile (
--profile). - Default profile from profiles file (
default_profile). - Baseline defaults (
voice=cedar,speed=1.0, formatmp3, modelgpt-4o-mini-tts-2025-12-15).
Workflow
- Resolve input text source (
--textor--text-file). - Resolve profile and defaults using
references/wrapper-contract.md. - Validate configuration against
references/profile-schema.md. - Choose execution mode:
delegate: call built-in$speechwith resolved fields.local-cli: runscripts/speak_with_profile.py.
- Emit/validate run manifest and include disclosure.
References
- Profile schema and validation rules:
references/profile-schema.md - Starter profile set and examples:
references/starter-profiles.md - Adapter contract and mode behavior:
references/wrapper-contract.md
Validation helper
Use scripts/validate_manifest.py to verify required manifest keys:
python3 speak-with-profile/scripts/validate_manifest.py path/to/output/file.manifest.json