YouTube upload checklist: gate the file, publish private, watch on a phone
Cheap checks first, upload last: title under 100 characters, the real shooting date and chapters in the description, captions as tracks, Shorts linked both ways, a private publish watched on a phone.
Before uploading {file} to YouTube, check in this order and stop at the first failure:
FILE
[ ] Title 100 characters or fewer (over 100 is invalidTitle and creates nothing). In the language of the audience the video is for.
[ ] Description file exists and starts with the real shooting date (from container metadata, not the file name), then one paragraph, then chapters as timestamps starting at 0:00, then a 'Shorts from this video' block with links.
[ ] Thumbnail extracted and looked at.
[ ] Playlist resolved.
[ ] Caption files parse. Long video: an .srt per language as tracks, never burned. Short: burned in, 1-2 word lines.
[ ] Branded outro present if the channel uses one.
[ ] Third-party music checked for Content ID (strip it first if any).
[ ] Audio timestamps: packet pts match index*1024/sample_rate after loudnorm (asetpts=N/SR/TB last in the chain).
PUBLISH
[ ] Upload PRIVATE.
[ ] Watch it on a phone, start to end, sound on: the joins, the captions, the outro, the first 3 seconds.
[ ] Set privacy to public (videos.update of status.privacyStatus).
[ ] Read the description back after 10 s; read-after-write is stale, and a second write can put the old text back.
LINK
[ ] The Short's description links to the long video; the long video's description lists its Shorts.
[ ] 'Related video' on the Short set by hand in Studio (the API accepts relatedVideoId with 200 and does not save it).
MEASURE
[ ] Judge at 48 h, not at 1 h; 0 views an hour after publish is normal. In Claude Code, paste the prompt as a message, or run /youtube-channel which does this end to end.
Steps
- Run the FILE block as a script before the first byte goes up; an upload costs 1,600 of the day's 10,000 quota units, so a failed one is 16 % of the day.
- Keep the phone watch honest: full length, not the first minute.
- Hide a weak video by setting it unlisted, never delete; deletion loses the URL and the stats.
Tips
- Quota resets at midnight Pacific; 5-6 uploads a day in practice. Plan a batch of Shorts against it and push the rest to tomorrow instead of failing mid-batch.
- A week in, nobody can tell the days apart; the real shooting date in every description is what makes a series navigable.
- In Claude Code, `/youtube-channel` runs this gate, uploads private, publishes and reads the Analytics API after 48 h.
| works with | Claude Code: Runs as a skill or a prompt in the terminal; can read your files and write the result. · By hand: No tool needed: a checklist or a technique. |
| skill | npx skills add fortunto2/solo-factory/youtube-channel · source |
| cost | Free. No API, no key. |
| status | Unverified: written from the technique, not yet run end to end by us. |
| license | CC BY 4.0 for the text here; skills are MIT. |
| updated | 2026-11-01 |
| for agents | youtube-upload-checklist-private-then-phone-then-public.md |
Related
Weekly growth review: an agent reads the posts and the installs per campaign
Paste the week's posts and the installs per campaign link; the agent reports numbers first, then what worked by name, then 3-4 actions, judging by installs and by multiples, never by a 20 % swing.
Cadence: 1-2 posts a day, one vertical cut to TikTok, Reels and Shorts
The minimum posting rhythm for Phase 1 and the production habit that makes it possible: one 9:16 master per idea, three uploads, no per-platform re-edit. With the ffmpeg line for burned captions.
Upload, title, chapter and track videos on a YouTube channel (/youtube-channel)
Run a solo founder's YouTube channel from the terminal — upload through the YouTube Data API, subtitles as tracks, thumbnails, publish, bulk hide, link Shorts to the long video, and read the…
Screen-recording walkthrough: 45 seconds, one outcome, zoom on every click
The faceless screen walkthrough that stays watchable because every click is zoomed and labelled and the outcome is shown first. The prompt returns the click list, the zoom plan and the voice-over.
Before you post a generated video: disclosure and rights checklist
Six checks for AI-generated clips before they go on TikTok, Reels, Shorts or a client's site: labels, likeness, music, logos, model terms and provenance.
Generate a 10-clip b-roll pack for a talking-head video
One agent prompt that reads your transcript and writes ten generation prompts for cutaways that show what is being said, each tagged with the sentence it covers.