From cvi
This skill should be used when the user asks about "[VOICE] tag", "voice notification", "TTS settings", "speech rate", "voice language", "text-to-speech", or mentions CVI configuration. Also use this skill when completing tasks to provide voice notification summaries.
npx claudepluginhub signalcompose/claude-tools --plugin cviThis skill uses the workspace's default tool permissions.
This skill provides guidance on using CVI (Claude Voice Integration) for voice notifications in Claude Code.
Guides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Migrates code, prompts, and API calls from Claude Sonnet 4.0/4.5 or Opus 4.1 to Opus 4.5, updating model strings on Anthropic, AWS, GCP, Azure platforms.
Automates semantic versioning and release workflow for Claude Code plugins: bumps versions in package.json, marketplace.json, plugin.json; verifies builds; creates git tags, GitHub releases, changelogs.
This skill provides guidance on using CVI (Claude Voice Integration) for voice notifications in Claude Code.
Every task completion MUST follow this exact pattern:
[detailed task explanation...]
<use Skill tool: skill="cvi:speak" args="2-3 sentences explaining what was done">
CRITICAL: Use Skill tool, NOT text
/cvi:speak xxx as textskill="cvi:speak" and args="your message"Why Skill tool only (no [VOICE] tag)?
Speaking: ...) serves as the visible summary/cvi:speak: Triggers macOS notification + Glass sound + voiceIf you forget to use Skill tool:
The summary language is controlled by VOICE_LANG in ~/.cvi/config:
| VOICE_LANG | Summary Language |
|---|---|
ja | Japanese: args="タスクが完了しました。..." |
en | English: args="Task completed successfully..." |
Important: Always check ~/.cvi/config before calling /cvi:speak.
✅ Always use when:
❌ Exception (no notification needed):
| Command | Purpose |
|---|---|
/cvi | Enable/disable voice notifications |
/cvi:speed | Adjust speech rate (wpm) |
/cvi:lang | Set [VOICE] tag language (ja/en) |
/cvi:voice | Select voice for each language |
/cvi:auto | Enable language auto-detection |
/cvi:check | Diagnose setup issues |
/cvi:practice | Toggle English practice mode |
/cvi:speak | Directly speak text (bypasses Stop hook timing) |
English mode (VOICE_LANG=en):
<use Skill tool: skill="cvi:speak" args="Updated 3 configuration files. All tests passing.">
Japanese mode (VOICE_LANG=ja):
<use Skill tool: skill="cvi:speak" args="設定ファイルを3つ更新しました。テストは全て成功しています。">
When ENGLISH_PRACTICE=on in ~/.cvi/config:
If user input contains non-ASCII characters (Japanese, etc.):
> "English instruction"your turnImportant clarifications:
language settingFor task completion, use the Skill tool to call /cvi:speak:
[detailed task explanation...]
<use Skill tool: skill="cvi:speak" args="2-3 sentence summary">
CRITICAL: Do NOT write /cvi:speak as text. You MUST use the Skill tool.
This approach:
Speaking: ...) is shown to userImportant: The Stop hook will BLOCK if /cvi:speak is not called via Skill tool.
When you call /cvi:speak <message>:
All three happen together, providing a complete notification experience.
If /cvi:speak is not called, the Stop hook will block and remind you to call it. Always use the Skill tool for task completion notifications.