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 agentmods add skills/guillermoscript/lms-front/sound-setupnpx skills add guillermoscript/lms-front --skill sound-setupgit clone --depth 1 https://github.com/guillermoscript/lms-frontWhat 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 | $0.00068 | $0.01309 |
| Opus 5 | $0.00034 | $0.00655 |
| Sonnet 5 | $0.00014 | $0.00262 |
| Haiku 4.5 | $0.00007 | $0.00131 |
Grade C, and why
sound-setup scanned grade C with 2 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 2d 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.
Downloads and executes remote codehighSupply chain
curl | sh runs whatever the server returns today, which is not necessarily what it returned when this was reviewed.
curl -fsSL https://raw.githubusercontent.com/guillermoscript/agent-skills/main/skills/claude-sounds/install.sh | bash -s -- --yes Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
curl -fsSL https://raw.githubusercontent.com/guillermoscript/agent-skills/main/skills/claude-sounds/install.sh | bash -s -- --yes How it starts
The opening of the file, as written. The whole thing — 148 lines — stays where its author put it; the contents beside it link to each section on GitHub.
sound-setup
Walk the user through building their own sound mapping, previewing each choice
out loud. Writes ~/.claude/hooks/sound-rules.json, which the hook re-reads on
every event — changes apply immediately, no reinstall and no restart.
Before you start
Check the system is installed:
ls ~/.claude/hooks/status-sound.sh ~/.claude/hooks/sounds/ 2>/dev/null
If it isn't, install it first — the wizard has nothing to configure otherwise:
curl -fsSL https://raw.githubusercontent.com/guillermoscript/agent-skills/main/skills/claude-sounds/install.sh | bash -s -- --yes
That installer also places this skill, so a curl install gets /sound-setup
with no extra step.
Then use TOOL=~/.claude/hooks/sound-tool.sh for every command below. If that
file is missing, the user is on an older install — re-run the installer.
The events you can map
| Event | Fires when |
|---|---|
done_tiny … done_epic |
A turn ended successfully, sized by lines written (<50, 50+, 200+, 500+, 1000+) |
needs_input |
Claude ended with a question |
failed / failed_big |
The turn hit an error |
other |
Anything else |
commit / push |
git commit / git push succeeded |
pr_opened / pr_merged |
gh pr create / gh pr merge succeeded |
tests_pass / tests_fail |
A test command finished |
permission |
Claude is waiting for your approval |
A slot is a sound file: ~/.claude/hooks/sounds/<slot>.mp3. Events map to
slots, so several events can share one sound, and a pack swap changes the audio
without touching the mapping.
How to run the wizard
Be conversational, not a form. Play sounds as you go — hearing it is the point. Never ask about all sixteen events; that's an interrogation, not a wizard.
1. Show them where they are
bash $TOOL list
Present it as a short table and ask what they want to change. If the user already said what they want ("zelda chest when a PR merges"), skip straight to doing it — don't make them sit through a menu.
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.
- 2d ago First seen · 148 lines · 68 tokens per session scan C 5846e913f9a3
sound-setup is a skill published in the GitHub repository guillermoscript/lms-front (24 stars, last pushed 2d ago), licensed MIT. It adds 68 tokens to every session and 1,309 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it C with 2 findings (downloads and executes remote code, makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
api-development
FastGPT API 开发规范。重点强调使用 zod schema 定义入参和出参,在 API 文档中声明路由信息,编写对应的 OpenAPI 文档,以及在 API 路由中使用 schema.parse 进行验证。.
ci-workflow-sync
FastGPT CI workflow 双轨同步。当用户修改或新增 .github/workflows/ 下的 GitHub Actions workflow 时必须触发:同步更新 .forgejo/workflows/ 对应文件保持功能一致,或判断是否需要新建 Forgejo 版本。涉及 CI、GitHub Actions、Forgejo Actions、镜像构建、container registry、artifact、workflow yaml 改动、build- workflow、test- workflow 时也使用此技能。即使用户只提到"改一下 CI"或"加个 workflow"也应触发。.
prompt-optimize
Expert prompt engineering skill that transforms Claude into "Alpha-Prompt" - a master prompt engineer who collaboratively crafts high-quality prompts through flexible dialogue. Activates when user asks to "optimize prompt", "improve system instruction", "enhance AI instruction", or mentions prompt engineering tasks.
deprecate-workflow-node
当用户需要弃用一个工作流节点(保留向后兼容、隐藏出模板面板)时触发该 skill。FastGPT 工作流节点的弃用流程标准化封装,覆盖模板、Dispatcher、UI 引用等所有需要改动的位置。.
doc-i18n
将 FastGPT 文档从中文翻译为面向北美用户的英文。当用户提到翻译文档、i18n、国际化、translate docs、新增/修改了中文文档需要同步英文版时,使用此 skill。也适用于用户要求检查文档翻译缺失、批量翻译、或对比中英文文档差异的场景。.
pr-change-analysis
手动触发的 FastGPT PR 或本地分支变更梳理技能。仅当用户显式调用 $pr-change-analysis 时使用;用于 reviewer 分析一个 GitHub PR 或当前本地分支相对 upstream/main 的需求变更、影响范围、代码质量与代码风格,不用于自动审查触发。.