CtrlK
BlogDocsLog inGet started
Tessl Logo

render-photo-grid-card

Render a 'photo-grid promo card' video from a config — a real-DOM card with a FIXED header/footer and a CONTINUOUSLY SCROLLING 2-row grid of MIXED tiles (video clips, product/lifestyle stills, big-serif %-OFF, dark promo-code or CTA) + feature chips, frame-stepped via Playwright with real-time <video> playback and encoded with FFmpeg — deterministic assembly, FREE (the clips + music come from create-video-fal + create-music-elevenlabs), text stays pixel-crisp. Use for the photo-grid-promo-card format.

65

Quality

78%

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-photo-grid-card/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.

An actionable, well-structured short skill whose main gaps are mild opening verbosity and the absence of a render-output validation checkpoint.

Suggestions

Add a verification step after render.py (e.g., probe the output with ffprobe to confirm duration ~duration_sec and nonzero video stream) so the workflow has an explicit checkpoint.

Trim the redundant re-description of the fixed/scrolling/mixed signature in the opening paragraph since it already appears in the frontmatter description.

DimensionReasoningScore

Conciseness

Dense and mostly efficient with genuinely non-obvious specifics, but the opening 'signature' restate of fixed/scrolling/mixed repeats the frontmatter and could be tightened.

2 / 3

Actionability

Provides an executable Run command with exact args and output filenames, concrete contract bullets, and a real, explained gotcha (frame-swap because Chromium can't decode H.264 over file://), all pointing to real scripts.

3 / 3

Workflow Clarity

A clear two-step sequence (build_card then render) is present, but there is no validation/verification checkpoint for the rendered mp4, which caps a render/encode workflow at 2.

2 / 3

Progressive Disclosure

Short, well-organized body with sections (Run, Contract) and one-level-deep references to real bundle scripts (build_card.py, render.py, _shared.js) that all exist in ./scripts/.

3 / 3

Total

10

/

12

Passed

Description

85%

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 with explicit use-when guidance and low conflict risk, weakened only by trigger terms that lean on internal format jargon rather than natural user phrasing.

Suggestions

Add natural user-facing trigger phrasing beyond the format name (e.g., 'Use when the user asks for a scrolling promo-card video, a mixed-media product grid ad, or a 1080x1920 feed-card promo with clips and promo codes').

Soften the dense parenthetical run-on (tools, cost, crispness) into the body so the trigger clause reads more cleanly.

DimensionReasoningScore

Specificity

Lists multiple concrete actions — fixed header/footer, continuously scrolling 2-row grid of mixed tiles, Playwright frame-stepping, FFmpeg encoding — rather than vague claims.

3 / 3

Completeness

Explicitly answers what (the full render pipeline) and when via the 'Use for the photo-grid-promo-card format' trigger clause.

3 / 3

Trigger Term Quality

Some relevant terms appear ('video', 'promo card', 'FFmpeg', 'Playwright') but the trigger relies on the format-name jargon 'photo-grid-promo-card format' that a user would rarely say, and common variations are missing.

2 / 3

Distinctiveness Conflict Risk

Targets a very narrow, well-defined niche (this specific scrolling photo-grid promo-card video format) with distinct triggers unlikely to fire for other skills.

3 / 3

Total

11

/

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.