Skip to content
Skills Library
Marketing & content · Building & coding

explainer

/explainer

Edits a talking-head clip into an explainer reel. The speaker sits low in a rounded panel on a light backdrop with their head breaking out over its top edge, and the top of the frame explains the point with visuals (a before-to-after comparison with an arrow, or a numbered list). White captions set the key words in a serif. Use when the user runs /explainer or asks for "me at the bottom, visuals on top" on a 9:16 clip.

Licence
MIT
Last repository change
30.10.2026

Assessment and security

100/ 100Class: good
Format25 / 25
Frontmatter with name and description, valid name, description up to 1,024 characters, name matching the folder.
Discoverability25 / 25
Description explains when to use the skill, has a reasonable length and uses third person.
Content35 / 35
At least 150 words and at most 500 lines, headings, step lists, examples or code.
Hygiene15 / 15
No placeholders such as TODO, no Windows paths, with a licence.
Riskno signals detected in the scan
Files in this package
2
Scripts
1
HTML comments
0
URLs in SKILL.md
0
Deprecation

No signals detected. Repository changed on 30.10.2026, without references to retired models or APIs.

Licence

MIT, open: use and modify while retaining author attribution.

What to check before installing
  • 1 scripts in this package. Review them before installing, as Claude may execute them.

Scripts: build.py

What it does and when to use it

Edits a talking-head clip into an explainer reel. The speaker sits low in a rounded panel on a light backdrop with their head breaking out over its top edge, and the top of the frame explains the point with visuals (a before-to-after comparison with an arrow, or a numbered list). White captions set the key words in a serif. Use when the user runs /explainer or asks for "me at the bottom, visuals on top" on a 9:16 clip.

Triggers from the description

me at the bottom, visuals on top
Original author description

Edits a talking-head clip into an explainer reel. The speaker sits low in a rounded panel on a light backdrop with their head breaking out over its top edge, and the top of the frame explains the point with visuals (a before-to-after comparison with an arrow, or a numbered list). White captions set the key words in a serif. Use when the user runs /explainer or asks for "me at the bottom, visuals on top" on a 9:16 clip.

How it works

  1. First use
  2. Steps
  3. Spec
  4. Taste
Original SKILL.md headings · 72 lines, 844 words
SKILL.md preview
---
name: explainer
description: Edits a talking-head clip into an explainer reel. The speaker sits low in a rounded panel on a light backdrop with their head breaking out over its top edge, and the top of the frame explains the point with visuals (a before-to-after comparison with an arrow, or a numbered list). White captions set the key words in a serif. Use when the user runs /explainer or asks for "me at the bottom, visuals on top" on a 9:16 clip.
---

# /explainer

```
┌──────────────────────┐
│   Steal what works   │  title, one word in serif italic
│ [before] ⟶ [after]   │  compare: card, drawn arrow, reveal  (or a numbered list)
│      ╭──head──╮      │  the head breaks out over the panel
│ ╭────┴────────┴────╮ │
│ │  speaker, captions│ │  rounded panel, eye line = its top edge
│ ╰──────────────────╯ │
└──────────────────────┘
```

## First use
This skill's folder is the "Base directory" Claude Code shows when it loads it. Resolve the kit from it (works through symlinks), and set up once:
```bash
SKILL_DIR="<base directory of this skill>"   # the path Claude Code printed as "Base directory for this skill"
KIT=$(python3 -c 'import os,sys;print(os.path.realpath(os.path.join(sys.argv[1],"..","..","kit")))' "$SKILL_DIR")
PY="$KIT/.venv/bin/python"; [ -x "$PY" ] || bash "$KIT/setup.sh" --cutout
```
`GROQ_API_KEY` must be set to transcribe (free at console.groq.com). Needs ffmpeg and Node.

## Steps
1. **Clip.** Use the 9:16 clip the user gave (any size; it is cropped to 1080x1920). Ask for it only if none was given.
2. **Words.** `"$PY" "$KIT/reel.py" words <video>` prints every word with its time (it transcribes on first use). It prints one sentence per line with `[ends …]`, the time its last word ends. Pick one stretch of 3 to 8 seconds that makes ONE point, made of whole sentences: `start` is the first word's time and `end` is the last sentence's `[ends …]` (source seconds).
3. **Eye line.** `"$PY" "$KIT/reel.py" frame <video> <a time in the stretch> frame.jpg`, then look at the image. The red ruler is in 1080x1920 pixels; read the y of the eyes. That is `eye_y` (about 700 to 800 for a normal framing).
4. **Spec.** Write `<clip name>.explainer.json` next to the clip (fields below). Paths in a spec are relative to the spec file. Every time is either seconds from `start` or a spoken word to anchor on (`"viral"`, `"viral#2"` for its second time, `"viral+0.2"`). Prefer words: they stay right when you move `start`.
5. **Build.** `"$PY" "$SKILL_DIR/build.py" <spec.json>`. It cuts the stretch, cuts the speaker out (about 0.1 s per frame), renders with HyperFrames and writes `<out>.sheet.jpg`.
6. **Check.** Look at the sheet. Red is what Instagram covers. Fix the spec and rebuild if:
   - the title or visuals sit in the red
   - a caption covers the mouth, or sits within 80 px of the red bottom zone (move `caption_top`)
   - a caption shows a word from outside the stretch (move `start` or `end` to the sentence edges)
   - the head doesn't break out over the panel (move `eye_y`)
   - an image is missing or squashed
7. **Hand over** the mp4 path and say in one line what each visual shows.

## Spec
```json
{
  "video": "my-clip.mp4", "start": 21.4, "end": 25.66, "out": "my-clip.explainer.mp4",
  "title": "Steal what *works*",
  "eye_y": 750,
  "visual": {
    "type": "compare",
    "left":  {"label": "Another niche", "images": ["theirs-1.jpg", "theirs-2.jpg", "theirs-3.jpg"], "at": 0.3,
              "chip": "14× viral", "chip_at": "viral", "swipe_at": ["carousel", 2.3]},
    "right": {"label": "Your niche", "at": "outside", "reveal_at": "recreate",
              "image": "my-photo.jpg", "text": "the best *ai tools*\nto use when\nyou're *young and broke*"},
    "arrow_at": "and"
  },
  "keys": ["viral", "outside", "recreate"],
  "caption_top": 1420
}
```
- `title`: 1 to 4 words. Wrap ONE word in `*...*` for the serif accent.
- `visual.type: "compare"` is a before and after:
  - The left card shows 1 to 3 images and swipes between them at `swipe_at`.
  - The right card starts as a dashed "?". The arrow draws at `arrow_at`, then the card reveals at `reveal_at`.
  - The right card is either a plain `image`, or a carousel cover made from `image` plus `text` (`*word*` turns yellow, `\n` breaks the line).
- Either card can be a **text card** instead of images: `"big": "*Pro*\ntools", "small": "what pros use"`. Use it when the user has no images. It is the right choice for a left/right comparison the speaker points at.
- `visual.type: "list"`: `{"type": "list", "items": [{"text": "Find a *viral* post", "at": "find"}, ...]}`. Up to 4 numbered rows, each landing as it is said.
- `keys`: caption words to set in the serif. Pick 2 to 4 that carry the meaning. Every time the word is said, it is set in the serif.
- `caption_top`: the y of the top of the captions, 1420 by default. Keep it under the mouth, and its bottom (`caption_top` + 80) above 1500.

## Taste
- One point per clip. If the stretch makes two points, make two explainers.
- Land each visual on the word that names it. Nothing should appear before it is said. The title is the exception: it is there from the first frame.
- Keep the top visuals between y 330 and 760 (the title sits above them, at about 210). Text and graphics stay out of the top 220 px, the bottom 420 px and 100 px at each side. The speaker's panel may run into them.
- If the speaker points left and right, use `compare`. Its cards sit where they point.
- Use the user's own images. Never invent numbers or results about someone else's post. A chip like "14× viral" must be something the user said or gave you.
Files in this package (2)
  • SKILL.md 6 KB
  • build.py 8 KB

Versions

RepositoryScoreLicence
This page · artemnovitckii/claude-editing-skills100MIT
SHOTClubhouse/shotos100MIT
mizchi/explainer100MIT
marswaveai/skills100MIT
ccplugins/awesome-claude-code-plugins100Apache-2.0
Pika-Labs/Pika-Plugins95Apache-2.0
ofoxai/skills82MIT

Database snapshot: 13.11.2026 · package version 9766d293c77e (SHA-256 digest of the entire package)

Downloads in the last 30 days: 0 · ranking

Report a problem with this skill: harmful content, incorrect descriptions or an author’s removal request.

Similar skills

  • 100split-screen
    Edits a talking-head clip into the classic half-and-half reel. Visuals and animation fill the top half (a step badge, a serif headline and a window showing the point), the speaker fills the bottom half, and bold uppercase captions sit on the seam between them. Use when the user…
  • 100behind-the-person
    Edits a talking-head clip so the graphics sit BEHIND the speaker. The speaker is cut out and stays in front of a panel (a grid of posts, a bar chart or a screenshot), big words land on the chest as they are said, and a profile card counts a number up. Use when the user runs…
  • 100reel-split
    Use when the user runs /reel-split, or asks for the split-screen explainer Reel — an animated widget panel on the top ~45 % of the frame, the speaker below it the whole time, no subtitles, no SFX — typical for "I found this tool / here are 5 tips" videos, on a talking-head take in raw/.
  • 90talking-head-short
    Master editor for vertical talking-head short videos (Reels, TikTok, Shorts). From one raw clip it transcribes, removes bad takes and silences, detects the niche (24-genre matrix), asks the user to choose style options, then renders a smooth, professional edit with golden-ratio…
  • 100talking-head-edit
    Your raw clip, fully edited: captions on every word, the screen splits into two windows to show what you're talking about, and demo videos play full screen. Your face is never re-coloured. Use when asked for talking-head edit video production or editing.
  • 95split-animated-talking-head
    Turn a user-supplied talking-head clip (webcam, phone selfie, or recorded speaker) plus an optional script or source URL into a 1080x1920 split-format vertical short. Custom-generated animations fill the top slot, the provided talking head sits in a taller rounded band across…

Feedback and reports

Your message goes to Bartosz Sokoliński. An email address is needed only for a reply. See the privacy policy.