Social media marketing video
Guide the user from a brief to a finished, checked short-form marketing video, working in their editor. You plan, write, organise and verify; the editor (or the user) assembles. Work on one named deliverable or revision at a time, keep the project editable, and record what was actually checked.
Workflow
For work that spans several steps (not the first-run interview), keep this checklist in your replies and tick items as you go:
- [ ] 1. Brief – resume STATUS.md, or run the brief interview
- [ ] 2. Material – catalogue footage, or write an on-location shot list
- [ ] 3. Message – hook → problem/desire → value → proof → CTA; approved claims only
- [ ] 4. Plan – scene plan + shot list for one platform/format
- [ ] 5. Assemble – in the user's editor, or manual plan / silent preview
- [ ] 6. Check – run export checks; fix and re-check until they pass
- [ ] 7. Feedback – versioned, timecoded changes; protect everything else
- [ ] 8. Deliver – editable project + labelled export + STATUS update
- Brief. If the workspace has
STATUS.md, read it and continue from its next action. Otherwise run the interview in first-run-brief-interview.md: at most three questions at a time, in the user's language, then saveBRIEF.mdand give one concrete next step. - Material. For a new project, create the workspace and catalogue the footage (commands below). Watch candidate ranges in motion before choosing them; a catalogue or transcript is not viewing. No footage yet → write a shot list from shot-sizes-vertical-framing-and-coverage.md.
- Message. Follow marketing-story-and-claims.md. Keep supplied facts, approved claims, what the footage shows and your own proposals separate.
- Plan. Pick the format and length from social-platform-specs-length-and-pacing.md. For TikTok, also read tiktok-hooks-formats-and-trends.md and offer three alternative hooks. Every plan states the safe zones for text, captions for sound-off viewing, and music rights for the account type (business accounts and ads are usually limited to licensed or commercial-library music).
- Assemble. Choose the route with editor-choice-and-integrations.md. Before any helper export, convert the narrative
scene.jsoninto a technical shot plan (shot-plan-json-format.md). - Check. Run export-checks-and-evidence.md on every new export. If a check fails, fix it, export a new version and check again. Report unchecked items instead of claiming a pass.
- Feedback. Apply notes with feedback-review-and-project-memory.md and revision-preservation-rules.md: save a version first, change only the requested range, then compare the rest.
- Deliver. Hand over the editable project, a clearly labelled review export, remaining limitations and an updated
STATUS.md.
Which reference to read
Read only what the current step needs. Each file is self-contained.
| When | Read |
|---|---|
| First use, bare invocation, "what now?" | first-run-brief-interview.md |
| Building the message, checking claims, prices, testimonials | marketing-story-and-claims.md |
| Choosing format, length, safe zones, pacing, captions, loudness | social-platform-specs-length-and-pacing.md |
| TikTok is a target platform | tiktok-hooks-formats-and-trends.md |
| Shot sizes, vertical framing, shoot planning, explaining a shot | shot-sizes-vertical-framing-and-coverage.md |
| Choosing IN/OUT points, camera moves | camera-motion-and-shot-boundaries.md |
| Planning or changing any cut | editing-principles.md |
| Captions, lower thirds, price/end cards, covers, templates (Figma, Photoshop, Canva) | graphic-design-for-vertical-video.md |
| Choosing music, balancing montage and speech, object sounds | music-montage-and-speech-balance.md |
| Recording or cleaning voice-over, SFX, mix levels | voiceover-recording-and-sound-design.md |
| User chose Epidemic Sound | music-library-epidemic-sound.md |
| Choosing an editor or replacing a service | editor-choice-and-integrations.md |
| DaVinci Resolve (before touching it) | editor-davinci-resolve.md |
| Resolve AI Audio Assistant or replacing music after it | editor-resolve-fairlight-mix.md |
| Final Cut Pro | editor-final-cut-pro-fcpxml.md |
| CapCut Web | editor-capcut-web-plugin.md |
| Writing a shot plan for the helper scripts | shot-plan-json-format.md |
| Any new export or sound change | export-checks-and-evidence.md |
| Revising a timeline or rebuilding a mix | revision-preservation-rules.md |
| Applying feedback, saving preferences, handoff | feedback-review-and-project-memory.md |
| Installing, script options, troubleshooting | setup-commands-and-troubleshooting.md |
Commands
Run these from the skill directory (the folder containing this file); pass absolute paths for the user's files. Scripts use only the Python standard library and never overwrite existing outputs.
| Purpose | Run |
|---|---|
Check tools for a task (plan, catalog, preview, measure, resolve) | python3 scripts/workspace_setup_catalog_and_measure.py doctor --task plan |
| Create a new workspace from the templates | python3 scripts/workspace_setup_catalog_and_measure.py init /path/to/workspace |
| Catalogue footage (hashes + ffprobe metadata) | python3 scripts/workspace_setup_catalog_and_measure.py catalog /path/to/footage --output /path/to/workspace/catalog.json |
| Measure an export (decode, black/freeze, loudness) | python3 scripts/workspace_setup_catalog_and_measure.py measure /path/to/export.mp4 --output /path/to/workspace/checks.json |
| Silent MP4 preview from a shot plan | python3 scripts/render_silent_preview_mp4.py shot-plan-v1.json --media-root /path/to/media --output /path/to/preview-v1.mp4 |
| FCP 7 XML for Resolve from a shot plan | python3 scripts/shot_plan_to_fcp7_xml.py shot-plan-v1.json --media-root /path/to/media --output /path/to/v1.xml |
| Resolve: read-only probe / guarded import | python3 scripts/davinci_resolve_safe_import.py probe · … import-xml FILE.xml --project 'Exact Empty Project' |
| Verify the installation | python3 scripts/verify_skill_installation.py |
Exit code 2 means "completed but needs attention" (missing tools, empty or partial catalogue): read the output, don't treat it as success. scripts/shot_plan_validation.py is a shared module, not a command.
Environments
- Claude Code / local agent: full workflow. Helpers run locally; FFmpeg, Resolve and Final Cut work if installed. Check with
doctorbefore promising a render or import. - claude.ai: planning, scripts, briefs, shot lists, copy and checklists work everywhere. Helper scripts run only in code execution; FFmpeg may be missing and network access depends on settings. Native editors (Resolve, Final Cut, CapCut) are not reachable, so deliver a manual assembly plan instead.
Rules that always apply
- Claims: prices, payment plans, handover dates, yields, availability, testimonials and legal text come only from approved sources. A visual or draft copy is not approval, and invented claims can create legal liability for the user.
- Short-form proposals: any concept or plan for TikTok, Reels or Shorts, including a provisional one in your first reply, names the text safe zones, burned-in captions for sound-off viewing, and music rights for the account type. These are the most common reasons a social video fails review.
- Honesty about checks: say exactly what was measured, watched, listened to or accepted by the user. A successful command is not approval.
- Safety of work: never overwrite sources, workspaces or earlier versions; save a new version before every change.
- Authorization: upload media, spend money, or publish to an account only after the user explicitly asks for that specific action.
- Data location: project files live in the user's workspace (
BRIEF.md,STATUS.md,scene.json,feedback.json,preferences.json), never inside the skill folder.