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.
npx skills add ouzlifaneyassine1-dot/onyx-engine --skill ambient-bedgit clone --depth 1 https://github.com/ouzlifaneyassine1-dot/onyx-engineWrote 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.
[](https://agentmods.dev/skills/ouzlifaneyassine1-dot/onyx-engine/ambient-bed)<a href="https://agentmods.dev/skills/ouzlifaneyassine1-dot/onyx-engine/ambient-bed"><img src="https://agentmods.dev/badge/skills/ouzlifaneyassine1-dot/onyx-engine/ambient-bed/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.
<a href="https://agentmods.dev/skills/ouzlifaneyassine1-dot/onyx-engine/ambient-bed"><img src="https://agentmods.dev/badge/skills/ouzlifaneyassine1-dot/onyx-engine/ambient-bed.svg" alt="Reviewed on agentmods" width="80" height="20"></a>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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00089 | $0.02996 |
| Opus 5 | $0.00044 | $0.01498 |
| Sonnet 5 | $0.00018 | $0.00599 |
| Haiku 4.5 | $0.00009 | $0.00300 |
Grade A, and why
ambient-bed scanned grade A with 0 findings 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 10d 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.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 279 lines — stays where its author put it; the contents beside it link to each section on GitHub.
/ambient-bed — Long Looping Location Ambience
Overview
An ambient bed is the air of a place. Forest at dawn, dungeon corridor, spaceship hum, market street, ocean cave. It plays at low energy under everything else — never melodic, never drawing attention, but its absence is immediately felt. Players don't notice an ambient bed; they notice the silence when you forget one.
This is not music. Use onyx_generate_audio({capability: 'sound_effects'}), not {capability: 'music'}. SFX renders textures; Music renders melody. You want texture.
Generated at 15–22 seconds (the SFX duration ceiling) and looped seamlessly with a Godot loop point and optional crossfade.
When to use
- Location bed for a level, room, biome, or zone.
- Background hum / drone under dialogue scenes.
- Atmosphere layer that complements a music track.
When NOT to use
- Short event SFX (<5s) →
audio/sound-effect. - Music with melody / chord progression →
audio/music-track. - Voice barks →
audio/voice-line.
Steps
1. Read the audio bible
Read .onyx/audio-bible.md
The bible's Ambient layer SFX class names the character — usually "continuous, low presence, no looping melody". Honor it. The mix rules sit ambient at the bus level the bible defined (typically Ambient bus around -12 dB).
2. Identify the location
Ask if it's not pinned by context:
Which location's ambience? Be specific — "forest at dawn with light wind and distant birds" beats "outdoors". The model needs the time of day, the weather, and 2–3 sound sources.
3. Build the prompt — environment + time + weather + 2–3 sources + density + duration
ElevenLabs SFX renders ambient textures well when the prompt names sources, not vibes.
Prompts that work:
forest at dawn, gentle wind through leaves, distant bird calls every 6 seconds,
soft creaking branches, no music, no human sound, 22s seamless loop
stone dungeon corridor, distant water drip, low rumble, faint draft, no music,
no creature sound, 22s seamless loop
spaceship corridor, low hum at 60Hz, occasional electronic chirp, ventilation
whoosh, no human voices, 22s seamless loop
medieval marketplace at noon, distant chatter, footsteps on stone, occasional
horse, distant blacksmith hammer, no recognisable words, 22s loop
ocean cave, slow waves entering, low rumble, water drip echoes, no seagulls,
22s seamless loop
night swamp, crickets, distant owl, slow water lapping, occasional frog,
22s seamless loop
abandoned office building, fluorescent hum, distant air conditioning, faint
paper rustle from a vent, no human sound, 22s loop
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.
- 10d ago First seen · 279 lines · 89 tokens per session scan A 720c82210cf5
ambient-bed is a skill published in the GitHub repository ouzlifaneyassine1-dot/onyx-engine (0 stars, last pushed 2mo ago), licensed MIT. It adds 89 tokens to every session and 2,996 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
metasounds
Create and modify MetaSound Source assets — add/connect nodes, wire pins, set input defaults, and play procedurally (MetaSoundService). Use when the user asks to create a MetaSound, build or edit a MetaSound graph, add operator/input/output nodes, or generate procedural audio.
voice-line
Use when generating TTS voice lines — NPC barks, narrator, dialogue. Covers where voice ids come from, a character-to-voice decision tree, stability/style/similarity guidance, and the multi-line dialogue case via texttodialogue. Trigger on "make a voice line", "narrator", "NPC says", "voice for the merchant", "TTS…
ambient-bed
Use when generating a long looping location ambience — forest at dawn, dungeon air, city street, spaceship hum, cave drip. Non-melodic, low-energy, never draws attention. Wires as a looping AudioStreamPlayer on the Ambient bus with a marked seamless loop. Trigger on "ambient bed", "room tone", "background ambience"…
audio-direction
Use when defining the sonic identity — music style, instruments, SFX vocabulary, dynamic music plan. Outputs an audio bible at .summer/audio-bible.md. Trigger on "audio direction", "audio bible", "music style", "sound design", "what should it sound like", "dynamic music".
music-track
Use when generating a looped or cinematic music track. Loops are authored at >=30s with a marked loop point; cinematic tracks at >=60s linear. Trigger on "generate music", "make a calm track", "boss music", "title screen music", "main theme", "exploration loop", "combat track".
sound-effect
Use when generating short SFX one-shots — footsteps, weapon swings, UI clicks, hit impacts, environmental cues. Wires the resulting clip as an AudioStreamPlayer / 2D / 3D and auto-frees on finished. Trigger on "make a sword swing sound", "generate a UI click", "I need a footstep", "add a hit sound", "spawn an SFX".