Skill · Creative and Design · Sales and Marketing

Footage Indexer

Index raw video footage with AI (scenes, people, actions, emotions, transcripts, timestamps), search it in natural language, and cut matching moments into vertical ad reels.

At a glance

Footage Indexer is an AI skill for creative & design and sales & marketing teams that you can use in Claude Code, Codex, or type.com.

Updated

What it does

  • Turns a folder of raw clips into a timestamped library of moments: people, shot, action, emotion and tags
  • Gives recurring people stable labels across clips without guessing real names
  • Finds moments in plain language, like "creator taste test reactions", ranked with timecodes
  • Flags likely ad hooks so you can open on the strongest moment
  • Cuts chosen moments into a captioned 1080x1920 vertical reel with an optional end card

Before you start

  • Needs ffmpeg and Python 3.8+ wherever the agent runs code
  • Transcription needs faster-whisper on Python 3.9+ (install with av<16)
  • Clips without audio are indexed visually and marked "no dialogue"
  • Captions don't wrap, so keep each line under about 24 characters

See an example

Example output from a sample run. Company names and figures are sample data.

Real output from 11 stock demo clips (~2:33, no audio), sampled every 2 seconds. Excerpt.

People

LabelDescriptionClips
Creator AWoman, voluminous curly dark hair, blue cropped hoodie; cereal-box wall setIMG_4202, IMG_4210
Creator BWoman, long dark wavy hair, striped pajama shirt; pink backdropIMG_4204, IMG_4209
Creator EMan, full beard, black tee; coral backdrop, dark ceramic mugIMG_4208

Top hook candidates

#Clip @ timeWhy it hooks
1IMG_4210 @ 0:08–0:11Exasperated hands-on-head face is a relatable pain-point opener, already vertical
2IMG_4211 @ 0:00–0:04Lip lick then a crispy sandwich bite is an ASMR-style craving trigger
3IMG_4209 @ 0:00–0:05Big bite of a rainbow-candy donut is colorful and thumb-stopping

IMG_4208 · 0:25.3 · 1280x720

TimecodePeopleShotWhat happensEmotionTags
0:00–0:05Creator Eclose-upLooks down at mug, inhales aromacontemplativecoffee, aroma
0:05–0:10Creator Eclose-upFirst sip from the mugfocusedcoffee, sip, taste test
0:10–0:16Creator Eclose-upEyes closed, savoring the tastesavoringcoffee, reaction, 🎣 hook candidate
0:22–0:25Creator Eclose-upLooks up with an approving expressionapprovingcoffee, verdict, 🎣 hook candidate

Search: "creator taste test reactions"

  1. IMG_4201 @ 0:24–0:29 — two friends sip smoothies and grin — shared taste payoff
  2. IMG_4208 @ 0:10–0:16 — eyes-closed savoring — strongest single-person verdict
  3. IMG_4204 @ 0:02–0:05 — blissful smile after a donut bite — short, clean reaction

How to use Footage Indexer

  1. type.com: Choose Use Skill to add Footage Indexer to your type.com workspace.
  2. Claude Code: Download the skill and extract it into ~/.claude/skills/footage-indexer/ (or .claude/skills/footage-indexer/ in a project). Then ask Claude to use Footage Indexer.
  3. Codex: Download the skill and extract it into ~/.agents/skills/footage-indexer/ (or .agents/skills/footage-indexer/ in a repository). Then ask Codex to use Footage Indexer.

AI agents can read this page as Markdown or fetch the raw SKILL.md.

Frequently asked questions

What is Footage Indexer?

Footage Indexer is an AI skill for creative & design and sales & marketing teams that you can use in Claude Code, Codex, or type.com.

What does Footage Indexer do?

Index raw video footage with AI (scenes, people, actions, emotions, transcripts, timestamps), search it in natural language, and cut matching moments into vertical ad reels.

What do I need to use Footage Indexer?

Needs ffmpeg and Python 3.8+ wherever the agent runs code; Transcription needs faster-whisper on Python 3.9+ (install with av<16); Clips without audio are indexed visually and marked "no dialogue"; Captions don't wrap, so keep each line under about 24 characters.

Can I use Footage Indexer in Claude Code or Codex?

Yes. Footage Indexer is a standard Agent Skills folder with a SKILL.md file. Download it and extract it into ~/.claude/skills/ for Claude Code or ~/.agents/skills/ for Codex.

Who created Footage Indexer?

The type.com team created Footage Indexer. The type.com team reviews every skill before it is published in the Skills Library.

  • Win/Loss AnalysisAnalyzes won and lost deals using customer-call evidence and deal outcomes. Groups reasons and competitor comparisons by deal, highlights conflicting evidence, and avoids percentages on small samples.
  • User Research SynthesisSynthesizes research meetings by question, with anonymized participants, consent-aware evidence, distinct-participant counts and source links. Separates observations from claims about prevalence and flags unsupported findings.
  • Sales-to-CS HandoffTurns sales calls and deal records into a source-linked customer-success handoff: customer goals, stakeholders, timelines, promises, contract gaps and conflicts to resolve before onboarding.
  • 1:1 PrepPrepares a work-focused 1:1 agenda from previous meetings, commitments and unresolved topics. Withholds detected personal or sensitive context, links to sources, and shows coverage limits for review.
  • Decision LogBuilds a running decision log from meeting notes, with source evidence, owners, unresolved proposals and reversals. Scheduled runs carry the history forward without repeating confirmed posts.
  • Deal Qualification ScorecardChecks deal evidence against MEDDICC, MEDDPICC, BANT or SPICED. Shows sourced answers, missing evidence, conflicts and seller-only claims, with questions for the next call.

AI for marketing teams: a practical guide

Browse the technical files
---
name: footage-indexer
description: |-
  Index raw video footage with AI (scenes, people, actions, emotions, transcripts, timestamps), search it in natural language, and cut matching moments into vertical ad reels.
---

# Footage Indexer

Turns a pile of raw clips into a searchable, timestamped library, then cuts ads from it.

## When to use
- "Index these clips" / "tag this footage"
- "Find me <moment>" (e.g. "creator taste test reactions")
- "Cut those into a 15s vertical ad"

## 1. Index
1. Put the clips in one folder in the sandbox (thread attachments → materialize; Drive → download).
2. Run `bash <skill_dir>/prep_clips.sh <clips_dir> <work_dir> 2` (both scripts sit next to this SKILL.md) → per clip: `<name>.sheet.jpg` (a frame every 2s with the timestamp burned in), `<name>.meta.json`, `<name>.transcript.txt` (faster-whisper when the clip has audio; `pip install faster-whisper "av<16"` if missing, since newer PyAV releases break faster-whisper).
3. Look at every contact sheet (upload it as a draft file and view it). For each clip, split it into **moments** where the action or emotion changes and record:
   `clip, start, end, people, shot, setting, action, emotion, tags[]` plus any transcript lines in that range.
4. **People:** give each distinct recurring person a stable label (`Creator A`, `Creator B`...) with a short visual description, and reuse the label across clips when it is clearly the same person. Do not guess real names; the user can rename labels.
5. Write `footage_index.json` (`{people:{}, moments:[]}`) and publish a readable **Footage Library** doc: a people table, then one row per moment (clip · timecode · what happens · emotion · tags).
6. Always tag likely ad hooks with `hook candidate`.

## 2. Search
Answer natural-language queries from the index, not from filenames. Return a ranked list: `clip @ start–end — what happens — why it matches`. Search across action, emotion, tags, people and transcript. Say so when nothing matches well.

## 3. Cut a reel
1. Write an EDL JSON: `{"end_card": "...", "cuts": [{"clip","start","end","caption"}]}`. Keep each cut 2–5s and open on the strongest hook. Captions don't wrap, so keep each line under about 24 characters and use `\n` for a second line.
2. `python3 -I <skill_dir>/make_reel.py <clips_dir> edl.json out/reel.mp4` → 1080x1920, 30fps, captions burned in, optional end card.
3. QA: tile 1 frame/sec into a contact sheet, check it, then attach the MP4 to the thread.

## Notes
- Requires `ffmpeg`/`ffprobe` and Python 3.8+. Transcription also needs `faster-whisper` on Python 3.9+ (see step 1.2).
- Stock and B-roll clips often have no audio. Say "no dialogue" instead of inventing a transcript.
- For a recurring setup, an automation can run step 1 whenever new files land in the footage folder.