CtrlK
BlogDocsLog inGet started
Tessl Logo

render-podcast-skit

Assemble a two-host fake-podcast skit ad from a config — per-line lipsync clips hard-concatenated in script order, scaled/padded to 1080×1920, WHITE bottom-center captions (up to 5 words per cue, broken on sentence punctuation, word-wrapped to stay in-frame, held at least 0.9s) built from each line's OWN ElevenLabs char-level timestamps (offset by cumulative clip start, never Whisper), and closed on a Playwright/PIL brand end card composited from the real wordmark — never AI-rendered text. This is the FREE deterministic assembly stage (concat + white captions + end card + crf28 encode); the per-line VOs, photoreal gpt-image-2 base stills, expression variants, and lipsync clips come from create-vo-elevenlabs / create-image-gpt-image-fal / create-video-fal. Use for the podcast-skit format.

60

Quality

70%

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

Quality

Content

72%

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

The body is concise and well-organized with sound external references, but it describes the ffmpeg/PIL pipeline rather than providing executable commands and omits any validation checkpoint for the batch encode.

Suggestions

Include at least one concrete, runnable ffmpeg command for the concat + caption overlay + crf28 encode so the assembly is copy-paste actionable.

Add an explicit verification step (e.g. probe the master with ffprobe to confirm 1080x1920 h264+aac and a sane duration before declaring done).

Show the minimal caption-timeline build (how char-level offsets become <=5-word cues held >=0.9s) as a short snippet rather than only prose.

DimensionReasoningScore

Conciseness

The body is lean and assumes competence — it explains no basic concepts and every line carries a concrete constraint (1080x1920, '#FFFFFF', '>=0.9s', '-crf 28'), matching the lean-and-efficient anchor.

3 / 3

Actionability

Concrete parameters are named but no executable code or copy-paste commands are given — the ffmpeg/ASS/PIL pipeline is described in prose ('Concat the clips, overlay the WHITE caption PNGs...', 'final-encode -preset slow -crf 28') rather than shown, fitting the some-guidance-but-incomplete anchor.

2 / 3

Workflow Clarity

A sequence exists (walk scenes -> build captions -> hard-concat -> append end card -> encode) but this batch/encode operation has no explicit validation or verification checkpoint, which caps workflow_clarity at 2 per the rubric.

2 / 3

Progressive Disclosure

The body is a concise overview with well-signaled, one-level-deep references to real verified bundle files (scripts/PIPELINE.md, scripts/README.md, scripts/config.example.json), matching the clear-overview-with-good-references anchor.

3 / 3

Total

10

/

12

Passed

Description

67%

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

The description is highly specific and clearly differentiated, but it leans on technical jargon over natural trigger terms and substitutes a terse 'Use for...' phrase for an explicit 'Use when...' clause.

Suggestions

Add an explicit 'Use when...' clause naming user-facing triggers like 'podcast ad', 'podcast skit', '9:16 vertical skit', 'assemble a podcast skit'.

Soften the jargon density in the opening — surface natural keywords ('podcast ad', 'captions', 'vertical video') alongside the technical specifics.

Move the deepest parameter detail (e.g. 'gpt-image-2 quality=high', 'crf28') into the body and keep the description readable.

DimensionReasoningScore

Specificity

Lists multiple concrete actions — 'hard-concatenated in script order, scaled/padded to 1080x1920', 'WHITE bottom-center captions (up to 5 words per cue...)', 'Playwright/PIL brand end card', 'crf28 encode' — matching the multiple-specific-actions anchor.

3 / 3

Completeness

Thoroughly answers 'what' but the trigger guidance is only the terse 'Use for the podcast-skit format' rather than an explicit 'Use when...' clause, which caps completeness at 2 per the rubric guidelines.

2 / 3

Trigger Term Quality

Contains some natural terms ('podcast-skit format', 'fake-podcast skit ad') but is dominated by technical jargon ('char-level timestamps', 'Playwright/PIL', 'crf28') and lacks common user-facing variations, fitting the some-keywords-but-missing-variations anchor.

2 / 3

Distinctiveness Conflict Risk

Occupies a clearly distinct niche (the FREE deterministic assembly stage of a two-host podcast skit) with narrow, unlikely-to-overlap triggers.

3 / 3

Total

10

/

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.