Shot Prompt logo

Shot Prompt

Community
machina-exm
shot-prompt

Turn a shot card into a 15-block prompt before video. Use when every in-frame asset is locked and a shot is ready to generate.

Overview

Publishermachina-exm
Repositoryfilm-studio-skills
Skill nameshot-prompt
Stars
156
Forks
25
Bundled files
Instructions only
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • Self-contained

    Everything the model needs lives in the instructions — no extra files to sync.

  • Open source

    Published by machina-exm on GitHub. Read the source before you install it.

Installation

Install the Shot Prompt AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/machina-exm/film-studio-skills/tree/main/skills/shot-prompt
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/machina-exm/film-studio-skills.git /tmp/film-studio-skills
mkdir -p .claude/skills
cp -r /tmp/film-studio-skills/skills/shot-prompt .claude/skills/shot-prompt
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Shot Prompt in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Shot Prompt on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Shot Prompt is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

Shot Prompt

Turn one shot card and its locked asset passports into one versioned prompt. Keep the fifteen blocks in the fixed order below.

Start

  1. Read the ## AI film studio section in the project's CLAUDE.md or AGENTS.md.
  2. Use the configured video model only as the destination for the finished prompt.
  3. If the section is missing, tell the user to run setup first.
  4. Continue if requested by asking which video model they use and how they submit prompts.
  5. Locate the shot card in /prompts/, /docs/registry.md, /docs/breakdown.md, and the passports of every in-frame asset under /assets/.
  6. If /prompts/ or /docs/ is missing, offer to create the needed folder in the studio tree.
  7. Ask which one scene and shot to write.

Ask one question at a time throughout.

Enforce the asset gate

List every character, state variant, location, and prop named in the shot card. Match each exact tag and version to /docs/registry.md. Require every row to be locked before producing a generation-ready prompt. If any asset is missing or draft, name it, keep the shot blocked, and direct the user to asset-passport or stress-test. Do not silently substitute another version or base asset.

Read each locked passport. Copy every active canonical descriptor verbatim. Do not shorten, paraphrase, or clean up a descriptor inside the prompt.

Resolve the shot card

Carry forward its identity, direction, and camera/edit lanes. Confirm that the clip contains one action and runs for 10–15 seconds. Move any sign, screen, title, or other in-frame text to /docs/text-tasks.md; keep it out of generation. Ask the user about one missing field at a time.

Write the fifteen blocks

Use numbered headings and this exact order:

  1. Scene context — Open with EXACT N CHARACTERS — NO DUPLICATES, using the exact count. State the scene, shot goal, and one action.
  2. Active references — Paste every in-frame asset descriptor verbatim and identify its unchanged reference files.
  3. Location map — Give positions and distances in metres. State the line the camera never crosses.
  4. First-frame blocking — Place each character, prop, and the camera at the first frame. Begin with everyone already in place for the shot.
  5. Format mode — State the required frame format and whether the configured workflow starts from text or an image.
  6. Optics — Use one lens for the shot. Change field of view only on a hard cut.
  7. Camera body — Describe the camera as a physical body: position, height, angle, support, movement, path, and stopping point.
  8. Action timing — Break the single action into beats of 0.3–0.8 seconds across the clip.
  9. Physics — State persistent physical consequences. Damage remains visible and debris stays where it lands.
  10. Lighting — Use the location passport's light character and palette. Describe shaped light from its actual sources.
  11. Audio — Include ambience, in-frame sound, and each verbatim dialogue line in exact quotation marks.
  12. Character acting — Direct posture, gesture, breath, gaze, reaction, and living eye behaviour for each character.
  13. Style prefix — Apply the locked visual style and give a 60:30:10 dominant, secondary, and accent colour line.
  14. Quality bar — State the required reference match, anatomy, material, motion, continuity, lip-sync, and artifact standard.
  15. Positive constraints — Rewrite every prohibition as what is visibly present, then add a concrete failure clause for the shot's known risk.

Do not add a negative-prompt section. Keep the exact quoted dialogue from the shot card. Keep block content specific enough to verify in the resulting take.

Save a version

Create the prompt in /prompts/ using the project's existing naming pattern. If no pattern exists, use <scene>-<shot>-prompt-v<version>.md. Preserve earlier versions instead of overwriting them. Record which locked passport versions the prompt uses.

Iterate surgically

After each generation, append one row to /docs/generation-log.md with:

markdown
| shot id | prompt version | what changed | result | verdict |

Change exactly one line for the next prompt version and keep every other line verbatim. Record the output path and verdict before trying again. If the shot fails after 10–15 iterations, stop polishing words. Choose one structural simplification with the user: split the shot in two, drop an action, or change the angle.

Accept or reject the take

Accept only when all checks pass:

  • characters and location match their references;
  • hands, teeth, objects, and surfaces carry no artifacts or random text;
  • camera movement follows the shot card;
  • performance and lip-sync hold;
  • eye-line, axis, size, and light cut with neighbouring shots;
  • the world palette matches.

Give an accepted take its final name in /selects/sc<NN>/. Keep raw outputs in /generations/sc<NN>/. The editor works only from /selects/, never from raw generations.

Finish

Report the prompt path and version, the locked passports used, any unresolved issue, and the next generation-log action.

Frequently asked questions

What does the Shot Prompt AI skill do?

Turn a shot card into a 15-block prompt before video. Use when every in-frame asset is locked and a shot is ready to generate.

Why use Shot Prompt on TypingMind?

Because you install it once and use it with any model. Shot Prompt is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Shot Prompt in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/machina-exm/film-studio-skills/tree/main/skills/shot-prompt. TypingMind reads its SKILL.md and installs it as a skill you can enable per chat.

Which AI models can use Shot Prompt?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Shot Prompt?

As many as you like. As long as a model supports skills, you can use Shot Prompt with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Shot Prompt AI skill free?

It is published on GitHub by machina-exm. Check the repository for licensing terms. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇