Postey Video
One video becomes a caption per platform and a draft per account. Nothing publishes without the user's explicit approval, and scheduling counts as publishing.
Why this ships its own CLI
scripts/postey.js here is a byte-identical copy of the hub's, verified by
scripts/check-script-parity.js. A skill cannot rely on the path to another skill's directory —
no install layout guarantees one — so the copy travels with the pack. The consequence is that
this skill and the hub version-bump together whenever the CLI changes.
capability-snapshot.json sits beside it because postey.js requires it at runtime for the
platform list. A copy without it crashes on require.
Routing
| Situation | Path |
|---|---|
| A local video or image path | CLI, unconditionally — MCP cannot see the user's disk |
| Transcription | CLI (video transcribe); transcribe_video when your client has no shell |
| Large or chunked upload | CLI — the MCP inline path is context-bound |
| Creating or updating the draft | MCP (create_post / update_post) — always, even after a CLI upload |
The CLI stops at the upload and hands back the fields for the MCP write. It never creates the draft itself.
Workflow
- Read the accounts —
postey://accounts, orget_accountsif your client cannot read resources. Never assume which platforms are connected. - Transcribe if there is no caption yet. Never paste a raw transcript as a caption.
- Write one caption per platform from the transcript. Craft rules come from the hub:
caption-playbook.md,hook-formulas.md,platform-archetypes.mdandthread-and-video-formats.md. If a brand profile exists, its voice and banned lists apply. - Upload via the CLI, taking the cover frame with it.
- Create the draft through MCP, then attach each additional platform with
update_poston the samepost_id. - Validate each platform with
validate_post_content, fix, then present the share link.
Reference
- Full transcription and cross-post workflow: video-workflow.md
- The video-everywhere content flow: references/video-to-everywhere.md