Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsCommunityBlog
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Authors
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

ProTermsPrivacyRefunds
Back to skills

Youtube Ship

ASecurity

Runs the whole Ben AI YouTube publishing chain for one video, in the right order, and reports where the video already is before doing anything. Walks the Studio wizard to Unlisted first, then UTM links, Bitly import, chapters and tags, and the description. Collects every judgment call once in a Ship Brief up front so the mechanical work runs without stopping. Use whenever someone says "ship this video", "publish prep", "run the publishing process", "get this video ready", "youtube ship", "pre...

65 stars
0 votes
0 copies
0 views
Added 9/21/2026
ai-agentsgoshellapidatabase

Works with

terminalcliapimcp

Security Analysis

A100/100

Scanned 9/21/2026

Install to Claude Code

$npx -y skills add naveedharri/benai-skills --skill youtube-ship --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Youtube Ship?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Youtube Ship
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/naveedharri-youtube-ship-benai-skills/badge)](https://www.skillsdirectory.com/skills/naveedharri-youtube-ship-benai-skills)

More formats (shields.io, HTML) on the badges page.

Download with Pro
Files
SKILL.md
---
name: youtube-ship
description: Runs the whole Ben AI YouTube publishing chain for one video, in the right order, and reports where the video already is before doing anything. Walks the Studio wizard to Unlisted first, then UTM links, Bitly import, chapters and tags, and the description. Collects every judgment call once in a Ship Brief up front so the mechanical work runs without stopping. Use whenever someone says "ship this video", "publish prep", "run the publishing process", "get this video ready", "youtube ship", "prep the video for tomorrow", or names a video in the Youtube tutorial Pipeline that has finished editing. Also use when only one stage is wanted, and route to that stage.
disable-model-invocation: true
---

# YouTube Ship

One video, five stages, four human checkpoints. Ends at an armed Unlisted draft.
A person clicks Publish. This skill never does.

## Before anything: report state, do not act

State lives on the video's Notion card, never in chat. That is what makes any stage
runnable standalone, days apart, and resumable after a dead session.

Read the card first and say out loud which stages are already done. See
`references/notion-card.md` for the database, the properties and the reading rules.

The short version of the reading rules:

| Property | Empty means |
|---|---|
| `Video ID` | nothing has run; you do not even have a video |
| `UTM code` | stage 2 has not run |
| `Bitly imported` unchecked | the links are not live, so do not write a description full of dead links |
| `Chapters` | stage 4 has not run |

## Stage 0: the Ship Brief

Collect every judgment call in one approval, before any stage runs. Read
`references/ship-brief.md` for the full list and the wording to use.

If a new question comes up mid-run, that question belonged in the Brief. Add it there
rather than asking it twice.

## The chain, in this order

```
1. youtube-studio-setup   →  video saved at Unlisted, wizard walked
2. benai-utm-creator      →  six UTM links, five-letter code, Bitly CSV
3. youtube-link-setup     →  links live on c.benai.co
4. youtube-chapters-tags  →  chapters and tags
5. youtube-description    →  description assembled and written into the draft
```

### Why stage 1 is first

Measured on 2026-08-25 during the Juan walkthrough. A video sitting as a Studio draft has
no caption track, so there is no transcript, so there are no chapters. YouTube generates
captions only after the video is saved at a real visibility and its checks finish.

The old order put chapters first and deadlocked: chapters needed a transcript, the
transcript needed Unlisted, and Unlisted was the last step of the old stage 4.

So: walk the wizard first. Land at Unlisted. Then chapters become possible.

### What to do while YouTube processes

Stages 2 and 3 need only the video's exact title. Run them during processing rather than
waiting. By the time captions appear, the links are already live.

Do not sit and poll YouTube in a loop. Do the link work, then check once.

## Human checkpoints: four, and only four

1. **The Ship Brief**, stage 0. Everything judgment-based, approved once.
2. **Before "Submit rating"**, stage 1. The ad-suitability rating is permanent. YouTube
   will not let it be changed afterwards.
3. **Before the Bitly import**, stage 3. Links are awkward to unpick and the monthly
   quota is finite.
4. **Before writing the description into Studio**, stage 5. Last look at the whole block
   with the real links and chapters in it.

Note this differs from the pre-2026-08-25 list. "Before Set test" is gone as a separate
stop, because titles and thumbnails now go in during stage 1 where the operator is
already looking at both in place.

## Hard rules, each one from a real failure

- **Confirm the video is Ben's before reading a word of it.** The watch-page fetch returns
  `author` and `channelId`. They must be `Ben AI` and `UC3KK7ENB_ierAXvrxVNnbZQ`. A video
  that reports public and carries a view count is not a pre-publish draft, so refuse it.
  On 2026-08-25 a card's title link pointed at a published Brock Mesarich video with
  78,923 views that somebody had dropped in as a title reference.
- **Never build the description by pasting a previous video's.** That is how the old
  five-letter code ships. Build from the template.
- **Never carry the previous video's 📺 links forward silently.** If Ben names no video in
  the audio, ask. If nobody picks one, leave the block out.
- **Never read an ID off a screenshot.** A transcribed channel ID once silently returned
  nothing on every API call.
- **Never rename a Bitly backhalf that is already live.** It breaks the link everywhere it
  has already been published. When a suffix convention changes, it changes for new videos
  only. The Cowork suffix moved from `-cowork` to `-os` on 2026-08-26 on exactly this basis.
- **The chain ends at Unlisted; a person publishes or schedules afterwards.** Corrected
  2026-08-26. Scheduling is now real practice, done deliberately as the last action once the
  description, chapters, tags and end screen are all verified. Observed setting: the target
  morning at 09:13 GMT+1, on a Tuesday / Thursday / Saturday cadence. No skill in this chain
  ever sets it, and nothing here may use Schedule as a way of skipping a stage.
- **No terminal.** Nobody running this chain should be asked to type a shell command. If a
  step seems to need one, the skill runs it internally or the step moves to the browser.

## Environment constraints

- YouTube is IP-blocked from the sandbox. Every YouTube read goes through Claude in Chrome.
  `youtube-transcript-api` and `curl` both fail; do not retry them.
- Fetching a caption track's `baseUrl` out of `captionTracks` is blocked, because the URL
  carries session tokens. Use the transcript panel in the DOM instead.
- `benai.kit.com` returns 403 to the sandbox, browser user-agent included. That is Kit
  blocking the datacenter IP, not a broken page.
- Kit landing pages cannot be built through the Kit MCP. Every Ben AI page is
  `editor_version: v1`, which the API cannot edit.
- Bitly runs on account `ben@benai.co`, group `Bp46bK7ywPJ`, short domain `c.benai.co`.

Attribution

naveedharrinaveedharri
View sourceMore from naveedharri →
SSkills DirectorySkills Directory

Your tool, in front of Claude Code builders.

3 founder slots · $299/mo · GSC-verified traffic · sponsors can never buy grades.

See placements

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Your tool, in front of Claude Code builders.

3 founder slots · $299/mo · GSC-verified traffic · sponsors can never buy grades.

See placements

Related Skills

Caveman

Ultra-compressed communication mode that cuts output tokens while keeping technical accuracy. Levels: lite, full, ultra and the wenyan variants. Use for /caveman, "caveman mode", "talk like caveman", "be brief" or "less tokens".

1066601 votes

Hyperplan

Adversarial multi-agent planning skill. Self-orchestrates 5 hostile category members (unspecified-low, unspecified-high, deep, ultrabrain, artistry) via team-mode for ruthless cross-critique debate, distills only the defensible insights, then MANDATORILY hands the distilled insight bundle to the `plan` agent for executable plan formalization. Use when planning needs maximum rigor and surfacing of weak assumptions, blind spots, and over-engineering. Triggers: 'hyperplan', 'hpp', '/hyperplan', ...

693161 votes

Mcp Code Execution

Routes multi-tool workflows through MCP servers for large datasets and pipelines. Use when Bash tool overhead is limiting throughput on data-heavy tasks.

3351 votes

catchup

Recovers the conversation and failed tool calls of a previous Codex, Claude Code, Antigravity, Cline, Copilot CLI, Cursor, DeepSeek Harness, Kimi, OpenCode, Pi Agent, or ZCode session. Use when the user says "catch up", "what did the last session do", "get me up to speed", "I switched agents", asks to recover/summarize a previous session before continuing, or asks to diagnose or report a catchup failure. Do NOT use for the current conversation, git history, or any non-agent log.

651 votes

math-skill

A comprehensive mathematical reasoning skill for AI assistants — handles arithmetic to research-level problems with rigorous step-by-step reasoning, systematic verification, and transparent uncertainty handling

381 votes
View all in ai-agents →