CtrlK
BlogDocsLog inGet started
Tessl Logo

render-editorial-motion-podcast

Assemble an editorial-motion podcast-clip ad from a config — a real clipped podcast MP3 carries the narrative while N flat 2-tone editorial-illustration keyframes are animated NOT by generative i2v but by DETERMINISTIC ffmpeg ken-burns (zoompan) + hard cuts (no crossfades, which expose geometric drift), each beat snapped to its spoken line, the real audio muxed, Whisper-driven captions burned only mid-sentence, and closed on a PIL brand end card — never AI-rendered text. This is the FREE deterministic assembly stage (ffmpeg ken-burns + hard concat + audio mux + captions + end card); the real audio is clipped from source and the keyframes come from create-image-fal. Use for the editorial-motion-podcast format.

59

Quality

68%

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-editorial-motion-podcast/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

53%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 dense, technically specific contract for the assembly stage with good external file references, but it stops short of giving complete executable commands and lacks a final-output validation loop, which the batch-operation rule caps at 3 for workflow clarity.

Suggestions

Add at least one complete, copy-paste-ready ffmpeg command per major stage (ken-burns segment, hard concat, audio mux, caption burn, end-card composite) instead of only flag fragments.

Add an explicit validation checkpoint after the final master is produced (e.g. probe with ffprobe / play-test) with a fix-and-rerun feedback loop, since this is a batch render operation.

Move the long Contract rules into a dedicated referenced file (e.g. scripts/CONTRACT.md) and surface the bundle references in a structured '## References' section with one-line descriptions to tighten the overview.

DimensionReasoningScore

Conciseness

Mostly efficient and free of basic-concept padding, but the 'FREE, deterministic assembly' framing repeats across the intro, Run, and Contract sections and several justifying asides ('which expose geometric drift', 'that collapse the 2-tone look') could be trimmed.

3 / 5

Actionability

Provides concrete fragments — exact flags ('-map 0:v:0 -map 1:a:0', 'zoompan', "enable='between(t,st,en)'"), the caption formula 'end = min(last_word_end + ~0.15, next_start - 0.03)', and the 1.0→~1.06× zoom range — but never assembles them into complete, runnable ffmpeg commands, leaving the operator to construct the invocations.

3 / 5

Workflow Clarity

The render→concat→mux→caption→end-card sequence is clear and includes one checkpoint ('check ffmpeg -filters first' for libass), but this batch render workflow lacks a final output-validation feedback loop, capping it per the batch-operation rule.

3 / 5

Progressive Disclosure

The body acts as an overview pointing to real one-level-deep bundle files ('scripts/config.example.json', 'scripts/PIPELINE.md', 'scripts/README.md'), but the references are embedded in prose rather than a structured navigation section and the long inline Contract block could be split out.

4 / 5

Total

13

/

20

Passed

Description

83%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 specific, action-dense description that clearly carves out a distinct niche and states both what and when. The main gap is a thin trigger clause — a single format reference with no synonyms or file extensions — which keeps completeness and trigger quality just below the top anchor.

DimensionReasoningScore

Specificity

Lists multiple concrete assembly actions — 'ffmpeg ken-burns (zoompan) + hard cuts', 'real audio muxed', 'Whisper-driven captions burned', 'PIL brand end card', 'hard concat' — with comprehensive coverage of the pipeline stages.

5 / 5

Completeness

Explicitly states what it does ('Assemble an editorial-motion podcast-clip ad from a config') and when to use it ('Use for the editorial-motion-podcast format'), but the 'when' clause is a single format reference rather than rich, concrete trigger phrases.

4 / 5

Trigger Term Quality

Contains several relevant natural terms ('podcast-clip ad', 'podcast MP3', 'ken-burns', 'captions', 'end card') but offers only one format-name trigger ('Use for the editorial-motion-podcast format') with no synonyms or file extensions, stopping short of comprehensive coverage.

4 / 5

Distinctiveness Conflict Risk

Occupies a clear, highly specific niche (deterministic ffmpeg assembly of editorial-motion podcast ads) and even names a sibling skill ('create-image-fal'), giving it distinct triggers with minimal conflict risk.

5 / 5

Total

18

/

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.

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.