Creator OS
automationclaude codecreator workflowmcp serveryoutube shorts

Claude Code Shorts Workflow: From Clip to Scheduled Short

A repeatable Claude Code shorts workflow: extract clips, write hooks, and schedule Shorts via the Creator OS CLI and hosted MCP server, all from one setup.

Creator OS · October 20, 2026 · 10 min read

Most people who search for a claude code shorts workflow are not looking for another clever prompt. They want a repeatable process. One that takes a long video, pulls out the moments worth posting, writes a hook that holds attention, and schedules the finished Short without opening six browser tabs. That is what this post builds. You will set up the Creator OS CLI, connect the hosted MCP server to Claude Code, and lock in a sequence you can rerun every week on a new recording.

  long video (.mp4)
        |
        v
  [ Claude Code session ]
        |
        +--> 1. pick 5 candidate moments (transcript + timestamps)
        +--> 2. write 3 hook variants per moment
        +--> 3. upload clip, validate caption length
        +--> 4. schedule with posts:create --platforms youtube
        |
        v
  scheduled Shorts in Creator OS
        |
        v
  analytics:posts --> feed winners back into step 2
A repeatable loop: extract, hook, schedule, review.

Why You Need a Shorts Workflow, Not Another One-Off Prompt

A one-off prompt gets you one clip. Then you paste in the next video, tweak the wording, forget which hook style worked, and start over. The output quality drifts because nothing in the process is fixed except your patience.

A workflow is different in three concrete ways. It runs the same steps in the same order. It keeps state outside the chat, so a new session picks up where the last one stopped. And it ends with a scheduled post, not a text file you still have to copy into a scheduler.

Claude Code is a good home for this because it can run shell commands, read files from your project, and call tools on a remote server in the same session. The pieces you need are a transcript with timestamps, a command that turns timestamps into actual clip files, and a scheduling tool that accepts the result. Creator OS supplies the last one through its CLI and hosted MCP server.

Get started for $0

What the Setup Actually Does: CLI, Hosted MCP Server, and Claude Code

Three parts, and it helps to know which does what before you install anything.

The Creator OS CLI (@creatoros/cli) is a command line tool. It handles the mechanical work: uploading media, validating caption length, creating a post, listing analytics. You can call it directly from a Claude Code session with a bash command.

The hosted MCP server at https://mcp.creatoros.ca/mcp exposes the same account as tools an AI app can call by name. Tool names include create_post, upload_media_from_url, check_caption_length, get_best_time_to_post, and get_post_analytics. Nothing to install, no local server to keep running. This one server is what gives Claude access to everything in your workspace, including your YouTube channel, Instagram, TikTok and the rest, because the connection is to Creator OS rather than to a single platform.

Claude Code is the driver. It reads your transcript, decides which moments matter, drafts hooks, then chooses between a CLI command and an MCP tool depending on what the step needs.

One detail worth internalising early: every API key is pinned to a single workspace, meaning one set of socials. An agent holding that key cannot post to a different workspace. That is a safety property, not a limitation. If you run two brands, you run two keys.

Read-only connections only see read tools, and the API refuses writes from them. Destructive tools such as delete_post or disconnect_account are marked so the AI app asks before running them. You can hand a read-only connection to a session that only needs to analyse performance and sleep fine.

Step 1: Install the Creator OS CLI and Connect the MCP Server

Start in an empty project folder. Run the init command:

npx @creatoros/cli@latest init

That installs the CLI and adds 14 Claude Code skills to your project, including post-shortform, schedule-posts, analytics, and respond-to-comments. Skills are instructions Claude Code can load when a task matches. You do not have to memorise commands. You do have to tell it which skill applies.

Now add the MCP server inside Claude Code:

claude mcp add --transport http creatoros \
  https://mcp.creatoros.ca/mcp \
  --header "Authorization: Bearer cos_live_..."

Replace cos_live_... with a key from your Creator OS workspace. If you prefer a UI, the Claude connector route works too: Settings, Connectors, Add custom connector, paste the URL, sign in, pick the workspace, then choose read only or read and write. Cursor, Windsurf, and VS Code take an mcpServers entry with type http, the same URL, and the same header. The full matrix is at creatoros.ca/docs/mcp.

Sanity check before you build anything on top:

creatoros auth:check
creatoros accounts:list
creatoros accounts:health

If accounts:list returns your YouTube channel and nothing else is red in accounts:health, you are ready.

Step 2: Extract Candidate Clips From a Long Video With a Reusable Command

This is the step most tutorials skip, and it is where the time actually goes. Asking Claude to “find the best moments” in a 40 minute video produces vague answers. Give it a transcript with timestamps and a selection rule, and it produces a shortlist you can act on.

Two ways to get the transcript. If the video is on YouTube and connected to Creator OS, you can have Claude read your channel data through the hosted MCP server and work from that. Otherwise drop a transcript file with timecodes into the project and work from the file.

Then write the rule down in a file called shorts-brief.md so it survives across sessions:

Pick 5 candidate Shorts from the transcript.
Rules:
- each clip is 22 to 45 seconds
- there is one complete idea per clip, no split sentences
- the speaker states a claim, a number, or a mistake
- skip intros, sponsor reads, and "ums"
Output a table: start, end, one-line summary, hook angle.

Ask Claude Code to apply it, then cut the clips with ffmpeg. Have it write the commands into a script rather than running twenty of them by hand:

python3 cut_clips.py --input talk.mp4 --plan clips.csv

Now upload each finished clip once. The media upload returns a med_ id you can reuse on every platform:

creatoros media:upload short-01.mp4

Keep those ids in a small file. Reusing a med_ id is how you avoid uploading the same file three times when you post to YouTube Shorts, Instagram Reels, and TikTok from one clip. That reuse pattern is the core of repurposing a long YouTube video into Shorts with Claude, and it belongs in this loop too.

Step 3: Write Hooks That Survive the First Three Seconds

A Short lives or dies before the second sentence. Claude will write you a hundred competent hooks and they will all sound the same, because “here are five hooks” is a weak instruction. Give it a constraint it has to satisfy.

Try this prompt shape:

For each candidate clip, write 3 hooks.
Each hook must:
- be under 12 words
- name a specific number, mistake, or outcome from the clip
- avoid "in this video", "let me show you", "here is how"
Then pick the strongest one and say why in 15 words.

The ban list does more work than the length limit. “In this video” is the phrase that makes a viewer swipe, and models reach for it constantly unless told not to.

Before you schedule anything, run the caption through the length validator. It catches the case where a hook that felt short turns into a two line caption on one platform and gets truncated:

creatoros validate:post-length --text "You shipped the wrong metric for 6 months."

Do the same for media before you burn a schedule slot on a file the platform will reject:

creatoros validate:media --url https://cdn.example.com/short-01.mp4

Then ask for the one line that goes under the hook. On YouTube a first comment is posted and pinned, up to 10,000 characters, so put the link or the longer explanation there rather than in the title. On Instagram the caption has no clickable links, so the first comment is where a link belongs. If you want a fuller treatment of hook writing and pacing, the walkthroughs on the KevBuildsApps YouTube channel show the edit decisions behind specific clips.

Step 4: Schedule Shorts Without Leaving the Terminal

Time to create the post. Ask Claude for the best slot for the platform, then schedule into it:

creatoros analytics:best-time --platform youtube

Take the returned slot and create the post. Vertical video sent to YouTube becomes a Short automatically, so you do not need a separate flag:

creatoros posts:create \
  --text "You shipped the wrong metric for 6 months." \
  --platforms youtube \
  --media med_abc123 \
  --title "The metric that lied to you" \
  --scheduledAt 2026-03-04T17:00:00Z --timezone America/Toronto

Widen it to more networks by adding platform names. Creator OS applies each platform’s rules on its side, so you are not hand-tuning three payloads:

creatoros posts:create \
  --text "You shipped the wrong metric for 6 months." \
  --platforms youtube,instagram,tiktok \
  --media med_abc123 \
  --scheduledAt 2026-03-04T17:00:00Z --timezone America/Toronto

If a platform you named is not connected, it comes back in missing_platforms and the rest still go out. That behaviour matters for a batch workflow: one forgotten connection does not kill the whole run.

Confirm what landed:

creatoros posts:list --status scheduled --from 2026-03-01 --limit 20

For a week of Shorts, skip the loop of individual creates and use a calendar file:

creatoros posts:bulk-upload --file week-12.json --dryRun

Run it once with --dryRun, read the output, fix the row that has the wrong timezone, then run it again without the flag. The dry run is the cheapest part of this entire workflow and the one people skip when they are in a hurry.

You can do the same create step through the MCP server by asking Claude to call create_post with the same fields, if you would rather stay in conversation than type commands. Both paths hit the same workspace.

Step 5: Review, Iterate, and Keep the Workflow Repeatable

Scheduling is not the end. The loop closes when you feed results back into the selection rule from step 2.

creatoros analytics:posts --platform youtube --from 2026-03-01 --to 2026-03-31 --sortBy engagement

Ask Claude to compare engagement across the month against the hook angle it assigned to each clip. After two or three weeks you get an answer worth acting on: which hook shape lands, which clip length holds, which topic gets replies. Then edit shorts-brief.md. That file is the asset. The prompts are disposable.

Two housekeeping commands keep the setup healthy. creatoros sync updates the installed skills without overwriting files you have edited, and any update lands as a .new file you can diff before accepting. creatoros accounts:health catches an expired connection before it eats a scheduled slot.

If you want to run more of this autonomously, the open-source Social Agents harness at github.com/kevinbadi/social-agents runs your socials on Creator OS, including posting, replies, and reporting, with a local dashboard. Bring your own model: a logged-in Claude Code session, an ANTHROPIC_API_KEY, or any Anthropic-compatible API. For the on-camera side, the open-source OPEN VIDEO EDIT skills turn a raw talking-head clip into an animated short with captions and b-roll cards, rendered locally with Python and ffmpeg. The launch video at youtube.com/watch?v=-QBJH_PK3pY shows both in motion. And if you want to schedule Skool posts alongside the socials in the same run, that is covered in scheduling Skool posts alongside social media.

Common Mistakes and How to Fix Them

Asking for hooks before picking clips. Hooks written against a vague moment read generic. Fix the selection rule first, then write hooks against a specific 30 second window with a specific claim in it.

Re-uploading the same file for each platform. Upload once, reuse the med_ id. It saves time and keeps one file behind three posts, so a correction is one upload, not three.

Ignoring missing_platforms. Read the response. A post that silently went to two of four networks looks like a publishing bug later when the analytics do not add up.

Assuming trending audio can be attached through the API. It cannot. Bake the sound into the file before upload. Same for Instagram Stories: interactive stickers are app-only.

Skipping the dry run on a bulk upload. A timezone typo in row nine of a twelve row calendar file is invisible until nothing publishes. Run --dryRun first, every time.

Letting the brief drift. The workflow is only repeatable if the rules are written down. Put them in a file in the repo, keep them under version control, and change them deliberately after a month of analytics, not after one post underperformed.

If you want the underlying reference for anything here, start at creatoros.ca/docs for the REST API and base URL, the CLI reference for every command and flag, and post options for per-platform settings.

Get Started With the Creator OS Shorts Workflow

The whole loop needs one plan and one key. The Creator plan is $14.99/month or $59.99/year and covers 11 platforms plus Skool, one account on each. API keys, the MCP server, the CLI, and the agent skills are included in every plan, so there is no separate developer tier to buy.

Do this today, in order. Run the init command to install the CLI and skills. Add the MCP server to Claude Code with your key. Connect your YouTube channel and confirm it shows up in accounts:list. Write your shorts-brief.md selection rule. Cut two clips from your most recent long video and schedule one of them.

That is the workflow. Everything after it is refinement.

Create your Creator OS account and run your first Short through the loop this week.

Get started for $0
Free trial for new subscribers. Cancel anytime.

Keep reading