Agent Skillsneilsonnn/image-blaster › image-blast-sfx

image-blast-sfx

GitHub

为项目生成并后处理音效。支持世界环境音、物体撞击声及自定义音效三种模式,自动选择输出路径与参数,利用ffmpeg修剪静音、标准化音量,并返回音频分析与元数据详情。

.claude/skills/image-blast-sfx/SKILL.md neilsonnn/image-blaster

Trigger Scenarios

需要生成场景背景环境音 需要生成物体碰撞或交互音效 需要根据描述定制特殊音效

Install

npx skills add neilsonnn/image-blaster --skill image-blast-sfx -g -y
More Options

Non-standard path

npx skills add https://github.com/neilsonnn/image-blaster/tree/main/.claude/skills/image-blast-sfx -g -y

Use without installing

npx skills use neilsonnn/image-blaster@image-blast-sfx

指定 Agent (Claude Code)

npx skills add neilsonnn/image-blaster --skill image-blast-sfx -a claude-code -g -y

安装 repo 全部 skill

npx skills add neilsonnn/image-blaster --all -g -y

预览 repo 内 skill

npx skills add neilsonnn/image-blaster --list

SKILL.md

Frontmatter
{
    "name": "image-blast-sfx",
    "agent": "image-blast-sfx",
    "context": "fork",
    "description": "Generate and post-process a clean sound effect, object impact, or ambient loop.",
    "allowed-tools": "Read Write Glob Bash(ls *) Bash(node .claude\/scripts\/project\/project-state.mjs *) Bash(node .claude\/scripts\/project\/ensure-local-assets.mjs *) Bash(node .claude\/scripts\/sfx\/fal-elevenlabs-sfx.mjs *)",
    "argument-hint": [
        "world-name"
    ]
}

Generate an SFX for project $0.

Instructions

  • If $0 is missing, ask for the world slug.
  • If the SFX target is missing or ambiguous, ask for exactly one request.
  • Use ls -a before reading generated state.
  • Choose one mode:
    • World ambience: output to worlds/$0/output/sfx/, use --loop --count 2 --kind world-ambience --prefix ambient-loop --duration-seconds 10.
    • Object impact: resolve one object, output to worlds/$0/output/<object-id>/sfx/, use --count 4 --kind object-impact --prefix impact-<object-id> --duration-seconds 1. Do not use --loop.
    • Custom SFX: use the supplied prompt, output to worlds/$0/output/sfx/ unless an object is clearly specified, use --kind arbitrary.
  • Prompt structure:
  • Object impact: impact one-shot, short-decay, <object material description from object.json> hitting a hard surface.
  • World ambience: ambient environment, loop of <description of only ambient qualities of scene from image.json>.
  • Custom SFX: keep it literal, short, and isolated unless the user requested ambience or a loop.
  • For non-loop output, the script analyzes each returned file with ffprobe/ffmpeg, trims leading/trailing silence or low noise, normalizes loudness, and stores audio_analysis in the hidden request JSON. Loop output is left as raw provider audio so the seamless boundary is preserved.
node .claude/scripts/project/project-state.mjs --world "$0"

Run:

node .claude/scripts/sfx/fal-elevenlabs-sfx.mjs \
  --prompt "<sound prompt>" \
  --output-dir "<target output dir>" \
  --prefix "<safe prefix>" \
  --count "<1-4>" \
  --kind "<world-ambience|object-impact|arbitrary>" \
  --duration-seconds "<optional 0.5-22>" \
  --loop "<for world ambience or explicit loop requests>" \
  --postprocess true

Add --loop only for world ambience or explicit looping requests. Avoid music or voices unless explicitly requested.

If request metadata records provider URLs but local audio files are missing, fill them from the matching hidden request JSON:

node .claude/scripts/project/ensure-local-assets.mjs --from "<request-json-path>"

Final response: report generated audio files, loop status, request metadata, prompt used, and the trimming/quality notes from audio_analysis.

Version History

  • 4acb43b Current 2026-07-24 11:45

Same Skill Collection

.claude/skills/image-blast-3d/SKILL.md
.claude/skills/image-blast-image-edit/SKILL.md
.claude/skills/image-blast-plate/SKILL.md
.claude/skills/image-blast-project/SKILL.md
.claude/skills/image-blast-uncover/SKILL.md
.claude/skills/image-blast-wildcard/SKILL.md
.claude/skills/image-blast-world/SKILL.md

Metadata

Files
0
Version
4acb43b
Hash
78295153
Indexed
2026-07-24 11:45

- 위키
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-08-07 12:09
浙ICP备14020137号-1 $방문자$