CtrlK
BlogDocsLog inGet started
Tessl Logo

faceless-explainer

Turn arbitrary text — an article, notes, a topic, a brief — into a faceless explainer video: there is no site or footage to capture, so the visuals are invented per scene (typography, abstract graphics, diagrams, data-viz). Use for topic explainers, concept breakdowns, how-tos, listicles. Not a video built from a website (/product-launch-video — promo or tour). Unclear → /hyperframes.

71

Quality

89%

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

88%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 strongly engineered orchestration skill: every step is executable with concrete commands, explicit gates, error-recovery loops, and mode branching, with details correctly pushed to one-level-deep references. The two real defects are a missing bundle file (`sub-agents/frame-worker.md`) that Step 5's dispatch treats as required input, and duplicated orchestrator statements that cost tokens without adding information.

Suggestions

Add the missing `sub-agents/frame-worker.md` (or correct its path) — Step 5's packet builder concatenates it verbatim into `_role.md`, so the current citation points at a file that does not exist in the bundle.

Dedupe the opening: "You are the orchestrator. Run each step, verify its gate, and only then continue" (front-door paragraph) repeats almost verbatim one paragraph later ("You are the orchestrator... Run steps in order and pass each gate before continuing") — keep one statement and fold the `videos/<project>/` working-directory rule into it.

Tighten the longest chained sentences (e.g., the Step 0 opening rule and the Step 3.1 voice-selection paragraph) into short bullet branches; they each pack 3–4 operational rules into one sentence, which costs re-reading.

DimensionReasoningScore

Conciseness

The body is dense operational prose with almost no explanation of concepts Claude already knows — every step carries commands, gates, or routing rules rather than background. It is not a 5 because of verifiable duplication ("You are the orchestrator. Run each step... pass each gate before continuing" appears in both the front-door paragraph and the following paragraph) and several long, comma-chained sentences that could be tightened without losing meaning.

4 / 5

Actionability

Every step gives copy-paste-ready commands with full flag sets (`npx hyperframes init "videos/<project>" --non-interactive --example=blank --skill=faceless-explainer`, `node <SKILL_DIR>/scripts/audio.mjs sync-durations --audio-meta ./audio_meta.json --storyboard ./STORYBOARD.md`), concrete file formats for `tokens.json`, explicit error policy ("surface stderr and stop — don't pile on recovery commands... cheapest safe edit... then rerun the failed check"), and a documented false-positive with an exact selector. It does not earn below 5: placeholders like `<project>` and `<voice-id>` are appropriately parameterized, and deferring field lists to format references is correct structure, not a gap.

5 / 5

Workflow Clarity

Steps 0–6 are explicitly sequenced with a per-step Goal and a bolded **Gate** (explicit validation checkpoints: "`build-frame.mjs` exited 0 — `frame.md` exists from a named preset", "`lint` and `check` passed and the snapshots were inspected before render"), an error-recovery feedback loop in Step 6, an audio-async dependency handled in Step 5 ("Wait for Step 3.1 audio to finish if audio was started"), and explicit collaborative/autonomous branches at each user-gated step. This matches the top anchor — clear sequence, explicit validation, feedback loops — with nothing missing.

5 / 5

Progressive Disclosure

Structure is good: the body stays an orchestrating overview, all four local `references/*.md` files cited in the body exist, all cited local `scripts/*.mjs` exist, and the Quick Reference table maps each file to when to read it with one-level-deep references. It is not a 5 because `sub-agents/frame-worker.md` is cited twice (Step 5: "this skill's `sub-agents/frame-worker.md`" as half of the worker role payload, and again in the Quick Reference table) but no `sub-agents/` directory exists in the bundle — a broken local reference the Step 5 dispatch depends on. This is a minor organization gap against an otherwise well-signaled structure, so 4 rather than 3.

4 / 5

Total

18

/

20

Passed

Description

87%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 states what and when concretely, enumerates inputs and invented-visual modes, and deconflicts against the nearest sibling skill with both an exclusion and a routing rule. The only soft spot is that the multi-step pipeline (storyboard, narration, render) is invisible from the description alone.

DimensionReasoningScore

Specificity

"Turn arbitrary text — an article, notes, a topic, a brief — into a faceless explainer video" names the core action with enumerated inputs, and "the visuals are invented per scene (typography, abstract graphics, diagrams, data-viz)" enumerates four concrete output forms. Not 5: the description never surfaces the pipeline actions the skill actually performs (design-system selection, storyboard/script drafting, narration/audio, render to MP4), so coverage of what it concretely does has a gap. Not 3: far more than 1–2 bare actions — inputs, visual modes, and a negative boundary are all concrete.

4 / 5

Completeness

What is explicit ("Turn arbitrary text... into a faceless explainer video... visuals are invented per scene") and when is explicit with concrete trigger phrases ("Use for topic explainers, concept breakdowns, how-tos, listicles"), matching the top anchor's what+when-with-triggers pattern. Not 4: the when-clause is not merely present but enumerates four concrete use cases and is reinforced by a negative trigger ("Not a video built from a website") and a routing rule ("Unclear → /hyperframes").

5 / 5

Trigger Term Quality

"Use for topic explainers, concept breakdowns, how-tos, listicles" plus "faceless explainer video" in the what-clause covers the natural phrasings a user would say for this need. Not 5: common variants like "tutorial video", "educational video", or "video from an article/notes" are absent, so a few natural trigger phrases are missing. Not 3: synonyms are covered across four distinct use-case nouns plus the explainer-video framing, well beyond a single generic keyword.

4 / 5

Distinctiveness Conflict Risk

The description carves a clear niche (text-in, invented-visuals explainer) and actively prevents mis-triggering: "Not a video built from a website (/product-launch-video — promo or tour)" disambiguates the nearest sibling, and "Unclear → /hyperframes" routes ambiguous requests away. Minimal conflict risk, matching the top anchor's clear-niche-with-distinct-triggers pattern; not 4 because it exceeds minor-distinctness with an explicit exclusion plus a fallback route.

5 / 5

Total

18

/

20

Passed

Validation

87%

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

Validation — 14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

relative_links

Relative link issues: 1 missing, 13 suspicious

Warning

referenced_paths_exist

Referenced path issues: 2 missing

Warning

Total

14

/

16

Passed

Repository
heygen-com/hyperframes
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.