Shotkit / Docs / Install
Install Shotkit in Claude Code.
~/.claude/skills/, with the board, the validators and the brand packs next to them. We ran the commands below on 2026-11-13 with Shotkit 3.2.0, installing into an empty home folder, and each grey block is what it printed. Home paths are shortened to ~.01 / Before you start
What you need on the machine.
- Claude Code, for the skills. Shotkit also runs in Claude.ai and the Claude API; the last section covers Claude.ai.
- git and a bash shell, for the clone and
install.sh. - Python 3. The installer adds the two packages the validators use, in a private environment of its own.
We ran this page on macOS with Python 3.14.5. Shotkit is free and open source under the Apache 2.0 licence.
02 / Install
Clone the repo and run the script.
git clone https://github.com/whystrohm/shotkit.git
cd shotkit && ./install.shInstalling shotkit
scope: user
skills: ~/.claude/skills
tools: ~/.claude/shotkit-tools
packs: ~/.claude/shotkit-brand-packs
[install] shotkit
[install] brand-lock-extractor
[install] storyboard-architect
[install] visual-prompt-forge
[install] visual-asset-critic
[install] storyboard-html-preview
[install] shotkit-tools
[install] shotkit-brand-packs
shotkit: setting up the checks (one time, about ten seconds)
shotkit: the checks are ready.
Done. Shotkit is installed.
1. Restart Claude Code, in the folder where you want the files.
2. Type a brief:
/shotkit 30-second launch video for <your company>, 9:16
It plans the shots, writes the prompts and opens the board in your browser.
See what a finished run looks like: ~/.claude/shotkit-tools/sk board --example
Check this install: ~/.claude/shotkit-tools/sk doctorThree folders go in. The skills cite the validators and the brand packs by path, so all three have to be on disk.
| Folder | What is in it |
|---|---|
| ~/.claude/skills/ | Six skills. shotkit is the one command that runs the other five: brand-lock-extractor, storyboard-architect, visual-prompt-forge, visual-asset-critic, storyboard-html-preview. |
| ~/.claude/shotkit-tools/ | The board, the validators, the preview renderer, the prompt copier, the sk launcher that runs them all, one finished example run, and a VERSION file. |
| ~/.claude/shotkit-brand-packs/ | A starter brand for briefs that name none, the blank brand-lock template, the WhyStrohm pack and a neutral example. |
On our run, ~/.claude/shotkit-tools/VERSION read 3.2.0 on line 1 and the exact checkout on line 2.
03 / Setup
There is no setup step.
Earlier versions asked you to run pip install pyyaml jsonschema, which fails on a Homebrew Python. From 3.2.0 the installer makes a private Python environment inside ~/.claude/shotkit-tools/ and puts the two packages there. Your system Python is not touched. The board needs neither package, so it works even when that step cannot reach the network.
Every tool runs through one launcher, sk. Ask it what is installed:
~/.claude/shotkit-tools/sk doctorshotkit 3.2.0 tools ~/.claude/shotkit-tools python Python 3.14.5 (/opt/homebrew/bin/python3) checks ready (private environment) skill shotkit skill storyboard-architect skill visual-prompt-forge skill visual-asset-critic skill storyboard-html-preview skill brand-lock-extractor
04 / Check
Check the install.
~/.claude/shotkit-tools/sk check --quietshotkit checks, using Python 3.14.5 PASS skills: selftest PASS skills: frontmatter PASS schemas: selftest PASS schemas: are valid schemas PASS capabilities: selftest PASS capabilities: matrix PASS brand-lock: selftest PASS brand-lock: packs PASS brand-lock: flagship pack PASS brand-lock: starter pack PASS brand-lock: snapshots PASS shots: selftest PASS shots: bundled examples PASS shots: worked run PASS prompts: selftest PASS prompts: worked run PASS critique: selftest PASS critique: fixtures PASS provenance: selftest PASS provenance: worked run PASS contracts: selftest PASS contracts: schemas and examples PASS preview renderer: selftest PASS board: selftest PASS prompt helper: selftest ───────────────────────────────────────── 25 passed, 0 failed
This is the same entry point the repo’s CI runs. It checks the skills’ frontmatter, the schemas, the generator matrix, the brand packs, the bundled examples, the critique gate, the provenance chain and the board.
To see what a finished run looks like before you make one, open the example board:
~/.claude/shotkit-tools/sk board --examplewrote ~/.claude/shotkit-tools/example/board.html 4 accept, 1 revise. Next: Revise the prompts.
05 / Load
Restart Claude Code and type a brief.
Claude Code reads ~/.claude/skills/ when a session starts, so restart any open session, in the folder where you want the files. Then type:
/shotkit 30-second launch video for <your company>, 9:16It plans the shots, writes the prompts and opens the board in your browser. You can also describe the work without the command, for example “Storyboard a 15-second launch film for my brand”, and Claude Code picks the skill whose description fits. The quickstart walks one full run.
06 / Options
Project scope, dry runs, updates and removal.
./install.sh --help lists every option:
shotkit. Install the skills, plus the tools they reference, into ~/.claude/ Three things go in, because the skills reference all three. They run the board and the validators from shotkit-tools/, and a brief that names no brand uses the starter pack in shotkit-brand-packs/. ~/.claude/skills/ six skills: /shotkit, which runs the other five ~/.claude/shotkit-tools/ the board, the validators, the `sk` launcher, VERSION ~/.claude/shotkit-brand-packs/ the starter pack, the blank template and examples Nothing else to set up. The board needs Python 3 only. The validators need pyyaml and jsonschema, and the installer puts those in a private environment inside shotkit-tools/, so your system Python is left alone. Usage: ./install.sh # install to ~/.claude/ (user scope) ./install.sh --project # install to ./.claude/ (project scope) ./install.sh --skills-only # skip the tools and packs, skills only ./install.sh --no-deps # do not create the validators' Python environment ./install.sh --dry-run # show what would happen, change nothing ./install.sh --force # overwrite existing skills without prompting ./install.sh --uninstall # remove the skills, the tools, and the packs ./install.sh --help # show this help
One project only
Run the script from inside the project folder with --project. Everything lands in that folder’s .claude/, which you can commit so collaborators get the same skills.
/path/to/shotkit/install.sh --projectInstalling shotkit scope: project skills: ./.claude/skills tools: ./.claude/shotkit-tools packs: ./.claude/shotkit-brand-packs [install] shotkit [install] brand-lock-extractor [install] storyboard-architect [install] visual-prompt-forge [install] visual-asset-critic [install] storyboard-html-preview [install] shotkit-tools [install] shotkit-brand-packs
See first, change nothing
./install.sh --dry-run prints each copy it would make and writes nothing.
Update
Pull, then install again. A second plain run asks before it replaces each skill; --force replaces them without asking. Brand packs you keep elsewhere and your output folders are not touched.
git pull
./install.sh --force[replace] shotkit [replace] brand-lock-extractor [replace] storyboard-architect [replace] visual-prompt-forge [replace] visual-asset-critic [replace] storyboard-html-preview [replace] shotkit-tools [replace] shotkit-brand-packs
Remove
./install.sh --uninstallUninstalling shotkit from ~/.claude [remove] shotkit [remove] brand-lock-extractor [remove] storyboard-architect [remove] visual-prompt-forge [remove] visual-asset-critic [remove] storyboard-html-preview [remove] shotkit-tools [remove] shotkit-brand-packs Done.
07 / Claude.ai
Using Claude.ai instead.
Claude.ai takes skills as .skill zip uploads, one per skill. From the folder that holds your clone, zip each skill:
cd shotkit/skills
for s in *; do [ "$s" = shotkit ] || (cd "$s" && zip -qr "../../$s.skill" .); doneThat writes five files into the shotkit folder (the /shotkit command and the board are for Claude Code, so that skill is left out): brand-lock-extractor.skill, storyboard-architect.skill, storyboard-html-preview.skill, visual-asset-critic.skill and visual-prompt-forge.skill. The repo’s doc says to upload each one in Claude.ai under Settings, then Skills. The validators do not run inside Claude.ai, so save the output and run them on your machine. The Claude.ai workflow doc in the repo has the details.
Next
Want it done for you? Get your company film