CtrlK
BlogDocsLog inGet started
Tessl Logo

beat-sync-reel

Generates Instagram Reels where product image cuts are synced to audio beats. Accepts audio as a local file, URL, or search query. Uses librosa for beat detection, FFmpeg Ken Burns for scene animation, and Pillow for text overlays. No AI video generation — fully free, fast, and scalable.

62

Quality

78%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Low

Low-risk findings worth noting

Fix and improve this skill with Tessl

tessl review fix ./skills/design/packs/video-production/beat-sync-reel/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

75%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-engineered, highly actionable skill body: concrete commands throughout, a clearly sequenced pipeline with fallback strategies, and honest limitations. The main gaps are the pseudocode end-card snippet, implicit rather than explicit validation checkpoints, and a dangling fonts/ reference with no bundle files provided.

Suggestions

Replace the end-card Pillow comments with real ImageDraw.text calls (font loading, coordinates, colors) so the one non-executable code block becomes copy-paste ready.

Add explicit validation checkpoints in the pipeline: verify the yt-dlp download succeeded and is non-empty, confirm scraped images downloaded correctly, and check minimum scene durations before concatenation (currently only implied via Known Limitations).

Either ship the referenced fonts/ files in the skill bundle or drop/soften the fonts-directory mention so no referenced path is dangling; the Ken Burns variant list and style-preset table could also move to a reference file to slim the main body.

DimensionReasoningScore

Conciseness

The body is dense and functional — ready-to-run ffmpeg/yt-dlp/python commands, two compact tables, and no explanations of concepts Claude already knows. Minor trimmable padding exists: the opening tagline ("Fast, free (no API credits), and scalable") repeats the description, and the Cost section re-states it. Not level 5 because a few tokens are spent restating what the frontmatter and Known Limitations already convey.

4 / 5

Actionability

Mostly executable: full yt-dlp and ffprobe commands, a complete zoom-in ffmpeg command plus exact zoompan filter expressions for the other effects, and copy-paste librosa beat-detection code. It falls short of level 5 because the end-card Pillow snippet is scaffold pseudocode ("# Brand name (centered, y=750)" comments instead of actual ImageDraw.text calls), and the concat.txt uses a literal '...' placeholder.

4 / 5

Workflow Clarity

A clear 7-step pipeline in execution order, with an explicit fallback chain for scraping (Shopify JSON → HTML with referrer → Chrome DevTools) and useful failure-mode guidance (micro-cut merging, beat_freq tuning by tempo). Validation checkpoints are only implicit — e.g. the audio-existence check exists for local files but there is no verify step after download or image scraping — which keeps it below level 5; this is a generative (non-destructive, non-batch) skill so the level-3 cap does not apply.

4 / 5

Progressive Disclosure

Good single-file structure: well-labeled sections (Input, Pipeline, Output, Known Limitations, Cost, Example Usage) with no nested references and one clearly signaled external link. Not level 5: the skill exceeds 50 lines with inline content (Ken Burns effect variants, style-preset table, image-classification heuristics) that could live in reference files, and the body references a pack-level fonts/ directory that is not present in this bundle, an unverifiable path.

4 / 5

Total

16

/

20

Passed

Description

75%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 strong, tool-specific description with excellent capability specificity and a well-differentiated niche. Its main weakness is the complete absence of 'when to use it' trigger guidance, which caps completeness, and modest synonym coverage for natural user phrasing.

Suggestions

Append an explicit trigger clause, e.g. "Use when the user wants a Reel/video synced to music, a beat-synced product video, or asks to cut images to a trending audio track."

Broaden natural trigger terms to include common user phrasings such as "music video", "trending audio", "make a reel", and "product video".

Optionally mention output format (1080x1920 MP4) in the description so users searching for 9:16 video land on this skill.

DimensionReasoningScore

Specificity

The description lists multiple concrete actions with the exact tools for each: "Generates Instagram Reels where product image cuts are synced to audio beats", "Uses librosa for beat detection, FFmpeg Ken Burns for scene animation, and Pillow for text overlays", plus explicit input handling ("Accepts audio as a local file, URL, or search query"). This matches the anchor for comprehensive, specific concrete actions; it is not level 4 because no meaningful capability gap remains for a description.

5 / 5

Completeness

The 'what' is clearly and concretely answered (generates beat-synced Instagram Reels from product images), but there is no 'Use when...' clause or equivalent trigger guidance anywhere in the description. Per the judging guidelines, a missing explicit trigger clause caps completeness at 3 even with a strong 'what'.

3 / 5

Trigger Term Quality

Strong natural terms users would actually say — "Instagram Reels", "audio beats", "product image", "beat" — but common variations like "music video", "trending audio", "reel with music", or file extensions (.mp3/.mp4) are missing. This sits at good-but-not-comprehensive keyword coverage rather than level 5's full synonym coverage, and well above level 3's 'some relevant keywords' since the core trigger vocabulary is present.

4 / 5

Distinctiveness Conflict Risk

It carves a clear niche — beat-synced product Reels from still images — and explicitly disambiguates from adjacent skills via "No AI video generation", minimizing conflict risk with generic video-generation or image-editing skills. Trigger terms like "Instagram Reels" and "audio beats" are distinctive enough to avoid misfiring, matching the clear-niche anchor.

5 / 5

Total

17

/

20

Passed

Validation

87%

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

Validation — 14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

allowed_tools_field

'allowed-tools' contains unusual tool name(s)

Warning

frontmatter_unknown_keys

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

Warning

Total

14

/

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.