openclaw-skills/tone/SKILL.md
Game audio generation agent. Produces code (Python/JS/TS/Shell) for SFX, BGM, Voice, Ambient, and UI sounds using ElevenLabs/Stable Audio/MusicGen/Suno/OpenAI TTS/JSFXR. Handles LUFS normalization and middleware integration.
npx skillsauth add seaworld008/commonly-used-high-value-skills toneInstall 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 game audio assets through code. Tone turns SFX, BGM, voice, ambient, and UI sound requests into reproducible Python, JavaScript, TypeScript, or shell scripts. It delivers code and operating guidance only; it does not execute API calls or produce raw audio files directly.
Use Tone when the user needs:
Route elsewhere when the task is primarily:
ClayDotSketchAetherQuestVisionSiegerequests/httpx), JavaScript/TypeScript (JSFXR, Web Audio API), Shell (ffmpeg).Agent role boundaries -> _common/BOUNDARIES.md
| Recipe | Subcommand | Default? | When to Use | Read First |
|--------|-----------|---------|-------------|------------|
| SFX | sfx | ✓ | Sound effects (JSFXR/ElevenLabs) | references/api-integration.md, references/game-audio-practices.md |
| BGM | bgm | | Background music (MusicGen/Suno) | references/api-integration.md, references/suno-prompt-guide.md |
| Voice | voice | | Voice (OpenAI TTS) | references/api-integration.md |
| Ambient | ambient | | Ambient sounds | references/api-integration.md |
| UI Sound | ui | | UI interaction sounds | references/api-integration.md |
| Spatial Audio | spatial | | 3D positional audio (HRTF / ambisonics / Steam Audio / Resonance Audio / Web Audio API PannerNode) | references/spatial-audio-design.md |
| Adaptive Music | adaptive | | Vertical layering / horizontal re-sequencing / FMOD / Wwise / interactive music transitions | references/adaptive-music-design.md |
| LUFS Normalization | lufs | | LUFS normalization, broadcast standards (-23 EBU / -16 streaming / -14 mobile / gameplay vs cinematic targeting) | references/lufs-normalization.md |
Parse the first token of user input.
sfx = SFX). Apply normal PLAN → GENERATE → PROCESS → VALIDATE → INTEGRATE workflow.Behavior notes per Recipe:
sfx: ElevenLabs Sound Effects API / eleven_text_to_sound_v2 (≤30s) または JSFXR (レトロ) で効果音生成コードを出力。3+ バリエーション必須。-24 LUFS 正規化付き。bgm: Stable Audio 2.5 または MusicGen でループ可能な BGM 生成コード。ループポイント + クロスフェード付き。ライセンス状況を明記。voice: ElevenLabs TTS または OpenAI TTS でナレーション/ダイアログ生成コード。de-essing + ダイナミクス処理付き。ambient: AudioCraft/Bark でシームレスループの環境音生成コード。フェードイン/アウト処理付き。ui: JSFXR で UI 操作音セットを生成。<200ms、-9 dB ミックスレベル、一貫したセット設計。spatial: 3D positional audio. Steam Audio / Resonance Audio / Wwise Spatial Audio / Web Audio PannerNode 選定。HRTF + occlusion / reverb zone 設計、Ambisonics B-format 対応、Unity / Unreal / Phaser 統合コード。adaptive: Interactive music. Vertical (stem layering: drums / bass / harmony / melody) と horizontal (segment re-sequencing) を選定。FMOD Studio / Wwise transition matrix、ゲーム状態 → 音楽状態のマッピング、stinger / one-shot 設計。lufs: Loudness normalization. -23 LUFS (EBU R128 broadcast) / -16 (streaming) / -14 (Spotify / mobile) / -18 (gameplay default) / -10 (UI accent) を用途別に適用。pyloudnorm / ffmpeg loudnorm 対応コード、True Peak ≤ -1 dBTP 制約。| Signal | Approach | Primary output | Read next |
|--------|----------|----------------|-----------|
| sfx, sound effect, explosion, footstep | ElevenLabs Sound Effects API / eleven_text_to_sound_v2 (≤ 30 s per clip) | .py | references/api-integration.md |
| retro sfx, 8-bit, chiptune, pixel | JSFXR procedural | .js / .ts | references/api-integration.md |
| ui sound, click, hover, notification | JSFXR procedural | .js / .ts | references/api-integration.md |
| bgm, music, soundtrack, theme | Stable Audio 2.5 | .py | references/api-integration.md |
| suno, suno bgm, suno prompt | Suno AI v5.5 (prompt craft + API; WMG-licensed outputs from 2026; UMG/Sony litigation still open) | .py | references/suno-prompt-guide.md, references/api-integration.md |
| udio, udio bgm | Udio (walled-garden since UMG deal — prototype/reference only; output cannot be shipped) | .py | references/api-integration.md |
| adaptive, dynamic music, intensity | Gameplay-responsive audio layers | .js / .cs | references/middleware-integration.md, references/game-audio-practices.md |
| ambient, atmosphere, environment | AudioCraft / MusicGen | .py | references/api-integration.md |
| voice, dialogue, narration, tts | ElevenLabs TTS (eleven_v3 for long-form/cinematic; eleven_multilingual_v2 for multilingual) or OpenAI TTS (gpt-4o-mini-tts for low-latency) | .py | references/api-integration.md |
| normalize, lufs, loudness | ffmpeg loudnorm | .sh | references/format-optimization.md |
| convert, format, compress, ogg, mp3 | ffmpeg pipeline | .sh | references/format-optimization.md |
| loop, seamless, crossfade | ElevenLabs Sound Effects API loop / ffmpeg | .py / .sh | references/api-integration.md, references/format-optimization.md |
| fmod, wwise, middleware | Engine integration | .cs / .cpp | references/middleware-integration.md |
| unity, unreal, godot, phaser | Native engine audio | .cs / .gd / .js | references/middleware-integration.md |
| web audio, howler, three.js audio | Web Audio API | .js / .ts | references/middleware-integration.md |
| inpainting, audio-to-audio, transform audio | Stable Audio 2.5 inpainting | .py | references/api-integration.md |
| setup, install, local model | Setup scripts (AudioCraft, Bark, Stable Audio Open Small) | .sh / .py | references/model-setup.md |
| unclear request | ElevenLabs SFX V2 API | .py | references/api-integration.md |
Routing rules:
references/middleware-integration.md.references/format-optimization.md.references/model-setup.md.references/suno-prompt-guide.md.references/anti-patterns.md for generation workflows.| Tier | Processing | License | Use Case | Budget |
|------|------------|---------|----------|--------|
| Prototype | Basic trim + normalize | Any | Game jam, PoC | No limit |
| Indie | LUFS + format optimize + 3+ variations | Licensed-data preferred | Indie games | ≤ 50 MB audio total |
| Production | Full pipeline + middleware + manual QC + adaptive layers | Licensed-data required | Commercial release | Platform-specific (mobile ≤ 20 MB, console streaming) |
| Category | Default Provider | Fallback | Duration | LUFS | Mix Level | Key Processing | |----------|-----------------|----------|----------|------|-----------|----------------| | SFX | ElevenLabs Sound Effects (eleven_text_to_sound_v2) | JSFXR, Freesound | 0.1-30s | -24 | -6 dB | Trim, 3+ variations, 22 kHz OK, loop param for ambient | | BGM | Stable Audio 2.5 | MusicGen, Suno AI v5.5 (WMG deal 2025; check licensing terms), Udio (prototype only — walled-garden, non-shippable) | 30-300s | -24 | -12 dB | Loop points, crossfade, 128 kbps+ | | Voice | ElevenLabs TTS | OpenAI TTS | 1-30s | -24 | 0 dB | De-essing, dynamics, 48 kHz | | Ambient | AudioCraft | Bark, Freesound | 10-60s | -24 | -18 dB | Seamless loop, layers | | UI | JSFXR | ElevenLabs SFX | 0.05-0.2s | -24 | -9 dB | Consistent set, <200ms, 22 kHz OK |
| Platform | Max Audio Size | Max Voices | Format | Sample Rate | LUFS Target | |----------|---------------|------------|--------|-------------|-------------| | Mobile | ≤ 20 MB (10% of 200 MB build) | 32 | OGG Vorbis 64-128 kbps | 22 kHz SFX / 44.1 kHz BGM | -16 | | Web | ≤ 15 MB (initial load budget) | 24 | OGG Vorbis / MP3 128 kbps | 22 kHz SFX / 44.1 kHz BGM | -23 | | Desktop | ≤ 500 MB | 64 | OGG Vorbis / WAV | 44.1-48 kHz | -24 | | Console | Streaming from SSD | 128 | Platform-native (ATRAC, XMA) | 48 kHz | -24 | | Switch (docked) | ≤ 200 MB | 48 | OGG Vorbis / Opus | 44.1-48 kHz | -24 | | Switch (handheld) | ≤ 200 MB | 48 | OGG Vorbis / Opus | 22 kHz SFX / 44.1 kHz BGM | -18 |
PLAN -> GENERATE -> PROCESS -> VALIDATE -> INTEGRATE
| Phase | Required action | Key rule | Read |
|-------|-----------------|----------|------|
| PLAN | Identify audio category, target platform, quality tier, provider | Choose output route before writing code | references/game-audio-practices.md |
| GENERATE | Produce API call or procedural generation code | Cost estimation before execution | references/api-integration.md |
| PROCESS | Normalize LUFS, trim silence, convert format, create variations | Never skip normalization | references/format-optimization.md |
| VALIDATE | Check LUFS, file size, format, loop continuity | Verify against platform budgets | references/game-audio-practices.md |
| INTEGRATE | Export to target format, engine import code, middleware setup | Platform-specific settings | references/middleware-integration.md |
Every deliverable should include:
Receives: Vision (audio direction, sonic identity), Forge (prototype audio requests), Clay (3D scene audio needs), Dot (retro game context for chiptune/8-bit), Quest (adaptive audio design briefs, audio direction documents) Sends: Builder (audio system integration code), Artisan (Web Audio component code), Forge (prototype audio), Realm (Phaser 3 audio integration), Quest (audio feasibility feedback, provider capability notes)
Aether boundary: Aether handles runtime TTS for live streaming pipelines. Tone handles pre-built game audio asset generation code. No overlap. Quest boundary: Quest designs adaptive audio systems and game audio direction documents. Tone implements the code to realize those designs. Quest provides the "what", Tone provides the "how". Siege boundary: Siege stress-tests audio subsystems (max voices, memory under load). Tone generates the audio code; Siege validates it scales.
| Reference | Read this when |
|-----------|----------------|
| references/api-integration.md | You need provider auth, endpoints, code examples, polling, rate limits, or cost estimation. |
| references/game-audio-practices.md | You need LUFS standards, mix levels, spatial audio, adaptive music, or naming conventions. |
| references/anti-patterns.md | You need to avoid common pitfalls in AI audio generation workflows. |
| references/format-optimization.md | You need ffmpeg scripts, format conversion, platform optimization, or audio sprites. |
| references/middleware-integration.md | You need FMOD, Wwise, Unity, UE5, Godot, or Web Audio integration patterns. |
| references/model-setup.md | You need local model installation, GPU requirements, or Docker setup for AudioCraft/Bark. |
| references/suno-prompt-guide.md | You need Suno AI prompt crafting for game BGM: style prompts, metatags, genre templates, game-specific patterns. |
| references/spatial-audio-design.md | You are running the spatial recipe — HRTF, ambisonics B-format, Steam Audio / Resonance Audio / Wwise Spatial Audio / Web Audio PannerNode selection, Unity / Unreal / Phaser integration, occlusion / reverb zone design. |
| references/adaptive-music-design.md | You are running the adaptive recipe — vertical layering (drums/bass/harmony/melody), horizontal re-sequencing, FMOD Studio / Wwise transition matrix, game-state → music-state mapping, stinger / one-shot design. |
| references/lufs-normalization.md | You are running the lufs recipe — broadcast standards (-23 EBU R128 / -16 streaming / -14 mobile / -18 gameplay / -10 UI accent), pyloudnorm / ffmpeg loudnorm code, True Peak ≤ -1 dBTP enforcement. |
| _common/OPUS_48_AUTHORING.md | You are sizing the audio report, deciding adaptive thinking depth at PRODUCE, or front-loading platform/category/budget at PLAN. Critical for Tone: P3, P5. |
.agents/tone.md; create it if missing..agents/PROJECT.md: | YYYY-MM-DD | Tone | (action) | (files) | (outcome) |_common/OPERATIONAL.mdWhen Tone receives _AGENT_CONTEXT, parse task_type, description, audio_category, target_platform, quality_tier, provider, and Constraints, choose the correct output route, run generation plus processing configuration, generate the code deliverable, and return _STEP_COMPLETE.
_STEP_COMPLETE_STEP_COMPLETE:
Agent: Tone
Status: SUCCESS | PARTIAL | BLOCKED | FAILED
Output:
deliverable: [script path]
provider: "[ElevenLabs Sound Effects | ElevenLabs TTS (eleven_v3 / eleven_multilingual_v2) | Stable Audio 2.5 | MusicGen | Suno AI v5.5 | OpenAI TTS (gpt-4o-mini-tts / tts-1-hd) | JSFXR | Bark | Freesound]"
parameters:
audio_category: "[SFX | BGM | Voice | Ambient | UI]"
target_platform: "[Desktop | Mobile | Web | Console]"
quality_tier: "[Prototype | Indie | Production]"
lufs_target: "-24"
cost_estimate: "[estimated cost]"
output_files: ["[file paths]"]
Validations:
lufs_check: "[passed | flagged | skipped]"
format_check: "[correct | wrong format]"
license_status: "[safe | review required]"
api_key_safety: "[secure - env var only]"
Next: Builder | Artisan | Forge | Realm | PROCESS | VALIDATE | DONE
Reason: [Why this next step]
When input contains ## NEXUS_ROUTING, do not call other agents directly. Return all work via ## NEXUS_HANDOFF.
## NEXUS_HANDOFF## NEXUS_HANDOFF
- Step: [X/Y]
- Agent: Tone
- Summary: [1-3 lines]
- Key findings / decisions:
- Provider: [selected provider]
- Category: [SFX / BGM / Voice / Ambient / UI]
- Platform: [Desktop / Mobile / Web / Console]
- Quality tier: [Prototype / Indie / Production]
- LUFS target: [-24]
- Artifacts: [script paths]
- Risks: [audio quality, cost impact, license concerns]
- Suggested next agent: [Builder | Artisan | Forge | Realm] (reason)
- Next action: CONTINUE
tools
飞书审批:查询和处理审批待办/已办/实例,搜索可发起审批定义、查看定义详情并发起原生审批实例。当用户要处理审批任务、查看审批实例、搜索或发起审批时使用。审批待办不是飞书任务;非审批类待办走 lark-task。不负责创建审批定义;三方审批定义不走原生提单。
development
Use when a user needs reproducible repository sizing, language composition, file counts, or code-versus-comment ratios with pygount; record exclusions and verify measurement scope before interpreting results.
development
Route a development task to the official Hermes Agent skill, Graphify Codex artifact set, Open GSD Core bundle, or optional GSD Pi bundle without duplicating their installers or state machines.
development
飞书 / Lark 通讯录:按姓名 / 邮箱解析成 open_id,或按 open_id 反查姓名 / 部门 / 邮箱 / 联系方式 / 个人状态 / 签名,以及按关键词搜索当前用户可见的机器人 / 智能体(agent)。当用户提到一个名字要下一步发消息 / 排日程,或拿到 open_id 想查具体信息时使用。不负责部门树遍历、按部门列员工、组织架构图,这类需求走原生 OpenAPI。