From acs-skills
Generate an ACS @sound block from a natural-language prompt, an audio file, or both. Use when the user says "create a sound", "/create-acs-sound", "design a sound for X", shares a WAV/MP3, or asks to reverse-engineer a sample. Optionally renders a WAV preview and round-trip-validates the result.
How this skill is triggered — by the user, by Claude, or both
Slash command
/acs-skills:create-acs-soundThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Generate an ACS `@sound` block from a prompt, an audio file, or both.
README.mdmetadata.jsonpackage.jsonrules/_sections.mdrules/_template.mdrules/effect-bandpass-noise-swoosh.mdrules/effect-bitcrush-lofi.mdrules/effect-fm-bell.mdrules/effect-lowpass-warmth.mdrules/effect-reverb-tail.mdrules/event-click.mdrules/event-complete.mdrules/event-error.mdrules/event-modal-close.mdrules/event-modal-open.mdrules/event-notification.mdrules/event-success.mdrules/event-swoosh.mdrules/event-tap.mdrules/event-tick.mdGenerate an ACS @sound block from a prompt, an audio file, or both.
This file is the INDEX, not the manual. Each rule lives in its own
file under skills/create-acs-sound/rules/<slug>.md.
Open each rule with the Read tool the moment you start the step
that needs it. Do not try to recall rule bodies from memory — every
rule has specific frequencies, decays, gain budgets, and "incorrect /
correct" examples that you will hallucinate if you try to summarize
without reading. The whole point of the index is so that the agent
loads only the few rules a single task actually needs.
A typical run loads 4–8 rule files: one pipeline step, one event, one or two moods, one layer shape, one or two validators. Not 50.
Run these in order. Each step has its own rule file with the full procedure, examples, and edge cases.
rules/pipeline-detect-input.md
Decide between prompt-only / audio-only / prompt+audio paths.rules/pipeline-pick-base-layer.md
Tokenize the prompt; select one event-* rule. Read that rule.rules/pipeline-decide-layering.md
Single layer vs body+click vs ascending chord etc. Read the chosen layer-* rule.rules/pipeline-apply-mood.md
Map adjectives ("warm", "metallic", "lofi") to mood-* rules. Read each one applied.rules/pipeline-emit-and-render.md
Write the @sound block, then walk all validate-* rules. Read each before checking.Read these in pipeline order; each is a procedural step.
pipeline-detect-input (CRITICAL) — First branch — wrong choice means running the wrong rulespipeline-pick-base-layer (CRITICAL) — Sets the entire shape of the output; the wrong base layer means starting from scratch laterpipeline-apply-mood (HIGH) — Adjectives carry intent; ignoring them produces a generic-sounding presetpipeline-emit-and-render (HIGH) — Final step. Output must be paste-ready ACS plus a short rationalepipeline-decide-layering (MEDIUM-HIGH) — A satisfying click is body+click; a satisfying success is a chord. Picking the wrong layer count loses characterMatch the prompt's strongest event signal against Triggers. Open exactly one file.
event-click (HIGH) — triggers: click button pressevent-error (HIGH) — triggers: error fail wrong invalid denied delete destroyevent-modal-close (HIGH) — triggers: modal dialog close dismiss out hide collapse cancelevent-modal-open (HIGH) — triggers: modal dialog popup drawer sheet open appear show expandevent-notification (HIGH) — triggers: notification alert ding bell mention badge incomingevent-success (HIGH) — triggers: success complete confirm done win achievementevent-tap (HIGH) — triggers: tap touch press buttonevent-tick (HIGH) — triggers: tick scroll snap focus hoverevent-complete (MEDIUM-HIGH) — triggers: complete unlock achievement level-up confetti finishedevent-toggle (MEDIUM-HIGH) — triggers: toggle switch on off check uncheckevent-swoosh (MEDIUM) — triggers: swoosh slide transition page tab whooshevent-whoosh (MEDIUM) — triggers: whoosh dramatic reveal hero animationMap prompt adjectives to mood files. Multiple may stack — open each you apply.
mood-bright (HIGH) — triggers: bright brighter crisp shiny sparklemood-lofi (HIGH) — triggers: lofi lo-fi cassette tape vintage muffledmood-punchy (HIGH) — triggers: punchy tight snappy crisp punchiermood-warm (HIGH) — triggers: warm warmer mellow soft cozymood-glassy (MEDIUM-HIGH) — triggers: glassy crystal glass icymood-airy (MEDIUM) — triggers: airy spacious open soft etherealmood-metallic (MEDIUM) — triggers: metallic robot pipe industrialmood-organic (MEDIUM) — triggers: organic breath alive natural softmood-retro (MEDIUM) — triggers: retro 8-bit arcade chiptune vintagePick a layer shape from pipeline-decide-layering, then open the corresponding file.
layer-click-plus-body (HIGH) — triggers: tap satisfying tactile button responsive presslayer-single (HIGH) — triggers: click tap tick hover focus single simplelayer-ascending-chord (MEDIUM-HIGH) — triggers: success complete achievement level-up chord triumphlayer-octave-pair (MEDIUM-HIGH) — triggers: toggle switch on off paired stateThese describe per-element decls (room, filter, mood-mix). Read when the user asks for room/space/character.
effect-lowpass-warmth (HIGH) — triggers: warm warmer mellow soft muffledeffect-reverb-tail (HIGH) — triggers: reverb echo tail room spaceeffect-fm-bell (MEDIUM-HIGH) — triggers: bell metallic chime fm modulationeffect-bandpass-noise-swoosh (MEDIUM) — triggers: swoosh whoosh slide transitioneffect-bitcrush-lofi (MEDIUM) — triggers: bitcrush lofi crushed retro 8-bitSub-steps of audio analysis. Open each in order when the input includes a sample.
interpret-classify-waveform (HIGH) — When source = osc, this rule decides which waveforminterpret-extract-envelope (HIGH) — Smooth amplitude, find onset/peak/sustain/end, derive ADSR stagesinterpret-extract-fundamental (HIGH) — The pitched core of the sound. Static or sweeping — this rule decidesinterpret-extract-source (HIGH) — First and most important interpret step. Wrong source type makes every later step wronginterpret-detect-filter (MEDIUM-HIGH) — A spectral roll-off or band-limit usually means a filter is in playinterpret-multi-layer (MEDIUM-HIGH) — Many UI sounds are layered. Treating them as single-source produces lossy reconstructioninterpret-detect-effects (MEDIUM) — Effects extend the sound's footprint. Misidentifying the source as part of the body wastes layersinterpret-detect-lfo (MEDIUM) — Sidebands around the fundamental indicate modulation. FM is the most ACS-relevant caseOpen before each check; the thresholds are specific (decay caps, gain budgets, frequency bounds).
validate-duration-cap (HIGH) — Long UI sounds block follow-on triggers, accumulate, and frustrate usersvalidate-frequency-bounds (HIGH) — Out-of-band fundamentals waste energy and can clip the limitervalidate-gain-budget (HIGH) — Sum-of-gains over budget produces clipping; a calibrated runtime can compensate but only so farvalidate-schema-conformance (HIGH) — A typo'd preset name silently fails. A typo'd property name silently fails. Catch them earlyvalidate-envelope-sanity (MEDIUM-HIGH) — Short envelopes with no release click. Long releases on percussive sounds tail foreverpoc/runtime/poc/defaults.acs (preset names go in sound: declarations)tools/lint-acs.mjs@sound lineProvides CDSS development patterns for drug interaction checking, dose validation, clinical scoring (NEWS2, qSOFA), and alert classification integrated into EMR workflows.
npx claudepluginhub grkmyldz148/acs-skills --plugin acs-skills