CtrlK
BlogDocsLog inGet started
Tessl Logo

render-logo-equation-card

Render the logo-equation card ad (7s, 9:16) — partner icon + brand icon joined by a plus sign as an equation, a two-line "= outcome" headline, four numbered steps, and a CTA that hard-cuts in at 2s, on a static black card over timelapse b-roll, no voice. render_card.py draws the two card plates with measured geometry and hard guardrails (the user must confirm the integration is real, no partnership/endorsement/ranking words, no comment-bait CTA, no dashes); compose.py lays the card over the b-roll sped up to read as a timelapse, with an optional bed; measure_motion.py gates the b-roll (a real-time shot reads as a photo). Free, local.

66

Quality

83%

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

SKILL.md
Quality
Evals
Security

Quality

Content

90%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 tight, fully executable reference for a three-command render pipeline: exact commands, a complete input schema, hard numeric thresholds, and an explicit rejection gate, with essentially zero token waste. The remaining gaps are minor — the measure_motion rejection recovery path is left implicit, and the bundle's fourth script (_fonts.py) is undocumented in the overview.

Suggestions

Make the motion-gate feedback loop explicit, e.g. after "exit 1 = reject" add: "On reject, re-run compose.py with a higher --speed (3-8x) or different real footage, then re-measure — do not ship a clip that fails the gate."

Mention every bundle script's role in the Run section or a one-line bundle map (including _fonts.py) so the scripts/ directory is fully navigable from SKILL.md.

Consider moving the b-roll rules and guardrail enumerations into a short reference file (e.g. references/guardrails.md) if the skill grows, keeping SKILL.md as the overview.

DimensionReasoningScore

Conciseness

The body is lean and dense: every section carries operational constraints or exact commands, with no explanations of concepts Claude already knows and no padding. Phrases like "A locked-off real-time shot measures ~18x less motion than the reference and reads as a still photo" give decision-relevant rationale in one line, and the note "The Slack standup card above is an illustration of the schema, not a default" pre-empts a real misuse in a single sentence.

5 / 5

Actionability

Guidance is fully executable: the Run block gives copy-paste commands with flags, expected outputs ("card-no-cta.png, card-with-cta.png") and exit semantics ("exit 1 = reject"), card.json is a complete working example, and numeric thresholds are explicit throughout ("--speed (3-8x)", "rejects a mean under 1.5", "normalised to -15 LUFS", "7s", "2.0s").

5 / 5

Workflow Clarity

The three-step sequence (render_card.py → compose.py → measure_motion.py) is clearly ordered in one block, with an explicit validation gate ("measure_motion.py ad.mp4 --cta-at 2.0 # exit 1 = reject") and a failure-checklist guardrail section. It sits at 4 rather than 5 because the recovery loop when the motion gate rejects — re-run with a higher --speed or ask the user for different real footage — is implied ("If there is no real footage, ask the user for some") rather than spelled out as a validate → fix → re-measure step.

4 / 5

Progressive Disclosure

Structure is good: the body is a well-sectioned overview (Run, Choices, Guardrails, Rules for the b-roll, Audio) and implementation detail correctly lives in the bundle scripts, all of which are referenced by name with their roles ("render_card.py draws the two card plates… compose.py… measure_motion.py"). It is 4 rather than 5 because the body is ~84 lines with several dense rule lists that could split into a one-level-deep reference, and the bundled _fonts.py is never mentioned or attributed a role.

4 / 5

Total

18

/

20

Passed

Description

71%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 highly specific, well-scoped description that concretely covers the entire render pipeline with real script names and hard constraints, and no fluff or over-claims. Its one structural weakness is the missing "when to use it" trigger guidance, which leaves a user (or Claude) to infer when this renderer is the right one to invoke.

Suggestions

Add an explicit trigger clause, e.g. "Use when the user asks to make a logo-equation card ad / a partner-integration card video / a 7-second vertical card ad with timelapse b-roll".

Include natural synonyms and variations beyond the coined term "logo-equation card", such as "vertical video ad", "social ad", "9:16 video", so the description matches how users actually phrase the request.

State the when-conditions for each gate inline (e.g. "use when real b-roll footage exists"), which both improves trigger guidance and signals when a different ad format skill applies instead.

DimensionReasoningScore

Specificity

The description lists multiple concrete actions covering the full pipeline: "render_card.py draws the two card plates with measured geometry and hard guardrails", "compose.py lays the card over the b-roll sped up to read as a timelapse", and "measure_motion.py gates the b-roll". It also pins concrete format details (7s, 9:16, CTA hard-cuts in at 2s, static black card, no voice), so coverage is comprehensive rather than gappy.

5 / 5

Completeness

The "what" is clear and detailed (draw the plates, compose over sped-up b-roll, gate with motion measurement), but there is no "Use when…" clause or equivalent explicit trigger guidance anywhere in the description, capping completeness at 3 per the rubric guidelines. The "when" is at best weakly implied by the format name itself.

3 / 5

Trigger Term Quality

Good natural domain keywords are present ("card ad", "partner icon + brand icon", "CTA", "b-roll", "timelapse", "9:16", "no voice"), which a user making short-form video ads would plausibly say. It falls short of the 5 anchor because "logo-equation card" is coined jargon with no synonyms, and natural variations like "vertical video", "social ad", or "product video" are missing.

4 / 5

Distinctiveness Conflict Risk

This is a clear niche — a named ad format with specific geometry, duration and gating scripts — so it is mostly distinct with minimal conflict risk. It scores 4 rather than 5 only because in a media-creation skill family other card-format renderers would overlap, and the absence of explicit "use when" phrasing leaves triggering to rely on the coined format name.

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.