Skip to content
Back to skills

24fps Brief

ASecurity

Turn "I want to make a short talking-head video about X", or no idea at all, into a confirmed brief and a teleprompter script before anything is recorded or edited. Use whenever the user wants to plan, script or research a short video (Shorts, Reels, TikTok, YouTube, LinkedIn, X), asks "what should I talk about", wants video ideas, topics or hooks, a daily news or new-tools or trending-repos video, a teleprompter script, an outline with sources, or a brief.md. Writes brief.md, research.md, so...

  • 5 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added November 7, 2026
researchgonodegit

Works with

  • cursor

Security analysis

A100/100

Pro scans all 6 files and shows the line behind each finding

Scanned November 7, 2026

npx -y skills add Wanfeng1028/muse --skill 24fps-brief --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of 24fps Brief?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for 24fps Brief
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/wanfeng1028-24fps-brief/badge)](https://www.skillsdirectory.com/skills/wanfeng1028-24fps-brief)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: 24fps-brief
description: Turn "I want to make a short talking-head video about X", or no idea at all, into a confirmed brief and a teleprompter script before anything is recorded or edited. Use whenever the user wants to plan, script or research a short video (Shorts, Reels, TikTok, YouTube, LinkedIn, X), asks "what should I talk about", wants video ideas, topics or hooks, a daily news or new-tools or trending-repos video, a teleprompter script, an outline with sources, or a brief.md. Writes brief.md, research.md, sources.json and topics.json as plain files in the working folder. Not for recording, cutting, captioning or rendering.
license: MIT
compatibility: Needs web search and page fetch to research or find topics. Writing a script from what the user already said needs no network. Works in any agent that can write files.
metadata:
  homepage: https://24fps.dev
---

# 24fps brief

Plan the video before the camera is on. The output is a few ordinary files in the working folder (the current directory, or a folder the user names). Nothing else is needed: whatever records or edits the video reads the files.

## Pick the job

The user names one, or you infer it from the message.

1. **Write it.** Draft the teleprompter script from what they said, plus `research.md` if it exists.
2. **Research it.** Search, read the pages, write an outline with numbered citations and `sources.json`. Then offer to write the script. Read `references/research.md` first.
3. **What should I talk about?** From a standing prompt ("daily AI news", "new AI tools", "trending GitHub repos") or nothing, find timely candidates and pitch them. Read `references/research.md` and `references/pitch.md`.
4. **Sketch shots.** Only when asked, once `brief.md` has a Script: split it into shots, each with a framing and a small line sketch, so the person can record shot by shot. Format in `references/files.md`.

Jobs chain: topics, then research on the chosen one, then a script. Each stage leaves its file behind so the next one starts from it.

## Before you ask anything

- If `brief.md` exists, read it. Ask only about fields it leaves empty. A `status: confirmed` brief is settled: don't reopen it unless the user does.
- If `research.md`, `sources.json` or `topics.json` exist, read them too.
- If the user's message already answers a field, take it as stated. Never ask twice.

## Formed or unformed

- **Formed**: there is a clear message ("explain why X matters to indie devs"). Skip the pitch and go to the missing fields.
- **Unformed**: only a subject ("a video about Cursor"), or nothing. Ask exactly one thing first: **what are you already picturing?** Then run the pitch round (`references/pitch.md`).

## Missing fields

Fields: message (the ONE thing the viewer should take away), audience, platform, aspect, length, tone.

- Ask one question at a time, recommended option first with its reason. At most about four questions in the whole conversation.
- Platform, aspect and length have defaults for shorts: 9:16, 30 to 60 s. Infer them and list them under Inferred. Don't interrogate.
- Tone and audience: infer from the message and the platform when you can, ask when a wrong guess would change the script.
- "You decide", "whatever you think" or "just do it": infer everything, say so in one line, mark the brief confirmed.

## Check the answers together

Before the summary, look for conflicts between fields and propose a fix, don't just flag it. Examples: 30 s with six points (cut to two), vertical with a dense chart (one number on screen, say the rest), a LinkedIn audience with a meme tone, a "last week" claim with no recent source.

## Hand-off summary

Show two visibly separate lists:

- **Stated**: what the user said, each with a short quote.
- **Inferred**: what you filled in, each with its reason.

End with the angle, the hook line and the length, then ask for a yes. A correction means re-present the summary; a revised summary is not a confirmation. Set `status: confirmed` only after an explicit yes (or "just do it"). Until then write `status: draft`.

## Script style

Written for a person reading a teleprompter to camera.

- Spoken English: contractions, short sentences, one sentence per line, no semicolons.
- Line 1 is the hook. It states the payoff or the tension, not the topic ("Cursor just deleted its most loved feature", not "Today I want to talk about Cursor").
- Close on the message, restated in different words. One call to action at most.
- No stage directions, brackets, timestamps, emoji or on-screen text in the lines. Those belong elsewhere.
- Length: about 150 words per minute of `length`. Count the words and fix the script, not the number.
- Only say what the sources support. Numbers and dates in a line must match a cited source. If an unsourced claim is the user's own opinion, keep it phrased as theirs.

## Files

Write to the working folder. Exact formats are in `references/files.md`: keep them stable, other tools parse them.

| File | When |
|---|---|
| `brief.md` | Always. Frontmatter plus Intent, Script, Outline, Stated, Inferred, Notes. |
| `research.md` | After researching: outline with `[n]` citations, then `## Angles`. |
| `sources.json` | With `research.md`: only pages you fetched and read. |
| `topics.json` | After finding topics: 3 to 7, newest first. |
| `shots.json` + `shots/NN.svg` | Only when asked to split the script into shots: one framing and one small sketch per shot. |

Edit existing files in place. Keep unknown frontmatter keys. Optional check: `node scripts/check.mjs [folder]` validates all four.

## Honesty (non-negotiable)

- Cite only pages you fetched and read in this run. Every claim in an outline carries `[n]`.
- Quotes: at most 25 words, verbatim, with the URL. No invented numbers, dates or quotes.
- A page you could not open is not a source. Leave it out, or list it under "could not open" without a number.
- Prefer primary sources (the vendor's post, the repo, the paper) over write-ups of them. Record the publish date.
- For news, look at the last 7 days and say so when nothing recent turned up. Never present an old item as new.

## After the brief

Tell the user where the files are and stop. Don't start recording, cutting or rendering. If they want motion graphics or captions next, the `24fps-motion` skill finds presets for those.

Files in this skill

  • LICENSE1.1 KB
  • SKILL.md6.2 KB
  • references/files.md4.2 KB
  • references/pitch.md1.5 KB
  • references/research.md2.4 KB
  • scripts/check.mjs3.4 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.