CtrlK
BlogDocsLog inGet started
Tessl Logo

render-value-prop

Render a designed 'value prop' video from a config — 3-5 noun-phrase benefit claims (<=4 words each) revealed sequentially over per-SKU product visuals, one crisp editorial frame per claim (hook sticker -> N claim beats -> brand end card). Deterministic PIL/HTML beat renderer frame-stepped via Playwright and encoded with FFmpeg, sound-off legible, hard cuts, uniform pacing. FREE (no paid calls); music is added separately (create-music-elevenlabs). Use for the value-prop 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

Low

Low-risk findings worth noting

Fix and improve this skill with Tessl

tessl review fix ./skills/ads/capabilities/render-value-prop/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

67%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.

The body is a well-structured, mostly actionable overview that points to real bundle files rather than inlining them. Its weaknesses are noticeable redundancy with the frontmatter description, a missing final verification step, and one dangling bundle path (`shared/beat-templates/`).

Suggestions

Trim the opening paragraph to remove facts already stated in the frontmatter description (sound-off legibility, claim word limits, SKU rotation, FREE status) and keep them only in '## Contract', cutting tokens with no loss of information.

Add an explicit post-render validation step, e.g. 'Confirm `<dir>/finals/master.mp4` exists and its duration lands in the 10-20s window before shipping'.

Fix or remove the `shared/beat-templates/` reference (it is not in the bundle), or add the directory to `scripts/` so every referenced path resolves.

DimensionReasoningScore

Conciseness

The body is dense with project-specific detail and explains nothing Claude already knows, but the opening paragraph substantially repeats the frontmatter description (sound-off legibility, <=4-word claims, SKU rotation, FREE/no paid calls, music-separate are each restated in '## Contract'), so it could be tightened. Not a 4 because the description/body duplication is more than a minor instance — roughly half the intro re-states facts already in the loaded frontmatter.

3 / 5

Actionability

Concrete guidance throughout: `render_master.py --config config.json --project <dir>` with its output path `master-clean.mp4` and resolution, a named config schema (`ad_sample.recipe.config`) plus `config.example.json`, env-var overrides (`RENDER_PYTHON`, `FFMPEG`), and named optional scripts that all exist in `scripts/`. Not a 5 because the run command is not copy-paste ready (no interpreter/cwd shown) and no example config snippet or invocation of the preview scripts is given inline.

4 / 5

Workflow Clarity

The sequence is clear for a single-command skill: author `config.json` per the schema, optionally gate with `build_storyboard_preview.py`, run `render_master.py`, receive the silent master; the preview gallery acts as a checkpoint. Not a 5 because there is no explicit post-render verification (e.g., check the output file exists/plays, confirm duration in the 10-20s window) — checkpoints are present but the final validation is left implicit.

4 / 5

Progressive Disclosure

Good structure for an under-50-line skill: three well-organized sections (Run, Choices, Contract) with config schema details pushed to `config.example.json` and per-script behavior summarized in one line each; nearly all referenced bundle paths (`render_hyperframe.py`, `render_master.py`, `build_storyboard_preview.py`, `build_text_overlays.py`, `config.example.json`) actually exist. Not a 5 because `shared/beat-templates/` is referenced but does not exist anywhere in the bundle, a dangling reference that breaks otherwise clean one-level-deep navigation.

4 / 5

Total

15

/

20

Passed

Description

72%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.

The description is highly specific and concrete, clearly answering 'what' and giving an explicit, if terse, 'when'. Its main weakness is trigger-term quality: heavy internal jargon and missing common synonyms for the video/ad format mean users' natural phrasing may not match.

Suggestions

Add user-facing synonyms to the description (e.g., 'promo video', 'product ad', 'marketing video', 'benefit-claims spot') so natural requests match without knowing the term 'value prop'.

Expand the trigger clause from 'Use for the value-prop format' to something like 'Use when the user asks for a value-prop / product-benefits promo video or wants benefit claims rendered over product visuals'.

Move implementation jargon ('PIL/HTML beat renderer frame-stepped via Playwright', 'per-SKU') later in the description and lead with the outcome (a designed, sound-off-legible promo video) to improve first-line matching.

DimensionReasoningScore

Specificity

Quotes like "Render a designed 'value prop' video from a config", "hook sticker -> N claim beats -> brand end card", "Deterministic PIL/HTML beat renderer frame-stepped via Playwright and encoded with FFmpeg" list multiple concrete actions with comprehensive coverage of inputs, structure, tooling, and constraints. Not a 4 because there are no meaningful gaps — output format, pacing, legibility, and cost are all explicitly stated.

5 / 5

Completeness

The 'what' is explicit and detailed (render a value-prop video from a config with a specified beat structure), and a 'when' clause is present ("Use for the value-prop format."), so the score-3 cap for a missing trigger does not apply. Not a 5 because the 'when' is terse and assumes familiarity with the recipe ecosystem rather than giving concrete trigger phrases like 'use when the user asks for a value-prop/product-benefit video'.

4 / 5

Trigger Term Quality

Relevant keywords exist ("value prop video", "benefit claims", "product visuals", "brand end card") but common user-facing synonyms like "promo video", "ad", "commercial", or "marketing video" are missing, and much of the phrasing is technical jargon ("PIL/HTML beat renderer frame-stepped via Playwright", "per-SKU") users would not naturally say. Not a 4 because the natural-vocabulary coverage is thin relative to the technical vocabulary.

3 / 5

Distinctiveness Conflict Risk

"Use for the value-prop format" carves out a clear niche and the explicit boundary ("music is added separately (create-music-elevenlabs)") reduces overlap with sibling skills. Not a 5 because the single trigger phrase is narrow and the description could still match a generic product-video/render request, giving minor overlap risk with closely related render skills.

4 / 5

Total

16

/

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.