voice

voice is a skill for Claude Code from masa-san-jp/Agent-Aiko. It costs 0 tokens per session (1,460 once invoked), scanned B, original, MIT.

A skill for controlling text-to-speech playback of Claude Code responses. Text-to-speech means converting written responses into spoken audio.

In plain words
What is it for?
Use it to enable or disable voice output, inspect the current engine, switch engines, and control options such as emotion, lip-sync, and an always-on-top avatar window.
Why use it?
It lets you turn spoken responses on or off, check their status, and choose an audio engine instead of handling those settings manually.

Skill for Claude Code

Written for Claude Code: installed under .claude/. Also seen: reads .claude/ paths; mentions Claude Code.

Good fit Use it to enable or disable voice output, inspect the current engine, switch engines, and control options such as emotion, lip-sync, and an always-on-top avatar window.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/masa-san-jp/agent-aiko/voice
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add masa-san-jp/Agent-Aiko --skill voice
Clone the repo
git clone --depth 1 https://github.com/masa-san-jp/Agent-Aiko

Made for: Claude Code.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for voice

README.md
[![agentmods](https://agentmods.dev/badge/skills/masa-san-jp/agent-aiko/voice/github.svg)](https://agentmods.dev/skills/masa-san-jp/agent-aiko/voice)
Your own site
<a href="https://agentmods.dev/skills/masa-san-jp/agent-aiko/voice"><img src="https://agentmods.dev/badge/skills/masa-san-jp/agent-aiko/voice/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for voice

Your own site · 80×15
<a href="https://agentmods.dev/skills/masa-san-jp/agent-aiko/voice"><img src="https://agentmods.dev/badge/skills/masa-san-jp/agent-aiko/voice.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 0 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,460 The whole file, excluding the scripts and references it only reads on demand.
Security scan B 1 finding. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00000 $0.01460
Opus 5 $0.00000 $0.00730
Sonnet 5 $0.00000 $0.00292
Haiku 4.5 $0.00000 $0.00146

Measured 9d ago against content hash 430c93f66ec1, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-09, from the pricing page.

Security

Grade B, and why

voice scanned grade B with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 9d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Reads agent configuration directoriesmediumAgent snooping

.claude/, .codex/, .gemini/ hold keys, settings and other credentials a mod has no legitimate need for.

1. `Bash: cat ~/.claude/voice/state 2>/dev/null || echo "off"`
claude-code/template/.claude/skills/voice/SKILL.md · 110 lines

How it starts

The opening of the file, as written. The whole thing — 110 lines — stays where its author put it; the contents beside it link to each section on GitHub.

/voice — 音声読み上げモード制御コマンド

概要

Claude Code の応答を TTS で読み上げる機能を制御する。 Aiko とは独立した汎用機能で、どの人格・エージェントからでも使える。

設定ファイルは ~/.claude/voice/ に置く(ユーザーレベル)。 Stop hook の登録は settings.jsonhooks.Stop で行う(初回セットアップ時のみ手動)。

コマンド仕様

コマンド 動作
/voice 状態確認(status と同義)
/voice on 音声モードON
/voice off 音声モードOFF
/voice status state と engine を報告
/voice feature 拡張機能フラグの一覧表示
/voice <name> on|off 拡張機能フラグを個別 ON/OFF
/voice <engine> エンジン切替

拡張機能フラグ名(<name>): always-on-top, emotion, lipsync, bubble エンジン名: say, auto, voicevox, irodori, avatar

各サブコマンドの実行手順

on

  1. Bash: mkdir -p ~/.claude/voice && echo "on" > ~/.claude/voice/state
  2. 「音声モードをオンにしました。」と応答する

off

  1. Bash: echo "off" > ~/.claude/voice/state
  2. 「音声モードをオフにしました。」と応答する

status / 引数なし

  1. Bash: cat ~/.claude/voice/state 2>/dev/null || echo "off"
  2. Bash: cat ~/.claude/voice/engine 2>/dev/null || echo "say"
  3. 現在の状態とエンジン名を報告する

feature(引数なし)

  1. ~/.claude/voice/features が存在しない場合はデフォルト値(全 on)で表示する
  2. 存在する場合は各行を読んで以下の 4 フラグを表示する:
    • always-on-top … アバターウィンドウが常に最前面に表示されるか
    • emotion … 感情表現(笑顔・困り顔など)を使うか
    • lipsync … 口パクアニメーションを使うか
    • bubble … セリフ吹き出しを表示するか
  3. ファイルに記載のないフラグは on(デフォルト) と表示する

<name> on|off(フラグ名が引数の場合)

引数が emotion, lipsync, bubble, always-on-top のどれかで、次の引数が on または off の場合にこの処理を行う。

  1. 以下の Python コードで ~/.claude/voice/features を書き換える(行がなければ末尾に追加):
    Bash: python3 -c "
    import pathlib, re, sys
    path = pathlib.Path.home() / '.claude/voice/features'
    path.parent.mkdir(parents=True, exist_ok=True)
    name, val = sys.argv[1], sys.argv[2]
    lines = path.read_text().splitlines() if path.exists() else []
    new_lines = [f'{name}={val}' if re.match(rf'^{re.escape(name)}=', l) else l for l in lines]
    if not any(re.match(rf'^{re.escape(name)}=', l) for l in lines):
        new_lines.append(f'{name}={val}')
    path.write_text('\n'.join(new_lines) + '\n')
    " <name> <on|off>
    
  2. <name>on/off にしました。次の発話から反映されます。」と応答する

Read the full file on GitHub · 110 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 9d ago First seen · 110 lines · 0 tokens per session scan B 430c93f66ec1

Subscribe to this mod's changes

voice is a skill published in the GitHub repository masa-san-jp/Agent-Aiko (3 stars, last pushed 1mo ago), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 1,460 tokens. A static security scan graded it B with 1 finding (reads agent configuration directories). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

hyperframes

Author HTML compositions that the rendervideo tool turns into deterministic MP4 video — animated charts and dashboards, data explainers, text/quote cards, kinetic typography, product teasers, and branded short-form social clips. Use when the user asks Brigade to make, render, animate, or produce a video from data…

spinabot/brigade · 87 tokens

video-frames

Extract frames or short clips from videos using ffmpeg.

spinabot/brigade · 15 tokens

tiktok_download

Single-file TikTok/Douyin video download and traffic metrics via TikHub API using only httpx; optional persisted raw API JSON plus a stdlib post-processor emitting CSV and simplified JSON. Supports one URL or concurrent batch (max 10 workers). No dependency on any project codebase.

inclusionAI/AWorld · 63 tokens

video-subtitles-and-audio-insert-workflow

Burn hard subtitles from UTF-8 SRT files using moviepy 2.x with CJK-capable system fonts; tune font size, placement, stroke, and encode settings (bitrate or CRF) to avoid oversized outputs. Documents ffprobe/ffmpeg workflows for inspection, encoding, and batch jobs; troubleshooting for fonts, bitrate, and pacing.…

inclusionAI/AWorld · 140 tokens

ad_video_create

Create ad-ready product video from product images, with or without character/subject images. The workflow leverages AI-powered image composition, scene understanding, and video generation. Video prompts should follow commercial shot language—visual hooks, product presence, hero shots, detail showcase, function…

inclusionAI/AWorld · 64 tokens

tikhub-xiaohongshu-search

Lightweight TikHub Xiaohongshu image-search workflow. Prioritizes single-request usage with curl or minimal Python, saves raw API JSON by default, and includes a small stdlib post-processor for CSV and simplified JSON. Use when the user wants Xiaohongshu keyword image search, page-based pagination, or structured…

inclusionAI/AWorld · 86 tokens