Agent skill

Audio And Sound

by autonomous-ai in autonomous-ai/openharness

A skill your agent uses when adding audio or sound to a Phaser 4 game.

MITAuto-check passed

Install Audio And Sound

skills CLI
$ npx skills add autonomous-ai/openharness --skill audio-and-sound -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install autonomous-ai/openharness audio-and-sound --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/autonomous-ai/openharness.git skills-src && mkdir -p .claude/skills && cp -r skills-src/store/agents/phaser/skills/audio-and-sound .claude/skills/audio-and-sound && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
audio-and-sound
GitHub stars
1.2k
Token cost
~4.9k tokens
SKILL.md length
1,541 words
Files
1
Skills in repo
100
Repo updated
First seen
Licence
MIT

At a glance

A skill your agent uses when adding audio or sound to a Phaser 4 game.

  • Works in 3 steps: If config.audio.noAudio is true, or the… → If the device supports Web Audio and… → Otherwise, an HTML5AudioSoundManager is…
  • Sound to a Phaser 4 game
  • SKILL.md covers Quick Start, Core Concepts, Common Patterns and Configuration Reference, plus 3 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Audio And Sound is an agent skill from autonomous-ai/openharness. Use this skill when adding audio or sound to a Phaser 4 game. Covers loading audio, playing sounds, music, volume, spatial audio, Web Audio API, and SoundManager. Triggers on: sound, audio, music, volume, mute.

Its SKILL.md is about 4.9k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

The repository describes itself as: The ultimate harness for coding agents and beyond. All your agents. All your machines. One command center. Start with code, then follow your curiosity and build across… The licence is MIT.

When your agent uses it

  • Sound to a Phaser 4 game

Example prompts

  • “/audio-and-sound”

Workflow steps

3 steps, taken from the first numbered list in SKILL.md.

  1. If config.audio.noAudio is true, or the device supports neither Web Audio nor HTML5 Audio, a NoAudioSoundManager is created (all calls are…
  2. If the device supports Web Audio and config.audio.disableWebAudio is not true, a WebAudioSoundManager is created (preferred).
  3. Otherwise, an HTML5AudioSoundManager is created as fallback.

What it can do on your machine

Read from SKILL.md and the folder at commit cc4983e. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are javascript).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Audio And Sound loads about 4.9k tokens when it runs. Until then it costs about 57 tokens; SKILL.md has 1,541 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~57
When it runs · the whole SKILL.md, loaded when a task matches
~4.9k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from autonomous-ai/openharness at commit cc4983e, republished under its MIT licence (© autonomous-ai). 1,541 words, ~4,868 tokens.

Download SKILL.mdSave it as .claude/skills/audio-and-sound/SKILL.md (or your agent's skills folder).
name
audio-and-sound
description
Use this skill when adding audio or sound to a Phaser 4 game. Covers loading audio, playing sounds, music, volume, spatial audio, Web Audio API, and SoundManager. Triggers on: sound, audio, music, volume, mute.

Audio and Sound

Phaser provides a unified Sound system via this.sound (a SoundManager) that abstracts over Web Audio API and HTML5 Audio. It handles loading, playback, volume, panning, looping, markers, audio sprites, spatial audio, and browser autoplay-policy unlocking.

Key source paths: src/sound/BaseSoundManager.js, src/sound/BaseSound.js, src/sound/webaudio/, src/sound/html5/, src/sound/SoundManagerCreator.js, src/sound/events/, src/sound/typedefs/ Related skills: ../loading-assets/SKILL.md, ../game-setup-and-config/SKILL.md

Quick Start

js
class GameScene extends Phaser.Scene {
    preload() {
        this.load.audio('bgm', 'assets/music.mp3');
        this.load.audio('coin', ['assets/coin.ogg', 'assets/coin.mp3']);
    }

    create() {
        // Fire-and-forget (auto-destroys when complete)
        this.sound.play('coin');

        // Retained reference for ongoing control
        this.music = this.sound.add('bgm', { loop: true, volume: 0.5 });
        this.music.play();
    }
}

Assets loaded via this.load.audio() in preload() are ready by the time create() runs. Provide an array of URLs for cross-browser format fallback.

Core Concepts

WebAudio vs HTML5 Audio

Phaser auto-selects the best backend via SoundManagerCreator.create():

  1. If config.audio.noAudio is true, or the device supports neither Web Audio nor HTML5 Audio, a NoAudioSoundManager is created (all calls are no-ops).
  2. If the device supports Web Audio and config.audio.disableWebAudio is not true, a WebAudioSoundManager is created (preferred).
  3. Otherwise, an HTML5AudioSoundManager is created as fallback.

WebAudio advantages: precise timing, gapless looping, stereo panning (StereoPannerNode), spatial audio (PannerNode), per-sound gain nodes, decodeAudio() for runtime decoding.

HTML5 Audio limitations: no spatial audio, no real stereo panning (pan fires events but no audible effect), less precise looping, requires instances count at load time for simultaneous playback.

Force HTML5 or disable audio via game config: audio: { disableWebAudio: true } or audio: { noAudio: true }. Pass audio: { context: existingAudioContext } to reuse a WebAudio context in SPAs.

The SoundManager (this.sound)

Accessed via this.sound in any Scene. It is a single shared instance across the entire game. Key responsibilities:

  • Adding, playing, and removing sound instances
  • Global volume, mute, rate, and detune
  • Automatic pause/resume when the browser tab loses/gains focus (pauseOnBlur, default true)
  • Audio unlock handling for mobile browsers
  • Spatial audio listener position (WebAudio only)
Sound Instances

Created via this.sound.add(key, config). Each instance has its own playback state, volume, rate, detune, loop, pan, and seek properties. A sound must exist in the audio cache (loaded via the Loader) before it can be added.

State flags: isPlaying (boolean), isPaused (boolean).

js
const sfx = this.sound.add('explosion', { volume: 0.8 });
sfx.play();        // returns boolean
sfx.pause();       // only works if isPlaying
sfx.resume();      // only works if isPaused
sfx.stop();        // resets to stopped state
sfx.destroy();     // marks for removal from manager

Common Patterns

Playing Sounds

Fire-and-forget -- this.sound.play(key, config?) adds, plays, and auto-destroys the sound on completion:

js
this.sound.play('explosion');
this.sound.play('powerup', { volume: 0.5, rate: 1.2 });

Retained reference -- this.sound.add(key, config?) then call play() on the instance:

js
const laser = this.sound.add('laser');
laser.play();
// Later: laser.stop(), laser.volume = 0.3, etc.
Volume, Rate, and Detune

Each property can be set per-sound or globally on the manager. Global and per-sound values combine (for rate/detune, they multiply via calculateRate()).

js
// Per-sound
sound.volume = 0.5;          // 0 to 1
sound.setVolume(0.5);        // chainable alternative
sound.rate = 1.5;            // 0.5 = half speed, 2.0 = double speed
sound.setRate(1.5);
sound.detune = 200;          // cents, -1200 to 1200
sound.setDetune(200);

// Global (affects all sounds)
this.sound.volume = 0.8;
this.sound.setVolume(0.8);
this.sound.rate = 1.0;
this.sound.setRate(1.0);
this.sound.detune = 0;
this.sound.setDetune(0);

The effective playback rate is: sound.rate * manager.rate * detuneRate where detuneRate = Math.pow(1.0005777895065548, sound.detune + manager.detune).

Looping
js
// Via config at creation
const bgm = this.sound.add('music', { loop: true });
bgm.play();

// Toggle during playback
bgm.loop = false;
bgm.setLoop(false);  // chainable

The LOOPED event fires each time the sound loops back to the start. The LOOP event fires when the loop property changes.

Seeking
js
sound.seek = 5.0;        // jump to 5 seconds in
sound.setSeek(5.0);      // chainable
console.log(sound.seek);  // current playback position in seconds

Setting seek on a stopped sound has no effect.

Stereo Panning
js
sound.pan = -1;   // full left
sound.pan = 0;    // center
sound.pan = 1;    // full right
sound.setPan(0.5); // chainable

Uses StereoPannerNode, if it exists, on WebAudio. On HTML5 Audio, the pan property fires events but has no audible effect.

Audio Sprites and Markers

Audio sprites combine multiple sounds into a single audio file with a JSON config (generated by the audiosprite tool). The JSON must be loaded separately.

js
// In preload
this.load.audioSprite('sfx', 'assets/sfx.json', ['assets/sfx.ogg', 'assets/sfx.mp3']);

// In create
this.sound.playAudioSprite('sfx', 'explosion');
this.sound.playAudioSprite('sfx', 'coin', { volume: 0.5 });

// Or add for retained control
const sprite = this.sound.addAudioSprite('sfx');
sprite.play('explosion');

The JSON spritemap entries are automatically converted to markers with name, start, duration, and optional loop.

Manual markers -- you can also add markers to any sound:

js
const sound = this.sound.add('longtrack');

sound.addMarker({ name: 'intro', start: 0, duration: 5 });
sound.addMarker({ name: 'loop', start: 5, duration: 20, config: { loop: true } });
sound.addMarker({ name: 'outro', start: 25, duration: 3 });

sound.play('intro');
// Later
sound.play('loop');

Marker API on BaseSound: addMarker(marker), updateMarker(marker), removeMarker(markerName).

Background Music Pattern
js
this.bgm = this.sound.add('theme', { loop: true, volume: 0.4 });
this.bgm.play();
// Stop on scene shutdown: this.bgm.stop();

The manager's pauseOnBlur (default true) automatically pauses all sounds when the tab loses focus.

Spatial Audio (WebAudio Only)

Spatial audio uses the Web Audio PannerNode to position sounds in 2D/3D space relative to a listener.

js
// Set the listener position (typically your camera or player)
this.sound.setListenerPosition(400, 300);
// Or update directly: this.sound.listenerPosition.set(x, y);

// Create a spatialized sound with a source config
const enemy = this.sound.add('roar', {
    source: {
        x: 800,
        y: 300,
        refDistance: 50,
        maxDistance: 2000,
        rolloffFactor: 1,
        distanceModel: 'inverse',
        panningModel: 'equalpower',
        follow: enemySprite  // auto-track a Game Object's x/y
    }
});
enemy.play();

You can set sound.x and sound.y directly on a WebAudioSound to reposition it at any time. If follow is set to an object with x/y properties, the spatial position updates automatically each frame.

setListenerPosition() defaults to the center of the game canvas if called with no arguments.

Muting
js
// Per-sound
sound.mute = true;
sound.setMute(true);

// Global
this.sound.mute = true;
this.sound.setMute(true);
Querying Sounds
js
this.sound.get('coin');          // first sound with key, or null
this.sound.getAll('coin');       // all sounds with key
this.sound.getAll();             // every sound in the manager
this.sound.getAllPlaying();      // all currently playing sounds
this.sound.isPlaying('coin');    // true if any 'coin' sound is playing
this.sound.isPlaying();          // true if any sound is playing
Removing and Stopping
js
this.sound.stopAll();            // stop all sounds, fires STOP_ALL
this.sound.stopByKey('coin');    // stop all sounds with key, returns count
this.sound.pauseAll();           // pause all, fires PAUSE_ALL
this.sound.resumeAll();          // resume all, fires RESUME_ALL

this.sound.remove(soundInstance);  // destroy + remove specific sound
this.sound.removeByKey('coin');    // destroy + remove all with key, returns count
this.sound.removeAll();            // destroy + remove everything
Decoding Audio at Runtime (WebAudio Only)
js
this.sound.decodeAudio('key', base64StringOrArrayBuffer);
// Or batch: this.sound.decodeAudio([{ key: 'sfx1', data: buf1 }, { key: 'sfx2', data: buf2 }]);
this.sound.on('decoded', (key) => { /* one done */ });
this.sound.on('decodedall', () => { /* all done */ });

Configuration Reference

SoundConfig
PropertyTypeDefaultDescription
mutebooleanfalseWhether the sound is muted
volumenumber1Volume, 0 (silence) to 1 (full)
ratenumber1Playback speed (0.5 = half, 2.0 = double)
detunenumber0Detuning in cents (-1200 to 1200)
seeknumber0Start playback position in seconds
loopbooleanfalseWhether the sound should loop
delaynumber0Delay before playback starts, in seconds
pannumber0Stereo pan, -1 (left) to 1 (right)
sourceSpatialSoundConfignullSpatial audio configuration (WebAudio only)
SpatialSoundConfig

Position: x (0), y (0), z (0) -- source position in world space. Orientation: orientationX (0), orientationY (0), orientationZ (-1) -- source direction vector. Models: panningModel ('equalpower' or 'HRTF'), distanceModel ('linear', 'inverse', 'exponential'). Distance: refDistance (1), maxDistance (10000), rolloffFactor (1). Cone: coneInnerAngle (360), coneOuterAngle (0), coneOuterGain (0). Tracking: follow (null) -- a Vector2Like object whose x/y is auto-tracked each frame.

SoundMarker
PropertyTypeDefaultDescription
namestring(required)Unique identifier for the marker
startnumber0Start position in seconds
durationnumber(remaining)Playback duration in seconds
configSoundConfig{}Default settings for this marker

Events

Sound Instance Events (emitted on a Sound object)
Event ConstantString ValueCallback ArgsWhen
Events.PLAY'play'(sound)Sound starts playing
Events.PAUSE'pause'(sound)Sound is paused
Events.RESUME'resume'(sound)Sound resumes from pause
Events.STOP'stop'(sound)Sound is stopped
Events.COMPLETE'complete'(sound)Sound finishes (non-looping)
Events.LOOPED'looped'(sound)Sound loops back to start
Events.LOOP'loop'(sound, value)Loop property changes
Events.MUTE'mute'(sound, value)Mute state changes
Events.VOLUME'volume'(sound, value)Volume changes
Events.RATE'rate'(sound, value)Rate changes
Events.DETUNE'detune'(sound, value)Detune changes
Events.SEEK'seek'(sound, value)Seek position changes
Events.PAN'pan'(sound, value)Pan value changes
Events.DESTROY'destroy'(sound)Sound is destroyed
SoundManager Events (emitted on this.sound)
Event ConstantString ValueCallback ArgsWhen
Events.PAUSE_ALL'pauseall'(manager)pauseAll() called
Events.RESUME_ALL'resumeall'(manager)resumeAll() called
Events.STOP_ALL'stopall'(manager)stopAll() called
Events.GLOBAL_MUTE'globalmute'(manager, value)Global mute changes
Events.GLOBAL_VOLUME'globalvolume'(manager, value)Global volume changes
Events.GLOBAL_RATE'globalrate'(manager, value)Global rate changes
Events.GLOBAL_DETUNE'globaldetune'(manager, value)Global detune changes
Events.UNLOCKED'unlocked'(manager)Audio system unlocked after user interaction
Events.DECODED'decoded'(key)Single audio key decoded (WebAudio)
Events.DECODED_ALL'decodedall'()All queued audio decoded (WebAudio)
js
// Example: listen for completion
const sfx = this.sound.add('bang');
sfx.on('complete', (sound) => {
    console.log(sound.key, 'finished');
});
sfx.play();
Show full SKILL.md (589 more words)Show less

API Quick Reference

BaseSoundManager (this.sound)

Methods: add(key, config?), addAudioSprite(key, config?), play(key, extra?), playAudioSprite(key, spriteName, config?), get(key), getAll(key?), getAllPlaying(), isPlaying(key?), remove(sound), removeByKey(key), removeAll(), stopAll(), stopByKey(key), pauseAll(), resumeAll(), setListenerPosition(x?, y?), setMute(value), setVolume(value), setRate(value), setDetune(value).

Properties: volume (0-1), mute (boolean), rate (number), detune (-1200 to 1200), pauseOnBlur (boolean, default true), locked (boolean, read-only), listenerPosition (Vector2), sounds (array, private).

BaseSound (sound instance)

Methods: play(markerName?, config?), pause(), resume(), stop(), destroy(), addMarker(marker), updateMarker(marker), removeMarker(name), setMute(value), setVolume(value), setRate(value), setDetune(value), setSeek(value), setLoop(value), setPan(value).

Properties: volume (0-1), mute (boolean), rate (number), detune (number), seek (seconds), loop (boolean), pan (-1 to 1), isPlaying (read-only), isPaused (read-only), duration (seconds), totalDuration (seconds), key (string), x / y (spatial position, WebAudio only).

All set* methods return this for chaining.

Gotchas

Browser Autoplay Policy

Browsers block audio until user interaction. Phaser handles this automatically:

  • WebAudio: AudioContext starts suspended. Phaser listens for touchstart/touchend/mousedown/mouseup/keydown on document.body to call context.resume(). The locked property is true until unlocked; UNLOCKED event fires once resolved.
  • HTML5 Audio: Locked audio tags queue all actions until the first touch replays them.

You do not need to handle unlocking manually. To know when ready, listen for UNLOCKED:

js
if (this.sound.locked) {
    this.sound.once('unlocked', () => {
        this.sound.play('bgm');
    });
} else {
    this.sound.play('bgm');
}
Audio Format Support

No single format works everywhere. Provide multiple formats: this.load.audio('bgm', ['assets/bgm.ogg', 'assets/bgm.mp3']). MP3 has broadest support. OGG Vorbis lacks Safari support. AAC/M4A works well on Safari/iOS. WebM/Opus has excellent quality but limited older browser support.

HTML5 Audio Simultaneous Playback

HTML5 Audio uses a pool of <audio> tags. Specify instances when loading for simultaneous playback: this.load.audio('shot', 'assets/shot.mp3', { instances: 4 }). Default is 1. If all tags are in use and manager.override is true (default), the sound with the most progress is hijacked. WebAudio has no such limitation.

iOS/Safari Specifics
  • StereoPannerNode not supported on iOS/Safari, so pan has no audible effect (events still fire).
  • iOS 17/18+ can interrupt audio on background. Phaser handles this via context.suspend()/context.resume() on the VISIBLE game event.
  • setListenerPosition() and spatial audio are WebAudio-only.
WebAudio Context Reuse

For SPAs that recreate the game without a full page reload, pass audio: { context: existingAudioContext } in the game config. You can also swap contexts at runtime via this.sound.setAudioContext(newContext) (WebAudio only).

Sound Manager is Shared (Global)

There is one SoundManager per game, not per scene. this.sound in every scene references the same manager. Sounds are not automatically cleaned up on scene shutdown -- you must stop/remove them yourself if needed. Looping sounds will continue playing across scene changes unless explicitly stopped.

Fire-and-Forget vs Persistent Sounds

this.sound.play(key) creates a sound that auto-destroys on completion -- you cannot control it after calling play. Use this.sound.add(key) when you need a persistent reference to pause, stop, adjust volume, or listen for events.

Spatial Audio is WebAudio Only

The source config for spatial audio is silently ignored when using HTML5 Audio. If your game must support HTML5 Audio fallback, do not rely on spatial positioning for gameplay-critical audio cues.

Web Audio Analyser (WebAudio Only)

Access the underlying AudioContext to create an AnalyserNode for frequency/waveform visualization:

js
const analyser = this.sound.context.createAnalyser();
analyser.fftSize = 256;
this.sound.masterVolumeNode.connect(analyser);
analyser.connect(this.sound.context.destination);

const dataArray = new Uint8Array(analyser.frequencyBinCount);

// In update loop
analyser.getByteFrequencyData(dataArray);
// Use dataArray values to drive visual effects

This only works with the WebAudioSoundManager. Check this.sound.context exists before using.

Source File Map

FilePurpose
src/sound/SoundManagerCreator.jsFactory: picks WebAudio, HTML5, or NoAudio manager
src/sound/BaseSoundManager.jsBase manager: add, play, get, stop/pause/resume all, global volume/rate/detune
src/sound/BaseSound.jsBase sound: play/pause/resume/stop, markers, config, calculateRate
src/sound/webaudio/WebAudioSoundManager.jsWebAudio manager: AudioContext, gain nodes, unlock, spatial listener, decodeAudio
src/sound/webaudio/WebAudioSound.jsWebAudio sound: buffer sources, spatial/panner nodes, seek, all properties
src/sound/html5/HTML5AudioSoundManager.jsHTML5 manager: audio tag pooling, locked queue, override
src/sound/html5/HTML5AudioSound.jsHTML5 sound: tag-based playback, limited feature set
src/sound/noaudio/NoAudioSoundManager.jsNo-op manager for environments without audio
src/sound/events/All sound event constants (PLAY, STOP, COMPLETE, etc.)
src/sound/typedefs/SoundConfig.jsSoundConfig type definition
src/sound/typedefs/SoundMarker.jsSoundMarker type definition
src/sound/typedefs/SpatialSoundConfig.jsSpatialSoundConfig type definition
src/sound/typedefs/AudioSpriteSound.jsAudioSpriteSound type definition

© autonomous-ai, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in store/agents/phaser/skills/audio-and-sound of autonomous-ai/openharness.

Open the folder on GitHubat commit cc4983e

Compare with similar skills

Audio And Sound next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Audio And Sound compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Audio And Sound this skillautonomous-ai/openharness1.2k—~4.9kAutomated safety check: PassMIT
HyperFrames Audioheygen-com/hyperframes60k1 repos~6.5kAutomated safety check: PassApache-2.0
Soundhashgraph-online/awesome-codex-plugins1.3k—~2.4kAutomated safety check: PassApache-2.0
Team AudioDonchitos/Claude-Code-Game-Studios26k—~4.4kAutomated safety check: NotesMIT
Audio Descriptionsthedaviddias/Front-End-Checklist74k—~549Automated safety check: PassMIT
Venice Audio Musicnexu-io/open-design100k—~297Automated safety check: PassApache-2.0

Similar skills

  • HyperFrames Audio

    heygen-com/hyperframes

    Mixes audio already placed in a HyperFrames composition: fades, gain, ducking under a voiceover, effect chains, automation and shared submix buses.

    60k GitHub starsUsed in 1 repo~6.5k tokens
    Media & CreativeAuto-check passed
  • Sound

    hashgraph-online/awesome-codex-plugins

    Make a game's sound effects and synthesized music on the creator's own computer, free, with no provider or account — a set of effects (jump, coin, hit, explosion, win, lose, UI) rendered from…

    1.3k GitHub stars~2.4k tokensUpdated yesterday
    Game DevelopmentAuto-check passed
  • Team Audio

    Donchitos/Claude-Code-Game-Studios

    Orchestrate the audio team — audio-director, sound-designer, technical-artist, gameplay-programmer — direction through implementation.

    26k GitHub stars~4.4k tokensUpdated 3 days ago
    Game DevelopmentAuto-check: notes
  • Audio Descriptions

    thedaviddias/Front-End-Checklist

    A skill your agent uses when reviewing rendered HTML, interactive components, or design-system patterns related to Provide audio descriptions for video.

    74k GitHub stars~549 tokensUpdated 5 days ago
    Frontend & DesignAuto-check passed
  • Venice Audio Music

    nexu-io/open-design

    Music generation queueing, retrieval, and completion endpoints via Venice.ai.

    100k GitHub stars~297 tokensUpdated yesterday
    Media & CreativeAuto-check passed
  • Seedance 2.0 Audio Direction

    Emily2040/seedance-2.0

    Covers dialogue, lip-sync, music, sound effects, ambience and beat-sync for Seedance 2.0 prompts, plus troubleshooting for audio that drifts out of sync.

    7.6k GitHub starsUsed in 1 repo~1.3k tokens
    Media & CreativeAuto-check passed

More from autonomous-ai/openharness

All 83 skills in this repo
  • G-code Slicer Tool

    autonomous-ai/openharness

    Slices 3D mesh files into printer-profiled plain G-code through real slicer CLIs, with backend discovery, input inspection, dry runs and static validation.

    1.2k GitHub stars~1.5k tokensUpdated today
    Auto-check passed
  • Home Assistant Automation Builder

    autonomous-ai/openharness

    Turns a home-automation request into standard, testable automations.yaml, run against Home Assistant Core's real triggers and verified with its own trace tool.

    1.2k GitHub stars~1.2k tokensUpdated today
    Auto-check passed
  • Score Music Composer

    autonomous-ai/openharness

    Turns a musical brief into LilyPond concert-pitch music, checked parts for each instrument and a playable practice pack.

    1.2k GitHub stars~1.1k tokensUpdated today
    Auto-check passed
  • OrcaSlicer 3MF and G-code Workflow

    autonomous-ai/openharness

    Turns an STL and explicit printer and material requirements into compared OrcaSlicer plans, an editable 3MF project, checked G-code and a portable handoff.

    1.2k GitHub stars~1.5k tokensUpdated today
    Auto-check passed
  • Sheets and Docs Report Builder

    autonomous-ai/openharness

    Builds an editable DOCX report, a formula-driven XLSX workbook and a fresh LibreOffice PDF preview from one structured source file, then checks them together.

    1.2k GitHub stars~708 tokensUpdated today
    Auto-check passed
  • Bambu Labs

    autonomous-ai/openharness

    Dry-run, upload, and cautiously initiate local Bambu Lab print jobs from validated plain .gcode, using Bambu LAN FTPS/MQTT handoffs.

    1.2k GitHub starsUsed in 1 repo~2.1k tokens
    Auto-check: warnings

Questions about Audio And Sound

What does Audio And Sound do?

A skill your agent uses when adding audio or sound to a Phaser 4 game. Audio And Sound is an agent skill from autonomous-ai/openharness. Use this skill when adding audio or sound to a Phaser 4 game.

When should I use Audio And Sound?

Audio And Sound fits situations like: sound to a Phaser 4 game.

How do I install Audio And Sound in Claude Code?

Run `npx skills add autonomous-ai/openharness --skill audio-and-sound -a claude-code`. Or copy the skill folder (store/agents/phaser/skills/audio-and-sound in autonomous-ai/openharness) into .claude/skills/audio-and-sound in your project. Claude Code loads it when a task matches its description.

How do I install Audio And Sound in Codex?

Run `npx skills add autonomous-ai/openharness --skill audio-and-sound -a codex`. Or copy the skill folder (store/agents/phaser/skills/audio-and-sound in autonomous-ai/openharness) into .agents/skills/audio-and-sound in your project. Codex loads it when a task matches its description.

Can I use Audio And Sound in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add autonomous-ai/openharness --skill audio-and-sound -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/audio-and-sound, .gemini/skills/audio-and-sound, .github/skills/audio-and-sound and .opencode/skills/audio-and-sound in your project.

What does Audio And Sound need to run?

SKILL.md names no scripts, command-line tools or credentials: Audio And Sound is instructions for the agent only.

Does Audio And Sound access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Audio And Sound safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Audio And Sound use?

Audio And Sound is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Audio And Sound use?

About 4.9k tokens (SKILL.md is roughly 19k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Audio And Sound?

Skills that share tags, products or a category with Audio And Sound: HyperFrames Audio (heygen-com/hyperframes, 60k stars), Sound (hashgraph-online/awesome-codex-plugins, 1.3k stars), Team Audio (Donchitos/Claude-Code-Game-Studios, 26k stars) and Audio Descriptions (thedaviddias/Front-End-Checklist, 74k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Audio And Sound?

autonomous-ai (a GitHub organization) maintains it in autonomous-ai/openharness, which has 1,210 GitHub stars. The repository holds 100 skills in this directory. The repository was last updated on October 10, 2026.

Source: autonomous-ai/openharness on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.