Suggest Sfx
hassancs91/claude-youtube-editor
Step 4 of the AI Video Editor pipeline — the SFX pass. An agent skill from hassancs91/claude-youtube-editor.
Agent skill
Proposes beat-synced sound effects for a rendered short from a reusable library, then mixes an audition preview under the voice once you approve the plan.
$ npx skills add hassancs91/claude-faceless-shorts-creator --skill suggest-sfx -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install hassancs91/claude-faceless-shorts-creator suggest-sfx --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/hassancs91/claude-faceless-shorts-creator.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/suggest-sfx .claude/skills/suggest-sfx && rm -rf skills-srcUse ~/.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/
Install the "suggest-sfx" agent skill from https://github.com/hassancs91/claude-faceless-shorts-creator/tree/main/.claude/skills/suggest-sfx into .claude/skills/suggest-sfx/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "suggest-sfx", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/hassancs91/claude-faceless-shorts-creator/tree/main/.claude/skills/suggest-sfxType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add hassancs91/claude-faceless-shorts-creator --skill suggest-sfx -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install hassancs91/claude-faceless-shorts-creator suggest-sfx --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/hassancs91/claude-faceless-shorts-creator.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/suggest-sfx .agents/skills/suggest-sfx && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "suggest-sfx" agent skill from https://github.com/hassancs91/claude-faceless-shorts-creator/tree/main/.claude/skills/suggest-sfx into .agents/skills/suggest-sfx/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "suggest-sfx", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add hassancs91/claude-faceless-shorts-creator --skill suggest-sfx -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install hassancs91/claude-faceless-shorts-creator suggest-sfx --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/hassancs91/claude-faceless-shorts-creator.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/suggest-sfx .cursor/skills/suggest-sfx && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "suggest-sfx" agent skill from https://github.com/hassancs91/claude-faceless-shorts-creator/tree/main/.claude/skills/suggest-sfx into .cursor/skills/suggest-sfx/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "suggest-sfx", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/hassancs91/claude-faceless-shorts-creator.git --path .claude/skills/suggest-sfx--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add hassancs91/claude-faceless-shorts-creator --skill suggest-sfx -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install hassancs91/claude-faceless-shorts-creator suggest-sfx --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/hassancs91/claude-faceless-shorts-creator.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/suggest-sfx .gemini/skills/suggest-sfx && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "suggest-sfx" agent skill from https://github.com/hassancs91/claude-faceless-shorts-creator/tree/main/.claude/skills/suggest-sfx into .gemini/skills/suggest-sfx/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "suggest-sfx", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install hassancs91/claude-faceless-shorts-creator suggest-sfxInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add hassancs91/claude-faceless-shorts-creator --skill suggest-sfx -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/hassancs91/claude-faceless-shorts-creator.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/suggest-sfx .github/skills/suggest-sfx && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "suggest-sfx" agent skill from https://github.com/hassancs91/claude-faceless-shorts-creator/tree/main/.claude/skills/suggest-sfx into .github/skills/suggest-sfx/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "suggest-sfx", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add hassancs91/claude-faceless-shorts-creator --skill suggest-sfx -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install hassancs91/claude-faceless-shorts-creator suggest-sfx --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/hassancs91/claude-faceless-shorts-creator.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/suggest-sfx .opencode/skills/suggest-sfx && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "suggest-sfx" agent skill from https://github.com/hassancs91/claude-faceless-shorts-creator/tree/main/.claude/skills/suggest-sfx into .opencode/skills/suggest-sfx/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "suggest-sfx", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
suggest-sfxProposes beat-synced sound effects for a rendered short from a reusable library, then mixes an audition preview under the voice once you approve the plan.
The skill takes a voiced, rendered short and works through it beat by beat, proposing sound effects timed to the narration and to the animation on screen. It reads the project's brand file for the sound-design rules, the beats file with real per-word voice times, and the shot source code, so each cue lands on the exact frame where something pops, stamps or lands.
A plan file, sfx-plan.json, is the source of truth, and tools/mix_sfx.py turns it into a mix with light ducking of the voice. Clips come from a shared library under media/library/sfx/ that has a catalog and a palette of generation recipes. Existing clips are reused first, and only sounds that are truly missing are generated with the ElevenLabs Sound Effects API. Nothing is mixed until you have audited the plan, and the intended style is calm and felt rather than heard.
8 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 773054b. It shows what the files ask for, not the result of running them.
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.
Shell commands in SKILL.md call:
pythonFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
ELEVENLABS_API_KEYFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Sound Effects Planner for Shorts loads about 2.6k tokens when it runs. Until then it costs about 180 tokens; SKILL.md has 1,240 words of instructions outside code blocks.
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.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
`ELEVENLABS_API_KEY` in `.env`.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.
The full file from hassancs91/claude-faceless-shorts-creator at commit 773054b, republished under its MIT licence (© hassancs91). 1,240 words, ~2,579 tokens.
.claude/skills/suggest-sfx/SKILL.md (or your agent's skills folder).Take a rendered, voiced short and add tasteful sound effects, synced to the visual beats and the narration, drawn from a shared, growing SFX library. Work collaboratively and beat-by-beat; the user audits the plan and gives notes.
The shape: a declarative plan (sfx-plan.json) is the source of truth → a tool consumes it
(tools/mix_sfx.py) → a library grows (media/library/sfx/) → a hard USER-AUDIT gate
before anything is mixed.
Sound taste is a brand contract — read brand.md §7 every time. The house style is calm/premium
(Linear / Anthropic / Vercel), felt-not-heard, always under the voice. NOT MrBeast-loud.
brand.md §7 (Sound design) — the SFX taste contract: subtlety, density, palette, levels,
sync, signature motifs, source policy. Non-negotiable.shorts/short-N-<niche>/beats.json — the beats and REAL per-word voice times (written back
by gen_voice.py). Sync cues to these words (a pop on "boom", a chime on "free").remotion/src/shots/short-N/*.tsx — the INTERNAL animation frames are where
the real visual beats are (piece lands, digit pops, badge stamps). Read the shot, convert its
local frame to global time: at_s = (local_frame + sequence_from) / fps. Do not guess — the
cue must land on the exact frame the thing happens.media/library/sfx/catalog.json + palette.json — the library you draw from and grow.media/library/sfx/) — the durable assetpalette.json — generation recipes: generic, reusable sound ids + prompts + duration + tags.
The source of truth for what the library SHOULD contain.catalog.json — the manifest of what EXISTS: {id, file, category, tags, duration_s, peak_dbfs, loudness_lufs, source, model, license, prompt, used_in} per clip. Written by gen_sfx.py.clips/*.mp3 — loudness-normalized clips (~−20 LUFS, −1.5 dBFS ceiling) so a plan's per-cue
gain_db is perceptually meaningful.ui-toggle-on, whoosh-soft, pop-reveal) so future videos reuse them — the library is the
durable asset, each video is one draw from it. Only genuinely-missing sounds get added to
palette.json and generated."optional": true. Layer the 2–3 biggest moments
(build-and-drop): riser→impact on a scripted reveal, whoosh→pop so a cut stands out — in the
plan a layer is two events at the same/adjacent at_s that sum. Sync each cue to the VISUAL
beat and often the exact word.palette.json and generate: python tools/gen_sfx.py
(ElevenLabs Sound Effects API → normalized clip → catalog). Fall back to curated royalty-free
only where generation is weak; record source + license either way.shorts/short-N-<niche>/sfx-plan.json — one event per cue, at_s in global seconds.
(Schema below.)python tools/mix_sfx.py <plan> --print) and get the user's approval/notes BEFORE mixing.python tools/mix_sfx.py shorts/short-N-<niche>/sfx-plan.json
→ the plan's render.out. Light sidechain duck under the voice + a safety limiter. Iterate on
the user's notes (gains, timing, add/cut cues) — re-print, re-mix.gain_db must be ~3–5 dB higher than the brand
table implies. The audibility check above is what surfaces this.used_in.{
"master": "remotion/out/ShortNName-voiced.mp4", "master_fps": 30,
"catalog": "media/library/sfx/catalog.json",
"render": {
"preview": "remotion/out/ShortNName-voiced.mp4", // the voiced render to mix over
"out": "shorts/short-N-<niche>/output/short-N-sfx.mp4",
"end_s": 42, "duck": true
},
"events": [
{ "at_s": 4.9, "sfx_id": "chess-piece-thock", "gain_db": -8, "shot": "MainScene",
"cue": "e4 pawn lands (local f51)", "note": "diegetic board foley" },
{ "at_s": 13.03, "sfx_id": "ui-click-soft", "gain_db": -18, "optional": true, "cue": "card locks" }
]
}at_s — global-timeline seconds (same clock as beats.json).gain_db — dB relative to the clip's normalized level (lower = quieter). See the SHORTS
calibration above for starting values.optional: true — deniable texture; mix_sfx.py --no-optional drops it. Use it liberally so
the audit is about the core set.cue / note — human-readable anchor (the exact frame/word) so the audit is legible.python tools/gen_sfx.py [--dry-run] [--only id1,id2] [--force] [--renorm].
--renorm re-balances existing clips to the loudness target (no API/billing). Needs
ELEVENLABS_API_KEY in .env.python tools/mix_sfx.py <plan> --print [--no-optional].python tools/mix_sfx.py <plan> [--no-optional] [--no-duck] [--end S] [--out path].optional.sfx-plan.json first. Non-negotiable.Done = the library has the needed clips (catalogued with source+license), sfx-plan.json is
authored and audited by the user, the SFX-mixed preview is rendered and spot-checked by ear,
and any new clips + used_in are saved back to the library.
© hassancs91, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .claude/skills/suggest-sfx of hassancs91/claude-faceless-shorts-creator.
Open the folder on GitHubat commit 773054b
Sound Effects Planner for Shorts 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Sound Effects Planner for Shorts this skillhassancs91/claude-faceless-shorts-creator | 271 | — | ~2.6k | Automated safety check: Notes | MIT | |
| Suggest Sfxhassancs91/claude-youtube-editor | 328 | — | ~3k | Automated safety check: Pass | MIT | |
| FFmpeg for Video Productiondigitalsamba/claude-code-video-toolkit | 2.2k | 3 repos | ~3.3k | Automated safety check: Pass | MIT | |
| Super Video MakerBomx/super-video-maker-skill | 310 | — | ~11k | Automated safety check: Notes | None | |
| Remotion ProductionDojoCodingLabs/remotion-superpowers | 132 | — | ~1.1k | Automated safety check: Pass | MIT | |
| Release Videohuytieu/COG-second-brain | 1.3k | — | ~1.7k | Automated safety check: Pass | MIT |
hassancs91/claude-youtube-editor
Step 4 of the AI Video Editor pipeline — the SFX pass. An agent skill from hassancs91/claude-youtube-editor.
digitalsamba/claude-code-video-toolkit
Command recipes for converting, resizing, compressing, trimming and extracting audio from video with FFmpeg, including settings for Remotion projects.
Bomx/super-video-maker-skill
End-to-end AI video production skill for agentic frameworks.
DojoCodingLabs/remotion-superpowers
Full video production workflow for Remotion projects. An agent skill from DojoCodingLabs/remotion-superpowers.
huytieu/COG-second-brain
Turn a product release (the list of shipped items plus real screen recordings) into a motion recap video and one explained demo per feature, with sound effects tied to on-screen motion and a…
Hainrixz/editor-pro-max
Advanced motion designer with decades of After Effects and motion graphics experience, specialized in creating engaging video specifications for Remotion.
hassancs91/claude-faceless-shorts-creator
Generates 2D Remotion-based TSX video files for VidTSX from a shot or scene description, with style presets and rules that keep renders from crashing.
hassancs91/claude-faceless-shorts-creator
Produces a vertical generative-video short end to end: a locked recurring character animated by a fal video model, ElevenLabs voice, Remotion captions and a clean loop.
hassancs91/claude-faceless-shorts-creator
Builds a roughly 40-second vertical short end to end from a topic, scripting beats, rendering TSX compositions and layering voice and captions.
hassancs91/claude-faceless-shorts-creator
Builds a vertical collage-style documentary short from script to render: scene dissection into image layers, layer production, TSX assembly on a collage kit, frame checks and voice.
Works with
Categories
Proposes beat-synced sound effects for a rendered short from a reusable library, then mixes an audition preview under the voice once you approve the plan. The skill takes a voiced, rendered short and works through it beat by beat, proposing sound effects timed to the narration and to the animation on screen. It reads the project's brand file for the sound-design rules, the beats file with real per-word voice times, and the shot source code, so each cue lands on the exact frame where something pops, stamps or lands.
Sound Effects Planner for Shorts fits situations like: adding sound effects to a finished, voiced short; scoring scene transitions and animation beats with subtle cues; growing the shared sound library with a new, generically named clip; auditing an existing sfx-plan before it gets mixed.
Run `npx skills add hassancs91/claude-faceless-shorts-creator --skill suggest-sfx -a claude-code`. Or copy the skill folder (.claude/skills/suggest-sfx in hassancs91/claude-faceless-shorts-creator) into .claude/skills/suggest-sfx in your project. Claude Code loads it when a task matches its description.
Run `npx skills add hassancs91/claude-faceless-shorts-creator --skill suggest-sfx -a codex`. Or copy the skill folder (.claude/skills/suggest-sfx in hassancs91/claude-faceless-shorts-creator) into .agents/skills/suggest-sfx in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add hassancs91/claude-faceless-shorts-creator --skill suggest-sfx -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/suggest-sfx, .gemini/skills/suggest-sfx, .github/skills/suggest-sfx and .opencode/skills/suggest-sfx in your project.
Going by SKILL.md and its folder, Sound Effects Planner for Shorts needs the command-line tools its instructions call (python) and credentials named ELEVENLABS_API_KEY. Our summary lists: A faceless-shorts project with brand.md, beats.json and Remotion shot files; Python to run tools/mix_sfx.py; Access to the ElevenLabs Sound Effects API for generating missing clips.
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.
Our automated static check of SKILL.md found notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Sound Effects Planner for Shorts is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.6k tokens (SKILL.md is roughly 10k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Sound Effects Planner for Shorts: Suggest Sfx (hassancs91/claude-youtube-editor, 328 stars), FFmpeg for Video Production (digitalsamba/claude-code-video-toolkit, 2.2k stars), Super Video Maker (Bomx/super-video-maker-skill, 310 stars) and Remotion Production (DojoCodingLabs/remotion-superpowers, 132 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
hassancs91 (a GitHub user) maintains it in hassancs91/claude-faceless-shorts-creator, which has 271 GitHub stars. The repository holds 5 skills in this directory. The repository was last updated on August 18, 2026.
Source: hassancs91/claude-faceless-shorts-creator on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.