Brand Voice Content Creator
davila7/claude-code-templates
Analyzes a brand's existing writing to lock in a consistent voice, then builds SEO blog posts and platform-specific social content around it.
Learn how-to-add-music-to-video using ClawHub's conversational AI skill.
$ npx skills add LeoYeAI/openclaw-master-skills --skill how-to-add-music-to-video -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install LeoYeAI/openclaw-master-skills how-to-add-music-to-video --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/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/how-to-add-music-to-video .claude/skills/how-to-add-music-to-video && 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 "how-to-add-music-to-video" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/how-to-add-music-to-video into .claude/skills/how-to-add-music-to-video/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "how-to-add-music-to-video", 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/LeoYeAI/openclaw-master-skills/tree/main/skills/how-to-add-music-to-videoType 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 LeoYeAI/openclaw-master-skills --skill how-to-add-music-to-video -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install LeoYeAI/openclaw-master-skills how-to-add-music-to-video --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/how-to-add-music-to-video .agents/skills/how-to-add-music-to-video && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "how-to-add-music-to-video" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/how-to-add-music-to-video into .agents/skills/how-to-add-music-to-video/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "how-to-add-music-to-video", 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 LeoYeAI/openclaw-master-skills --skill how-to-add-music-to-video -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install LeoYeAI/openclaw-master-skills how-to-add-music-to-video --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/how-to-add-music-to-video .cursor/skills/how-to-add-music-to-video && 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 "how-to-add-music-to-video" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/how-to-add-music-to-video into .cursor/skills/how-to-add-music-to-video/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "how-to-add-music-to-video", 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/LeoYeAI/openclaw-master-skills.git --path skills/how-to-add-music-to-video--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 LeoYeAI/openclaw-master-skills --skill how-to-add-music-to-video -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install LeoYeAI/openclaw-master-skills how-to-add-music-to-video --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/how-to-add-music-to-video .gemini/skills/how-to-add-music-to-video && 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 "how-to-add-music-to-video" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/how-to-add-music-to-video into .gemini/skills/how-to-add-music-to-video/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "how-to-add-music-to-video", 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 LeoYeAI/openclaw-master-skills how-to-add-music-to-videoInstalls 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 LeoYeAI/openclaw-master-skills --skill how-to-add-music-to-video -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/how-to-add-music-to-video .github/skills/how-to-add-music-to-video && 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 "how-to-add-music-to-video" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/how-to-add-music-to-video into .github/skills/how-to-add-music-to-video/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "how-to-add-music-to-video", 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 LeoYeAI/openclaw-master-skills --skill how-to-add-music-to-video -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install LeoYeAI/openclaw-master-skills how-to-add-music-to-video --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/how-to-add-music-to-video .opencode/skills/how-to-add-music-to-video && 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 "how-to-add-music-to-video" agent skill from https://github.com/LeoYeAI/openclaw-master-skills/tree/main/skills/how-to-add-music-to-video into .opencode/skills/how-to-add-music-to-video/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "how-to-add-music-to-video", 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.
how-to-add-music-to-videoLearn how-to-add-music-to-video using ClawHub's conversational AI skill.
How To Add Music To Video is an agent skill from LeoYeAI/openclaw-master-skills. Learn how-to-add-music-to-video using ClawHub's conversational AI skill. Drop in your footage, name a track or upload an audio file, and the OpenClaw agent handles timing, volume balancing, and fade transitions automatically. No timeline scrubbing or DAW knowledge required. Works with mp4, mov, avi, webm, and mkv files. Ideal for content creators, social media managers, and filmmakers who need clean audio layering fast.
Its SKILL.md is about 4.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 1 other file (for example `_meta.json`).
It sits in Writing & Content, covering Blog and article writing and Chatbots and conversational support. The repository describes itself as: 🧠 Curated collection of 1209+ best OpenClaw skills — weekly updated by MyClaw.ai. The licence is MIT.
8 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit e5199b5. 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:
curlFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
mega-api-prod.nemovideo.ainemovideo.comFrom URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
NEMO_TOKENFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
How To Add Music To Video loads about 4.3k tokens when it runs. Until then it costs about 112 tokens; SKILL.md has 1,818 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 found no risky patterns in SKILL.md.
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 LeoYeAI/openclaw-master-skills at commit e5199b5, republished under its MIT licence (© LeoYeAI). 1,818 words, ~4,267 tokens.
.claude/skills/how-to-add-music-to-video/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.When the user opens this skill or sends their first message, greet them immediately:
🚀 How To Add Music To Video at your service! Upload a video or tell me what you're looking for.
Try saying:
IMPORTANT: Always greet the user proactively on first contact. Let them know you're setting up while connecting. Always greet the user proactively on first contact.
When the user first interacts, set up the connection:
NEMO_TOKEN env var is set, use it. Otherwise:~/.config/nemovideo/client_id if it exists~/.config/nemovideo/client_idcurl -s -X POST "https://mega-api-prod.nemovideo.ai/api/auth/anonymous-token" -H "X-Client-Id: $CLIENT_ID"token as NEMO_TOKEN for this session. You get 100 free credits.Let the user know briefly: "Setting things up… ready!" then proceed with their request.
Adding music to video has historically meant opening a timeline editor, manually aligning waveforms, and fiddling with keyframe volume curves. ClawHub's how-to-add-music-to-video skill replaces that workflow with a plain-language conversation. You describe what you want — a lo-fi background track that fades out in the last five seconds, for example — and the skill interprets that intent directly.
Under the hood, the OpenClaw agent parses your instruction, identifies the audio and video streams within your uploaded file, and determines optimal placement, volume normalization, and crossfade length based on the clip's duration and any timing cues you provide. It treats your words as the edit decision list, so there's no interface to learn.
This skill is particularly useful when you're working across a batch of clips that all need consistent audio branding, or when you're on a deadline and can't afford the setup time of a full editing suite. Whether your source file is an mp4 from a smartphone, a mov from a mirrorless camera, an avi from screen capture software, a webm exported from a browser tool, or an mkv from a media server, the skill ingests and outputs in the same format without quality loss.
| Variable | Required | Default |
|---|---|---|
NEMO_TOKEN | No | Auto-generated (100 free credits, expires in 7 days, revocable via Settings → API Tokens) |
NEMO_API_URL | No | https://mega-api-prod.nemovideo.ai |
NEMO_WEB_URL | No | https://nemovideo.com |
NEMO_CLIENT_ID | No | Auto-generated UUID, persisted to ~/.config/nemovideo/client_id (UUID only, no secrets) |
SKILL_SOURCE | No | Auto-detected from install path, fallback unknown |
If NEMO_TOKEN is not set, get one (requires X-Client-Id header):
# Generate or read persisted Client-Id
CLIENT_ID="${NEMO_CLIENT_ID:-$(cat ~/.config/nemovideo/client_id 2>/dev/null)}"
if [ -z "$CLIENT_ID" ]; then
CLIENT_ID=$(uuidgen 2>/dev/null || echo "client-$(date +%s)-$RANDOM")
mkdir -p ~/.config/nemovideo & echo "$CLIENT_ID" > ~/.config/nemovideo/client_id
fi
curl -s -X POST "https://mega-api-prod.nemovideo.ai/api/auth/anonymous-token" -H "X-Client-Id: $CLIENT_ID"
# → {"code":0,"data":{"token":"nmv_usr_xxx","credits":100,...}}Save token as NEMO_TOKEN, CLIENT_ID as NEMO_CLIENT_ID. Anonymous: 1 token per client per 7 days; token expires in 7 days and can be revoked at any time via Settings → API Tokens on nemovideo.com. If your token expires, request a new one with the same X-Client-Id.
Local persistence: This skill writes ~/.config/nemovideo/client_id to persist the Client-Id across sessions. This avoids generating a new ID on every request, which would hit the per-IP rate limit quickly (default 10 tokens per 7 days per IP). The file contains only a UUID — no credentials are stored locally.
Use the table below to determine which endpoint should handle each type of incoming request.
| User says... | Action | Skip SSE |
|---|---|---|
| "export" / "导出" / "download" / "send me the video" | → §3.5 Export | ✅ |
| "credits" / "积分" / "balance" / "余额" | → §3.3 Credits | ✅ |
| "status" / "状态" / "show tracks" | → §3.4 State | ✅ |
| "upload" / "上传" / user sends file | → §3.2 Upload | ✅ |
| Everything else (generate, edit, add BGM…) | → §3.1 SSE | ❌ |
$API = ${NEMO_API_URL:-https://mega-api-prod.nemovideo.ai}, $TOKEN = ${NEMO_TOKEN}, $WEB = ${NEMO_WEB_URL:-https://nemovideo.com}.
Skill attribution variables — do NOT hardcode:
$SKILL_NAME = this file's YAML frontmatter name$SKILL_VERSION = this file's YAML frontmatter version$SKILL_SOURCE = detect at runtime using the first match:SKILL_SOURCE if set~/.clawhub/ → clawhub, ~/.cursor/skills/ → cursor)unknownCRITICAL: ALL API requests (including render/export/upload/state/credits) MUST include these headers. Missing them will cause export to fail with 402.
X-Skill-Source: $SKILL_NAME
X-Skill-Version: $SKILL_VERSION
X-Skill-Platform: $SKILL_SOURCEcurl -s -X POST "https://mega-api-prod.nemovideo.ai/api/tasks/me/with-session/nemo_agent" \
-H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
-H "X-Skill-Source: $SKILL_NAME" -H "X-Skill-Version: $SKILL_VERSION" -H "X-Skill-Platform: $SKILL_SOURCE" \
-d '{"task_name":"project","language":"<lang>"}'
# → {"code":0,"data":{"task_id":"...","session_id":"..."}}Before any operations can begin, a session must be established. This session token is required for all subsequent requests within the same workflow.
Open in browser: After creating a session, give the user a link to view/edit the task in NemoVideo:
$WEB/workspace/claim?task={task_id}&session={session_id}&skill_name=$SKILL_NAME&skill_version=$SKILL_VERSION&skill_source=$SKILL_SOURCE
curl -s -X POST "https://mega-api-prod.nemovideo.ai/run_sse" \
-H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
-H "Accept: text/event-stream" -H "X-Skill-Source: $SKILL_NAME" -H "X-Skill-Version: $SKILL_VERSION" -H "X-Skill-Platform: $SKILL_SOURCE" --max-time 900 \
-d '{"app_name":"nemo_agent","user_id":"me","session_id":"<sid>","new_message":{"parts":[{"text":"<msg>"}]}}'All conversational messages to the backend are transmitted via Server-Sent Events, keeping the connection open for streamed responses.
| Event | Action |
|---|---|
| Text response | Apply GUI translation (§4), present to user |
| Tool call/result | Process internally, don't forward |
heartbeat / empty data: | Keep waiting. Every 2 min: "⏳ Still working..." |
| Stream closes | Process final response |
Typical durations: text 5-15s, video generation 100-300s, editing 10-30s.
Timeout: 10 min heartbeats-only → assume timeout. Never re-send during generation (duplicates + double-charge).
Ignore trailing "I encountered a temporary issue" if prior responses were normal.
Roughly 30% of editing operations complete without returning any text in the response stream. When no text is received: (1) do not treat this as an error or retry the request, (2) immediately call the state query endpoint to confirm the operation completed, (3) surface a status confirmation to the user based on that query result.
Two-stage generation: When a raw video is submitted, the backend automatically runs a two-stage enrichment pipeline: Stage 1 processes and stores the raw footage, then Stage 2 independently attaches background music and generates a title without any additional prompt from the client. Both stages must reach a completed state before the export flow is initiated.
File upload: curl -s -X POST "https://mega-api-prod.nemovideo.ai/api/upload-video/nemo_agent/me/<sid>" -H "Authorization: Bearer $TOKEN" -H "X-Skill-Source: $SKILL_NAME" -H "X-Skill-Version: $SKILL_VERSION" -H "X-Skill-Platform: $SKILL_SOURCE" -F "files=@/path/to/file"
URL upload: curl -s -X POST "https://mega-api-prod.nemovideo.ai/api/upload-video/nemo_agent/me/<sid>" -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" -H "X-Skill-Source: $SKILL_NAME" -H "X-Skill-Version: $SKILL_VERSION" -H "X-Skill-Platform: $SKILL_SOURCE" -d '{"urls":["<url>"],"source_type":"url"}'
Use me in the path; backend resolves user from token.
Supported: mp4, mov, avi, webm, mkv, jpg, png, gif, webp, mp3, wav, m4a, aac.
The upload endpoint accepts video and audio files that will be referenced in subsequent editing operations.
curl -s "https://mega-api-prod.nemovideo.ai/api/credits/balance/simple" -H "Authorization: Bearer $TOKEN" \
-H "X-Skill-Source: $SKILL_NAME" -H "X-Skill-Version: $SKILL_VERSION" -H "X-Skill-Platform: $SKILL_SOURCE"
# → {"code":0,"data":{"available":XXX,"frozen":XX,"total":XXX}}Query the credits endpoint prior to initiating any operation that consumes credits to confirm the account has a sufficient balance.
curl -s "https://mega-api-prod.nemovideo.ai/api/state/nemo_agent/me/<sid>/latest" -H "Authorization: Bearer $TOKEN" \
-H "X-Skill-Source: $SKILL_NAME" -H "X-Skill-Version: $SKILL_VERSION" -H "X-Skill-Platform: $SKILL_SOURCE"Use me for user in path; backend resolves from token.
Key fields: data.state.draft, data.state.video_infos, data.state.canvas_config, data.state.generated_media.
Draft field mapping: t=tracks, tt=track type (0=video, 1=audio, 7=text), sg=segments, d=duration(ms), m=metadata.
Draft ready for export when draft.t exists with at least one track with non-empty sg.
Track summary format:
Timeline (3 tracks): 1. Video: city timelapse (0-10s) 2. BGM: Lo-fi (0-10s, 35%) 3. Title: "Urban Dreams" (0-3s)Export does NOT cost credits. Only generation/editing consumes credits.
Exporting the finished video does not deduct any credits from the account. To complete delivery: (a) call the export endpoint with the session ID, (b) poll until the export status returns complete, (c) retrieve the download URL from the response payload, (d) stream or transfer the file to the user, (e) confirm receipt and close the session.
b) Submit: curl -s -X POST "https://mega-api-prod.nemovideo.ai/api/render/proxy/lambda" -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" -H "X-Skill-Source: $SKILL_NAME" -H "X-Skill-Version: $SKILL_VERSION" -H "X-Skill-Platform: $SKILL_SOURCE" -d '{"id":"render_<ts>","sessionId":"<sid>","draft":<json>,"output":{"format":"mp4","quality":"high"}}'
Note: sessionId is camelCase (exception). On failure → new id, retry once.
c) Poll (every 30s, max 10 polls): curl -s "https://mega-api-prod.nemovideo.ai/api/render/proxy/lambda/<id>" -H "Authorization: Bearer $TOKEN" -H "X-Skill-Source: $SKILL_NAME" -H "X-Skill-Version: $SKILL_VERSION" -H "X-Skill-Platform: $SKILL_SOURCE"
Status at top-level status: pending → processing → completed / failed. Download URL at output.url.
d) Download from output.url → send to user. Fallback: https://mega-api-prod.nemovideo.ai/api/render/proxy/<id>/download.
e) When delivering the video, always also give the task detail link: $WEB/workspace/claim?task={task_id}&session={session_id}&skill_name=$SKILL_NAME&skill_version=$SKILL_VERSION&skill_source=$SKILL_SOURCE
Progress messages: start "⏳ Rendering ~30s" → "⏳ 50%" → "✅ Video ready!" + file + task detail link.
If the SSE stream drops unexpectedly, follow these steps: (1) Wait 2 seconds before attempting any recovery action to avoid a thundering-herd retry. (2) Re-authenticate and obtain a fresh session token using the existing session ID rather than creating a new session. (3) Re-open the SSE connection with the updated token. (4) Query the current operation state to determine whether the last action completed, is still running, or failed. (5) Resume from the last confirmed state — do not re-submit any operation already marked as completed.
The backend operates under the assumption that a graphical interface is present, so GUI-specific instructions must be translated into API calls and must never be forwarded verbatim to the backend.
| Backend says | You do |
|---|---|
| "click [button]" / "点击" | Execute via API |
| "open [panel]" / "打开" | Show state via §3.4 |
| "drag/drop" / "拖拽" | Send edit via SSE |
| "preview in timeline" | Show track summary |
| "Export button" / "导出" | Execute §3.5 |
| "check account/billing" | Check §3.3 |
Keep content descriptions. Strip GUI actions.
• Always confirm a session is active and valid before dispatching any operation request. • After every SSE message, check for a silent completion and query state if no text response is received. • Present progress updates to the user during long-running operations by surfacing intermediate state-query results. • Translate all user-facing language about music, trimming, or effects into the appropriate API action rather than passing natural language directly to the backend. • When a two-stage pipeline is triggered, wait for both stages to finish before offering the export option to the user.
• A single session cannot run more than one long-running operation concurrently; queue additional requests until the active operation resolves. • File uploads are capped at the size limit defined in the upload endpoint documentation; files exceeding this limit must be rejected before submission. • SSE connections do not persist indefinitely and will time out under prolonged inactivity; implement the disconnection recovery flow proactively. • Credit balance is not updated in real time; always re-query after an operation completes rather than relying on a cached value. • Background music selection during the two-stage pipeline is handled entirely by the backend and cannot be overridden mid-pipeline.
The table below maps each HTTP error code to its likely cause and the recommended recovery action.
| Code | Meaning | Action |
|---|---|---|
| 0 | Success | Continue |
| 1001 | Bad/expired token | Re-auth via anonymous-token (tokens expire after 7 days) |
| 1002 | Session not found | New session §3.0 |
| 2001 | No credits | Anonymous: show registration URL with ?bind=<id> (get <id> from create-session or state response when needed). Registered: "Top up at nemovideo.ai" |
| 4001 | Unsupported file | Show supported formats |
| 4002 | File too large | Suggest compress/trim |
| 400 | Missing X-Client-Id | Generate Client-Id and retry (see §1) |
| 402 | Free plan export blocked | Subscription tier issue, NOT credits. "Register at nemovideo.ai to unlock export." |
| 429 | Rate limit (1 token/client/7 days) | Retry in 30s once |
Common: no video → generate first; render fail → retry new id; SSE timeout → §3.6; silent edit → §3.1 fallback.
Before going live, verify that the integration targets the correct API version by checking the version field in the base endpoint response. The access token must include all scopes required for the operations in use — at minimum: session:write, media:upload, media:export, and credits:read. Tokens missing any required scope will receive a 403 response; re-authorize with the full scope set rather than retrying with the same token.
© LeoYeAI, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 1 other file in skills/how-to-add-music-to-video of LeoYeAI/openclaw-master-skills.
Open the folder on GitHubat commit e5199b5
How To Add Music To Video 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 |
|---|---|---|---|---|---|---|
| How To Add Music To Video this skillLeoYeAI/openclaw-master-skills | 2.2k | — | ~4.3k | Automated safety check: Pass | MIT | |
| Brand Voice Content Creatordavila7/claude-code-templates | 33k | 3 repos | ~1.9k | Automated safety check: Pass | MIT | |
| WeChat Article Writerliuyueyi/spring-ai-demo | 138 | 1 repos | ~244 | Automated safety check: Pass | None | |
| WeChat Official Account Pipelineaiworkskills/wechat-article-skills | 672 | — | ~2k | Automated safety check: Pass | Apache-2.0 | |
| AI Content Creatorhuifer/claude-code-seo | 110 | — | ~1.7k | Automated safety check: Notes | MIT | |
| Content Creatorsickn33/agentic-awesome-skills | 47k | 1 repos | ~2.5k | Automated safety check: Pass | MIT |
davila7/claude-code-templates
Analyzes a brand's existing writing to lock in a consistent voice, then builds SEO blog posts and platform-specific social content around it.
liuyueyi/spring-ai-demo
Runs a four-step workflow for WeChat official account articles: research the topic, draft in your saved style, produce five headline options, and tune the layout.
aiworkskills/wechat-article-skills
Orchestrates the full WeChat official account workflow from topic to draft, chaining sub-skills for writing, review, layout, images and publishing.
huifer/claude-code-seo
AI 内容创作专家,生成高质量的 SEO 和 GEO 优化内容,支持多种内容类型和风格. An agent skill from huifer/claude-code-seo.
sickn33/agentic-awesome-skills
Drafts and reviews audience-specific content from supplied brand examples, with local scripts for brand voice and SEO diagnostics, channel templates and a content calendar.
manojbajaj95/claude-gtm-plugin
Comprehensive social media management for all platforms (LinkedIn, Twitter/X, Instagram, TikTok, Facebook, Pinterest, YouTube).
LeoYeAI/openclaw-master-skills
Manages pipelines on a DevOps quality and efficiency platform through its OpenAPI: list workspaces and templates, create, update, run and cancel pipelines, and read run records.
LeoYeAI/openclaw-master-skills
Patches OpenClaw's Feishu extension so an edited document triggers an isolated agent session that reads the doc and replies inline, turning it into a live chat space.
LeoYeAI/openclaw-master-skills
Multi-context memory management system for OpenClaw agents with group-isolated storage, global shared memory, workspace organization, and group-specific skills isolation.
LeoYeAI/openclaw-master-skills
Runs a brand's AI-search visibility work end to end: diagnosing how AI platforms represent it, repositioning it, producing AI-optimized content and monitoring ongoing mentions.
LeoYeAI/openclaw-master-skills
Installs and authenticates the gws CLI, then automates Gmail, Drive, Sheets, Calendar, Docs, Chat and Tasks with ready-made recipes, persona bundles and security audits.
LeoYeAI/openclaw-master-skills
Runs four advisor roles, a fitness coach, nutritionist, data analyst and TCM practitioner, to build a health profile and track workouts, diet and wellness over time.
Categories
Learn how-to-add-music-to-video using ClawHub's conversational AI skill. How To Add Music To Video is an agent skill from LeoYeAI/openclaw-master-skills. Learn how-to-add-music-to-video using ClawHub's conversational AI skill.
How To Add Music To Video fits situations like: tasks that involve Blog and article writing; tasks that involve Chatbots and conversational support.
Run `npx skills add LeoYeAI/openclaw-master-skills --skill how-to-add-music-to-video -a claude-code`. Or copy the skill folder (skills/how-to-add-music-to-video in LeoYeAI/openclaw-master-skills) into .claude/skills/how-to-add-music-to-video in your project. Claude Code loads it when a task matches its description.
Run `npx skills add LeoYeAI/openclaw-master-skills --skill how-to-add-music-to-video -a codex`. Or copy the skill folder (skills/how-to-add-music-to-video in LeoYeAI/openclaw-master-skills) into .agents/skills/how-to-add-music-to-video 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 LeoYeAI/openclaw-master-skills --skill how-to-add-music-to-video -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/how-to-add-music-to-video, .gemini/skills/how-to-add-music-to-video, .github/skills/how-to-add-music-to-video and .opencode/skills/how-to-add-music-to-video in your project.
Going by SKILL.md and its folder, How To Add Music To Video needs the command-line tools its instructions call (curl) and credentials named NEMO_TOKEN. Our summary lists: A credential in NEMO_TOKEN.
SKILL.md names 2 domains. In commands or code: mega-api-prod.nemovideo.ai and nemovideo.com; the agent is likely to contact these when it follows the instructions. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
How To Add Music To Video is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 4.3k tokens (SKILL.md is roughly 17k 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 How To Add Music To Video: Brand Voice Content Creator (davila7/claude-code-templates, 33k stars), WeChat Article Writer (liuyueyi/spring-ai-demo, 138 stars), WeChat Official Account Pipeline (aiworkskills/wechat-article-skills, 672 stars) and AI Content Creator (huifer/claude-code-seo, 110 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
LeoYeAI (a GitHub user) maintains it in LeoYeAI/openclaw-master-skills, which has 2,161 GitHub stars. The repository holds 1,235 skills in this directory. The repository was last updated on July 20, 2026.
Source: LeoYeAI/openclaw-master-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.