From acs-skills
Design a project-specific sound layer for a website or app. Use when the user says "add ACS to my site", "wire up sounds for this page", "give this project a sound identity", or hands you a project directory and asks for an `.acs` file. NOT for designing a single sound — for that, use `create-acs-sound`. This skill produces a complete `.acs` stylesheet with custom `@sound` blocks tailored to the project's visual identity, copy, and product character.
How this skill is triggered — by the user, by Claude, or both
Slash command
/acs-skills:acs-soundscapeThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Design a sound layer that belongs to **this** project. Not a generic
rules/archetype-list.mdrules/pipeline-archetype.mdrules/pipeline-author-customs.mdrules/pipeline-bind.mdrules/pipeline-extract-tokens.mdrules/pipeline-identity-statement.mdrules/pipeline-inventory.mdrules/token-color.mdrules/token-copy.mdrules/token-motion.mdrules/token-radius.mdrules/token-shadow.mdrules/token-type.mdrules/validate-coherence.mdrules/validate-distinct-naming.mdrules/validate-no-default-binding.mdrules/validate-token-fit.mdsrc/build.mjssrc/preamble.mdDesign a sound layer that belongs to this project. Not a generic UI sound kit dropped into a foreign aesthetic.
Default presets (tap-tactile, tick, pop, click) are shipped
with the runtime as a baseline. They are not an answer for a
project that has any visual identity at all. Binding sound-on-click: tap-tactile on a CRT-terminal site, on a brutalist editorial, or on
a luxury watchmaker's page produces the same boring SaaS-tap
everywhere — the opposite of what a sound layer should do.
Hard rules this skill enforces:
Read before
touching .acs. Specific files to open are listed in
rules/pipeline-inventory.md.@sound blocks. Every soundscape ships at
least 5 project-named presets (e.g. caret-tap, caret-cursor,
caret-modem). The stylesheet starts with these @sound blocks,
then binds them to selectors.sound: tap) requires a comment explaining why this default
fits this project's voice — and the file must still contain
custom presets in the majority. Validators flag soundscapes that
are >40% default-bound.This file is the INDEX. Pipeline steps and reference tables live
under skills/acs-soundscape/rules/<slug>.md.
Open each rule with Read the moment you start the step that
needs it. The rule files contain specific token-to-parameter
mappings, archetype templates, and validators that you will
hallucinate if you summarize from memory. A typical run loads
8–14 rule files; you do not need all of them.
When this skill needs a single new preset crafted from scratch,
delegate to the create-acs-sound skill — that one is for
authoring one @sound block; this one is for designing a
whole stylesheet.
Run in order. Do not skip pipeline-inventory; everything downstream depends on what it surfaces.
rules/pipeline-inventory.md
Read README, package.json, globals.css, hero/footer markup, copy.
Output: a paragraph naming the product, audience, dominant aesthetic.rules/pipeline-extract-tokens.md
Read each token-*.md rule that applies (color, type, radius,
motion, shadow, copy). Each emits a small mapping into the
sonic-parameter space.rules/pipeline-archetype.md
Read rules/archetype-list.md. Choose the closest, then DEPART
from it based on the token sheet. Never apply an archetype verbatim.rules/pipeline-identity-statement.md
3–4 sentences in plain English describing what an interaction
should feel like. This is the brief for every @sound you author.@sound blocks — rules/pipeline-author-customs.md
For each interaction the page actually has (click, hover, page-enter,
modal-open, copy-confirm…), design a project-named preset. When the
acoustic decisions for one preset get specific, hand off to
create-acs-sound.rules/pipeline-bind.md
Write the .acs file: custom @sound blocks first, then selector
bindings. Cascade by specificity. Use room, volume, pitch,
and sound-mood overrides to give the same preset different
personalities in different contexts.rules/validate-*.md
Read each validator before checking. Reject and rework if any fail.Read in pipeline order. Each is a procedural step.
pipeline-author-customs (CRITICAL) — Custom presets are the difference between a soundscape and a default kit. A soundscape with zero customs is a failed soundscapepipeline-extract-tokens (CRITICAL) — The token sheet is the bridge between visual identity and acoustic decisions. Without it you are guessingpipeline-inventory (CRITICAL) — You cannot design a project-specific soundscape without first knowing what the project IS. Skipping this step is how generic SaaS-tap output happenspipeline-archetype (HIGH) — Archetypes give the soundscape a starting genre. Without one, presets drift; with one used as a recipe, every project sounds the samepipeline-bind (HIGH) — Even great presets are wasted if the bindings are sloppy. The cascade is part of the identitypipeline-identity-statement (HIGH) — Every preset is a test against this statement. Without it the soundscape drifts into incoherenceOpen the rules that match the project's actual tokens. A site with no shadow scale doesn't need token-shadow.
token-color (HIGH) — Color is the loudest visual signal of mood; ignoring it produces a soundscape that fights the pagetoken-type (HIGH) — Type is the most-touched visual surface; matching its grain and weight in sound is half the identity worktoken-copy (MEDIUM-HIGH) — The copy is the project speaking out loud. The soundscape's mood must match what the words sound liketoken-motion (MEDIUM-HIGH) — Sound and motion are felt as one event. A 350 ms decay on a 100 ms transition feels laggytoken-radius (MEDIUM-HIGH) — A page with sharp corners and soft, bouncy clicks reads as off-brandtoken-shadow (MEDIUM) — Shadow is the visual proxy for depth. Reverb is the auditory proxy. They must agreeThese are reference points, not recipes. Read at most one or two; then deviate based on tokens.
archetype-list (HIGH) — The starting points for soundscape design. Pick one or two, then DEPARTOpen before each check; the thresholds are explicit.
validate-no-default-binding (CRITICAL) — This is the validator that catches generic-output failure mode. Without it the skill regresses to "drop tap-tactile on every button"validate-coherence (HIGH) — A soundscape is a family of related sounds, not a sample pack. Drift between presets reads as confusionvalidate-distinct-naming (HIGH) — Naming presets tap or click (no prefix) is one rename away from a default-binding regression. Prefixes prevent thatvalidate-token-fit (HIGH) — The token sheet is meaningless if the authored presets ignore it. This validator closes the looppoc/runtime/poc/defaults.acs (use as inspiration, not as bindings)tools/lint-acs.mjsskills/create-acs-sound/SKILL.mdProvides 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