Skip to content
Automation
Skill

/yt-to-community

Turn a YouTube video into a community announcement post draft in Ben's voice, with the thumbnail attached. Pulls the transcript, detects resources and lead magnets mentioned in the video, and outputs a Circle-ready draft. This is STEP 1 of the YouTube pipeline. Whenever a

From plugin
benai-skills
61152 skills17 agents1 hook4 MCP
Install
$ npx -y skills add naveedharri/benai-skills --skill yt-to-community --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/yt-to-community

Context preview

The summary Claude sees to decide when to auto-load this skill.

Turn a YouTube video into a community announcement post draft in Ben's voice, with the thumbnail attached. Pulls the transcript, detects resources and lead magnets mentioned in the video, and outputs a Circle-ready draft. This is STEP 1 of the YouTube pipeline. Whenever a

SKILL.md

yt-to-community.SKILL.md
name: yt-to-community
description: |
  Turn a YouTube video into a community announcement post draft in Ben's voice,
  with the thumbnail attached. Pulls the transcript, detects resources and lead
  magnets mentioned in the video, and outputs a Circle-ready draft.

  This is STEP 1 of the YouTube pipeline. Whenever a YouTube URL is shared with
  any repurposing intent (community post, course, or unspecified), run this skill
  first. Do not ask "post or course?" — the order is fixed. After the post is
  saved, this skill prompts the user about handing off to yt-to-course.

  USE THIS SKILL WHEN the user shares a YouTube link and wants a community post,
  course material, or any kind of repurpose. Triggers: "community post", "yt to
  community", "post this video", "announcement post", "YouTube resources post",
  "add this to the community", "course from this", "turn this into a course",
  or just a bare YouTube URL with minimal context like "post this".

  Do NOT skip this step to jump straight to yt-to-course.

YouTube to Community Announcement Post

Convert a YouTube video into a ready-to-publish announcement post for the Accelerator's community on Circle. Output is a draft, in Ben's voice, with thumbnail attached and any resources/lead magnets surfaced.

Pipeline Position

This skill is **step 1 of 2** in the YouTube repurposing pipeline.

1. `yt-to-community` (this skill): community post + thumbnail. Runs automatically on any YouTube URL. 2. `yt-to-course`: course material. Runs only after the post is done and the user confirms.

When a YouTube URL lands in chat, do NOT ask "do you want a post or a course first?". The order is fixed: post first, then offer the course. The final step of this skill prompts the user about the course.

Why This Exists

Every Ben AI YouTube video needs a paired announcement post in the community. The post follows a specific format and voice. Doing this manually means watching the video, noting resources, drafting copy, and posting. This skill produces the draft from just a URL.

Profile boundary

All output writes to `Profiles/Milan/Community/community-posts/`. The thumbnail saves alongside as `{date}-{slug}-thumbnail.jpg`. Milan reviews the draft and publishes from Ben's Circle account manually. See [[yt-pipeline SPEC|SPEC.md]] for the full invariant.

The Flow

Step 1: Ingestion

Invoke the `yt-ingestion-agent` sub-agent with:

  • youtube_url: the URL from the user's message
  • output_dir: a working directory (default: `Profiles/Milan/Daily/{today}/yt-community-{video-id}/`)

For community posts we don't need the video file itself, just transcript + metadata + thumbnail. The agent fetches all three.

If transcript fetching fails (rare but possible), ask the user to paste the transcript or provide the video description.

Step 2: Detect Resources and Lead Magnets

Scan the transcript for resource mentions:

  • Tools named in the video (named software, websites, Chrome extensions)
  • Lead magnets (free downloads, free templates, free skills, "link in description")
  • Course references (existing accelerator courses)
  • External URLs explicitly mentioned

Present the candidate resources to the user. Confirm which to include in the post.

Step 3: Get the Video Title

The ingestion manifest includes the title from yt-dlp metadata. If missing, ask the user.

Step 4: Draft the Post in Ben's Voice

**Voice calibration is non-optional.** The last time this skill ran without proper calibration, the output read like content-marketing copy instead of Ben. Read all five references below before drafting a single line.

1. `Context/brand.md`. the source of truth for Ben's public/marketing voice. Pay specific attention to:

  • **Voice DNA**: "the friend who failed first and figured it out"
  • **Three Voice Modes**: Vulnerable Teacher (40%), Strategic Authority (35%), Encouraging Coach (25%)
  • **Language Rules**: simple language, one-sentence paragraphs for emphasis, "Here's the thing", direct questions
  • **Signature Phrases**: "It's not rocket science", "Here's the thing:", "That's it.", "Keep going,"
  • **Sentence Rhythm**: long setup, short punch, short punch, medium bridge
  • **Red Flags of Inauthentic Replication**: guru energy, jargon, motivation without method, hiding the struggle

2. `Context/ben-voice.md`. how Ben *actually writes 1:1*, extracted from his real LinkedIn DMs. Community posts are not DMs, but they sit between marketing copy and DMs and they need to *feel* like Ben talking, not Ben performing. Steal these patterns:

  • **Loose, not polished.** "If a draft sounds polished, it is wrong." Punctuation can be loose. A typo or a stray capital ("I Appreciate") is fine if it reads natural.
  • **Direct, answer-first.** No long preambles before the point. Specifics over abstractions.
  • **Signature warmth phrases (sparingly):** "frankly", "to be honest", "genuinely appreciate", "glad to hear that you're", "very cool", "fantastic". Use 1, never 3.
  • **Hard nos**: no "circling back", "touching base", "leverage", "synergy", "ecosystem", no "I hope this finds you well", no fake humility, no performative gratitude.
  • Note: ben-voice.md says he never signs off in DMs. Community posts are different. they DO use "Keep going,\nBen". That sign-off is from brand.md and is correct for posts.

3. `Resources/frameworks/youtube-voice.md`. YouTube-specific tone. 4. `[[voice-rules]]`. announcement-post-specific rules (banned phrases, structure, examples). 5. `[[post-examples]]`. read at least 2 of the actual prior drafts referenced there. Match their cadence, length, and minimalism. They are the closest thing to ground truth.

Default post structure (use unless the video clearly calls for the minimal "title + URL + resource list" pattern that some recent posts follow):

{Hook: the punchline of the video as one specific insight, not a summary}

{2 to 3 paragraphs explaining the framework or insight, with concrete exa
Read more
Ships withbenai-skills

Expert automation skills for Claude Code, organized by department.

Get the whole plugin

Other skills on benai-skills.