CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

ai-video-gen

Generate AI videos from text prompts using multiple provider gateways. Use when: (1) Generating videos from text descriptions, (2) Creating AI-generated video clips for content production, (3) Image-to-video generation with a reference image, (4) Choosing between video generation providers (VEO, Kling, Sora, Runway, Seedance, MiniMax, Gemini Omni). Supports gateways: HeyGen API, fal.ai API, and the Gemini API (Gemini Omni Flash).

56

Quality

70%

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 ./.claude/skills/ai-video-gen/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

38%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 documents the HeyGen REST path with complete, copy-paste-ready code, but that same ~200-line API reference is inlined instead of split into a reference file, the identical request is repeated across several formats, and the skill's mandated entry point (video_selector) plus the fal.ai and Gemini tool paths are never concretely documented. References to 'Layer 3' files point at files that don't exist in the bundle.

Suggestions

Move the HeyGen REST API reference (request-field table, 13-provider table, response schemas, TypeScript/Python clients) into a references/ file such as references/heygen-api.md, keep a concise quick-start in SKILL.md, and delete the duplicated request examples (the same POST appears ~6 times).

Either create the referenced 'Layer 3' files (seedance-2-0, gemini-omni) as real files under references/ with clearly signaled links, or remove those references — as written they point to files that don't exist in the bundle.

Document the mandated video_selector workflow with a concrete example (inputs, how it scores/falls back across gateways), and resolve the contradiction between 'Always use video_selector' and the 'Default Workflow' that calls the REST endpoint directly, plus the conflicting guidance on whether any gateway is the default.

DimensionReasoningScore

Conciseness

The same POST request is demonstrated roughly six times (Authentication curl, Execute curl, TypeScript, Python, and three of four Usage Examples), and the Seedance 2.0 preference is stated twice (intro paragraph 'Preferred premium default — Seedance 2.0' and Best Practice #2). This is noticeably verbose with several padded/duplicated sections, matching the 2 anchor rather than the isolated tightening of the 3 anchor.

2 / 5

Actionability

The HeyGen REST path is fully executable (endpoint, request-field and provider tables, runnable curl/TypeScript/Python, polling code with error handling), but the skill's own mandated entry point — 'Always use video_selector instead of calling provider tools directly' — has no example or parameters, and the fal.ai tools (seedance_video, kling_video, minimax_video, veo_video) and gemini_omni_video are named with zero usage detail. Missing key details in the primary path; not 4 because these gaps are central rather than minor.

3 / 5

Workflow Clarity

The 'Default Workflow' is sequenced (submit → poll every 10s → retrieve video_url) and the polling code handles 'failed', 'not_found', and timeout, but it directly contradicts the IMPORTANT directive to always go through 'video_selector', and gateway-choice guidance conflicts ('Preferred premium default — Seedance 2.0' vs. 'Do not describe either gateway as the default or top choice'), leaving the actual first step ambiguous. The task is non-destructive so no cap applies; fits 3 rather than 4 due to the two competing entry points.

3 / 5

Progressive Disclosure

'See Layer 3 seedance-2-0' and 'Layer 3 gemini-omni' reference files that do not exist in the bundle (no references/ directory is present), while ~200 lines of HeyGen REST API reference (field tables, provider table, response schemas, full TS/Python clients) are inlined wholesale. Content that clearly belongs in separate files is inlined and the only references present are dangling; not 3 because navigation to the referenced detail actually fails, and not 1 because section headers keep the body navigable.

2 / 5

Total

10

/

20

Passed

Description

92%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: concrete, third-person, explicit 'Use when' triggers covering both text-to-video and image-to-video, and distinctive provider-name keywords. The only weakness is missing a few natural synonym phrases such as 'text-to-video' or 'animate an image'.

DimensionReasoningScore

Specificity

Multiple concrete actions are enumerated — 'Generate AI videos from text prompts', 'Image-to-video generation with a reference image', 'Choosing between video generation providers (VEO, Kling, Sora, Runway, Seedance, MiniMax, Gemini Omni)' — plus explicit gateway support. Third-person voice is used throughout. Fits the 'comprehensive coverage' anchor; no minor gaps in the domain's core actions.

5 / 5

Completeness

Clearly answers 'what' ('Generate AI videos from text prompts using multiple provider gateways') and 'when' with an explicit 'Use when: (1)…(4)' clause listing concrete triggers. Matches the top anchor exactly; not 4 because the 'when' is fully explicit rather than vague.

5 / 5

Trigger Term Quality

Good natural keyword coverage ('AI videos', 'text prompts', 'image-to-video', and the provider names users would name). Misses common synonyms such as 'text-to-video' and 'animate an image', so it falls between the 'good coverage' (4) and 'comprehensive synonyms' (5) anchors, closer to 4.

4 / 5

Distinctiveness Conflict Risk

Clear niche (AI video generation) with highly distinctive triggers — provider names like VEO, Kling, Sora, Runway, Seedance — that separate it from generic video-editing or file-processing skills. Minimal conflict risk; fits the top anchor.

5 / 5

Total

19

/

20

Passed

Validation

81%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 13 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

allowed_tools_field

'allowed-tools' contains unusual tool name(s)

Warning

metadata_version

'metadata.version' is missing

Warning

metadata_field

'metadata' should map string keys to string values

Warning

Total

13

/

16

Passed

Repository

calesthio/OpenMontage

Path

.claude/skills/ai-video-gen/SKILL.md

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.