CtrlK
BlogDocsLog inGet started
Tessl Logo

create-video-seedance-2-fal

Generate a single 4-15s vertical video clip with ByteDance Seedance 2.0 reference-to-video via fal.ai. Multi-image reference (avatar + product + setting), native lip-synced VO + ambient audio (generate-audio on by default), internal multi-cut handling within one render. Routes through the GooseWorks FAL proxy (bills the Ads agent). The default clip atom for AI-creator UGC ads built on the NB2 + Seedance architecture. Validated on beauty-by-earth/video-01.

62

Quality

78%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Medium

Suggest reviewing before use

Fix and improve this skill with Tessl

tessl review fix ./skills/ads/packs/ugc-video-formats/create-video-seedance-2-fal/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

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

An exceptionally actionable, operationally validated skill body with explicit workflows, checkpoints, and error-recovery loops for a fragile paid operation. Its weaknesses are length and redundancy (including dated pricing and contradictory guidance on AI-gen video input) and a monolithic layout where the prompt template and failure tables should live in bundled reference files.

Suggestions

Reconcile the direct contradiction between Decision Rule 1 ('NEVER pass AI-generated video as video_urls... rejects with partner_validation_failed') and Rule 0e ('FAL DOES accept AI-gen video as input'), or fold the superseded rule into a clearly marked 'deprecated patterns' section.

Move the full prompt template (and optionally the long failure-mode table) into a bundled references/ file (e.g. references/prompt-template.md) and verify cited paths like prompt-example.md and DELIVERY_STYLES.md exist relative to the skill.

Trim repeated validation-date stamps and 'Memory:' citations to a single line each, and mark the dated pricing table as versioned/as-of info to reduce token load.

DimensionReasoningScore

Conciseness

The body is dense with validated, non-obvious operational knowledge Claude would not know, so most tokens earn their place — but at 263 lines it could be tightened: dated time-sensitive info ('Pricing (2026-05)', many 'Validated 2026-05-23' stamps), repeated 'Memory: feedback_*.md' citations, very long failure-mode table rows, and an internal contradiction (Rule 1 'NEVER pass AI-generated video as video_urls' vs Rule 0e 'FAL DOES accept AI-gen video as input... the old assumption is outdated'). This is 'mostly efficient but includes some unnecessary material and could be tightened' rather than efficient.

3 / 5

Actionability

Fully executable throughout: a copy-paste-ready CLI invocation with concrete values, the exact JSON payload passed to the endpoint, exit codes enumerated, a complete fill-in prompt template, per-failure recovery actions, and a concrete curl command for recovery ('curl -sSL -o <output>.mp4'). Specific examples cover the common cases (identity lock via image_urls, NSFW surfacing, timeout recovery).

5 / 5

Workflow Clarity

Multi-step processes are explicitly sequenced with validation checkpoints and feedback loops: a preflight requiring user review before the paid call, the script's numbered behavior with exit-code semantics, a Quality Checks checklist for output verification, a failure-mode table mapping failure to cause to recovery, and a 6-step recovery workflow with a prevention step. Not a level below: checkpoints are explicit, error recovery is looped ('DO NOT re-fire', 'retry once'), and the risky paid operation has approval gates.

5 / 5

Progressive Disclosure

Structure and headers are good, but content that clearly belongs in separate reference files is inlined: the ~50-line full prompt template sits in SKILL.md while simultaneously pointing to 'prompt-example.md' at the repo root (not present in the bundle), and the very long failure-mode and decision-rule sections are candidates for reference files. The actual bundle contains only scripts/generate.py and scripts/media_proxy.py — there is no references/ directory — so several cited paths (prompt-example.md, beauty-by-earth/... working scripts, DELIVERY_STYLES.md) resolve outside or not at all in the bundle. This matches 'some structure; content that should be separate is inline; references present but not clearly signaled'.

3 / 5

Total

16

/

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, information-dense description written in third person with concrete capabilities and defaults. Its main weaknesses are the absence of an explicit 'Use when' trigger clause (capping completeness at 3) and reliance on internal jargon that weakens natural trigger-term coverage.

Suggestions

Add an explicit trigger clause, e.g. 'Use when generating a 4-15s vertical UGC-style ad clip with a talking avatar and native lip-synced VO from image references.'

Add natural synonyms and concrete trigger phrases ('mp4', 'AI creator video', 'video ad clip', 'talking-head product review') and drop internal jargon like 'clip atom' and 'NB2 + Seedance architecture'.

State the differentiator against sibling video skills (e.g. 'prefer over veo3 when an on-screen person must match supplied reference images') to reduce conflict risk with closely related skills.

DimensionReasoningScore

Specificity

The description lists multiple concrete actions with concrete parameters: 'Generate a single 4-15s vertical video clip with ByteDance Seedance 2.0 reference-to-video via fal.ai', 'Multi-image reference (avatar + product + setting)', 'native lip-synced VO + ambient audio (generate-audio on by default)', 'internal multi-cut handling within one render'. This matches the anchor for comprehensive, specific concrete actions; it is not merely naming a domain with generic actions.

5 / 5

Completeness

The 'what' is clear (generate a 4-15s vertical clip with multi-image reference, native lip-synced VO, multi-cut handling), but the 'when' is missing: there is no 'Use when...' clause, and 'The default clip atom for AI-creator UGC ads' is only weakly implied trigger guidance. Per the judging guidelines, a missing 'Use when' clause or equivalent explicit trigger guidance caps completeness at 3.

3 / 5

Trigger Term Quality

Natural terms users would say are present — 'vertical video clip', 'lip-sync', 'avatar', 'product', 'UGC ads', 'Seedance', 'fal.ai' — giving good keyword coverage. It falls short of a 5 because common synonyms/extensions (mp4, text-to-video, AI video, video ad) are missing and some terms are internal jargon ('clip atom', 'NB2 + Seedance architecture', 'GooseWorks FAL proxy') a user would not naturally say.

4 / 5

Distinctiveness Conflict Risk

The niche is clear and named precisely (Seedance 2.0 reference-to-video via fal.ai, UGC ad clips), so it is mostly distinct. It is not a 5 because the generic opener 'Generate a single 4-15s vertical video clip' overlaps with closely related sibling video skills (create-video-fal, create-video-veo3) and the description gives no explicit differentiation for when to prefer this one.

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.