CtrlK
BlogDocsLog inGet started
Tessl Logo

render-vo-anchored-motion-listicle

Assemble an expert/educator motion-graphic LISTICLE video ad from a config — a spoken authoritative voiceover carries a numbered listicle while N web-animated hyperframe beats (HTML plus the Web Animations API, one branded design system of alternating tiles, big hero numerals, and glass-pill callouts) are rendered frame-by-frame via Playwright and anchored to the VO's word-level timestamps, periodic color-graded B-roll windows give visual breath, and captions burn ONLY inside those B-roll windows (2-word chunks, ASS Format header carrying a Name field so none drop) with the VO mixed under a low music bed. This is the FREE deterministic assembly stage (Playwright beat render plus ffmpeg concat plus window-masked caption burn plus VO-and-music mix plus final composite) — the VO, the music bed, and the stock B-roll come from create-vo-elevenlabs, create-music-elevenlabs, and media-proxy. Use for the vo-anchored-motion-listicle format.

60

Quality

71%

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/ads/capabilities/render-vo-anchored-motion-listicle/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

57%

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

A well-structured overview that defers detail to genuine one-level-deep bundle files and conveys concrete spec parameters, but it repeats its $0/FREE framing, overlaps between sections, and lacks explicit validation checkpoints for the batch render workflow.

Suggestions

State the FREE/$0 framing once and remove the repetitions in the 'Run' and 'Contract' sections to tighten token usage.

Merge the overlapping intro and 'Run' sections into a single concise statement of inputs → assembly → master.

Add an explicit validation checkpoint for the batch render (e.g. verify all beats share fps 25 and that the ASS captions survived the burn before final composite, with a fix-and-retry loop).

DimensionReasoningScore

Conciseness

Mostly efficient and project-specific, but the FREE/$0 framing repeats across nearly every section and the intro overlaps heavily with the 'Run' section, so it could be tightened.

2 / 3

Actionability

Gives concrete parameters (fps 25, h264 crf18, aac 192k, loudnorm I=-14, music ~0.18 vol, 2-word chunks, >0.4s gap close) but no executable commands or scripts inline — actual run detail is deferred to the referenced bundle files.

2 / 3

Workflow Clarity

The assembly sequence is logically ordered, but for a batch render/composite operation there are no explicit validate→fix→retry checkpoints, only implicit gotcha warnings, which caps this at 2.

2 / 3

Progressive Disclosure

The body is a clear overview with well-signaled, one-level-deep references to real bundle files (config.example.json, PIPELINE.md, README.md), with content appropriately split out.

3 / 3

Total

9

/

12

Passed

Description

85%

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 specific, distinct, and complete description with an explicit trigger clause, written in the correct third-person voice. Its main weakness is trigger-term quality: natural user phrasings are buried under a large volume of internal pipeline jargon.

Suggestions

Lead with a plainer user-facing phrasing (e.g. 'Render a listicle video ad with a voiceover-narrated numbered list') before the technical pipeline detail, so natural trigger terms surface first.

Trim internal jargon like 'hyperframe beats', 'glass-pill callouts', and 'ASS Format header carrying a Name field' from the description — these belong in the body, not the trigger surface.

Consider adding common user variations ('numbered list video', 'voiceover listicle ad') alongside the format name to broaden natural-language matching.

DimensionReasoningScore

Specificity

Lists multiple concrete actions — 'rendered frame-by-frame via Playwright', 'anchored to the VO's word-level timestamps', 'captions burn ONLY inside those B-roll windows', 'ffmpeg concat', 'VO mixed under a low music bed' — rather than vague language.

3 / 3

Completeness

Clearly states what it does (the assembly pipeline) and gives an explicit 'Use for the vo-anchored-motion-listicle format' trigger clause, satisfying both what and when.

3 / 3

Trigger Term Quality

Contains the format-name trigger ('vo-anchored-motion-listicle') and natural terms like 'listicle video ad' and 'voiceover', but is dominated by internal jargon ('hyperframe beats', 'glass-pill callouts', 'ASS Format header carrying a Name field') a user would not naturally say.

2 / 3

Distinctiveness Conflict Risk

Targets a highly specific niche (VO-anchored motion-graphic listicle with word-level timestamp anchoring) that is unlikely to overlap with or wrongly trigger other skills.

3 / 3

Total

11

/

12

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.

Validation15 / 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.