CtrlK
BlogDocsLog inGet started
Tessl Logo

create-kinetic-typography

Render a deterministic text-only video ad from approved copy, font, colors, timing and CTA. Use when a brand needs an animated message without product photography or a creator.

65

Quality

82%

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

SKILL.md
Quality
Evals
Security

Quality

Content

75%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 exceptionally concise and covers inputs, workflow, checks, and failure modes without a wasted token. Its weakness is executability: it never names or invokes the bundled scripts, leaving the reader to discover the renderer path and command via its --help.

Suggestions

Name the bundle files explicitly (scripts/render.py and scripts/config.example.json) and show the render invocation instead of deferring to "the renderer's help describes its arguments".

Make the fix-and-re-render loop explicit in the workflow (e.g., if validation or inspection fails, adjust beats/config and re-render before delivery).

Clarify or remove the "canonical overlay workflow" reference — no such file exists in this bundle, so it currently dangles.

DimensionReasoningScore

Conciseness

The ~30-line body is lean and operational throughout — e.g., "Hold every beat for 1.5–10 seconds and allow at least three seconds for the CTA. Long copy is wrapped; excessive lines or an oversized word are rejected." No padding and no explanations of concepts Claude already knows; every token earns its place.

5 / 5

Actionability

Concrete parameter constraints exist (beat durations, CTA ≥3s, split-copy-into-beats rule, safe region), but execution is deferred: "Render the video... with the bundled renderer" and "The renderer's help describes its arguments" give no command, and neither scripts/render.py nor scripts/config.example.json is ever named by path. Missing these key execution details fits anchor 3 rather than anchor 4's 'minor gaps'.

3 / 5

Workflow Clarity

A clear 5-step sequence with a validation checkpoint ("Inspect the full video and sheet: readable holds, safe text, intact letters, correct colors/font and complete ending") and a Failure modes section with recovery direction ("Short or crowded beats fail before rendering. Provide shorter copy or more beats."). Not anchor 5 because the fix-and-re-render feedback loop is implied rather than an explicit workflow step.

4 / 5

Progressive Disclosure

The short, well-sectioned body fits the simple-skill profile, but bundle references are not clearly signaled: the renderer and example configuration are referenced without paths, and "the canonical overlay workflow also describes other effects" points at no file present in the bundle. Good structure with minor organization gaps matches anchor 4.

4 / 5

Total

16

/

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 strong description: it explicitly states what the skill does, enumerates its inputs, and includes a concrete, disambiguating 'Use when' clause. Its main weakness is trigger coverage — the natural term "kinetic typography" and common synonyms appear only in the name, not the description.

Suggestions

Work a natural synonym such as "kinetic typography" or "animated text" into the description so users who ask for those trigger the skill.

Add one more concrete capability verb (e.g., previewing frames via a contact sheet) to lift specificity toward comprehensive coverage.

DimensionReasoningScore

Specificity

"Render a deterministic text-only video ad from approved copy, font, colors, timing and CTA" names the domain and a concrete action with enumerated inputs. It stops short of anchor 5 because it lists a single action rather than multiple specific actions, but the input enumeration (copy, font, colors, timing, CTA, determinism, text-only) is more comprehensive than anchor 3's 1-2 actions.

4 / 5

Completeness

Both parts are explicit: the what ("Render a deterministic text-only video ad from approved copy, font, colors, timing and CTA") and the when ("Use when a brand needs an animated message without product photography or a creator") with a concrete trigger phrase. This matches anchor 5; anchor 4's caveat that the 'when' could be more explicit does not apply.

5 / 5

Trigger Term Quality

Natural phrases users would say are present: "video ad", "animated message", "brand". Anchor 5 is not reached because common synonyms like "kinetic typography" (which appears only in the name, not the description), "motion graphics", or "text animation" are missing.

4 / 5

Distinctiveness Conflict Risk

"text-only video ad... without product photography or a creator" carves a clear niche with a disambiguating condition, but "video ad" and "animated message" carry minor overlap risk with general ad-creation or animation skills. Mostly distinct rather than minimal conflict, so anchor 4 fits better than 5.

4 / 5

Total

17

/

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.