CtrlK
BlogDocsLog inGet started
Tessl Logo

render-song-mv

Assemble a song-driven music-video ad from a config — a generated sung track carries the whole narration across N tableaux (one keyframe -> one i2v clip per lyric beat) with NO separate voiceover, captions synced to the song's OWN word timings (script-window, never Whisper) and the hook word landing on the chorus drop, closed on a PIL brand end card. This is the FREE deterministic assembly stage (clip cut-to-timeline + captions + end card + FFmpeg composite); the song, keyframes, and clips come from create-music-elevenlabs / create-image-fal / create-video-fal. Use for the song-driven-music-video format.

60

Quality

75%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./skills/ads/capabilities/render-song-mv/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

61%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A well-structured, token-efficient overview with a strong contract section of project-specific constraints, but it delegates execution to bundle files that contain documentation rather than runnable scripts, and the assembly workflow lacks explicit validation checkpoints. The clearest improvement path is adding executable command/script references and verification steps for the deterministic pipeline.

Suggestions

Add the actual executable commands (or a bundled script) for the free assembly stage — e.g. the FFmpeg concat/caption-burn/composite commands and the PIL end-card script — so the skill's concrete guidance becomes copy-paste actionable rather than reconstructable from prose.

Include explicit validation checkpoints in the workflow (e.g. verify timeline.json boundaries land on lyric-phrase edges, verify the ASS caption file covers all beats, verify the muxed master's duration/loudness) so the multi-step pipeline can catch errors early.

Trim the redundancy between the opening paragraph and the frontmatter description, and between the Run and Contract sections, to recover token budget without losing the project-specific constraints.

DimensionReasoningScore

Conciseness

No padding with concepts Claude already knows — every line carries project-specific constraints ("loudnorm to −14 LUFS → 1080×1920 h264+aac", "Whisper on sung audio returns '🎵 Music Playing 🎵'"). Not 5 because the opening paragraph substantially restates the frontmatter description and the Contract section re-covers the Run section; not 3 since unnecessary explanation is limited.

4 / 5

Actionability

Concrete parameter-level guidance exists ("Chunk `audio/words.json` (~3 words at lyric boundaries)", "burn the caption ASS", specific output spec), but the bundle contains no executable scripts — scripts/ holds only two markdown docs and a config example, and PIPELINE.md points to unbundled external paths (clients/loona/ad-runs/...). Claude must reconstruct all FFmpeg/PIL commands from prose. Not 4 because no copy-paste-ready commands exist anywhere in the skill; not 2 because the guidance is specific at the config-field level.

3 / 5

Workflow Clarity

The dependency chain is stated ("Plan the timeline AROUND the delivered song", "the song is generated first") and PIPELINE.md maps config blocks to ordered steps, but the body has no explicit step sequence for the assembly itself and no validation checkpoints (no verify-timeline or check-mux steps). Not 4 because checkpoints are entirely absent; not 2 because sequence and contracts are substantially defined.

3 / 5

Progressive Disclosure

The body is an overview that clearly signals one-level-deep references — "`scripts/PIPELINE.md` maps every config block to its step and `scripts/README.md` documents the free assembly", "`scripts/config.example.json` is one worked example" — all verified to exist as real files. Not 5 because PIPELINE.md points onward to unbundled external paths (clients/loona/ad-runs/..., video-orchestrator-with-control-plane), creating a navigation dead-end.

4 / 5

Total

14

/

20

Passed

Description

78%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A dense, highly specific description that clearly answers both what the skill does and when to use it, with excellent boundary delimitation against sibling paid-generation skills. Its main weaknesses are verbosity and a trigger clause that leans on a project-internal format name rather than natural user phrasing.

DimensionReasoningScore

Specificity

Quotes: "Assemble a song-driven music-video ad from a config", "clip cut-to-timeline + captions + end card + FFmpeg composite", "captions synced to the song's OWN word timings" — several concrete, specific actions covering the whole assembly stage. Not 5 because coverage is packed into parentheticals rather than cleanly comprehensive; not 3 because it far exceeds 1-2 concrete actions.

4 / 5

Completeness

The "what" is explicit and detailed ("Assemble a song-driven music-video ad from a config... FREE deterministic assembly stage") and a "when" clause exists ("Use for the song-driven-music-video format"). Not 5 because the when-clause names an internal format rather than concrete user situations; not 3 because an explicit trigger clause is present.

4 / 5

Trigger Term Quality

Natural keywords present: "music-video", "song-driven", "ad", "captions", "FFmpeg", plus an explicit "Use for the song-driven-music-video format" trigger. Not 5 because common synonyms users might say ("lyric video", "video ad", "MV") are missing; not 3 because the core natural terms are present and relevant.

4 / 5

Distinctiveness Conflict Risk

"the song, keyframes, and clips come from create-music-elevenlabs / create-image-fal / create-video-fal" explicitly delimits it from sibling generation skills, and "NO separate voiceover" / "FREE deterministic assembly stage" carve a clear niche with minimal conflict risk.

5 / 5

Total

17

/

20

Passed

Validation

93%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

15

/

16

Passed

Repository
gooseworks-ai/goose-skills
Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.