agentCLAWHUBUnverified

YT-to-Blog Content Engine

Full content pipeline: YouTube URL → transcript → blog post → Substack draft → X/Twitter thread → vertical video clips via HeyGen AI avatar. One URL in, entire content suite out. Use when asked to: "turn this video into content", "create a content suite from this YouTube video", "write a blog from this video", "repurpose this video", or any video-to-multi-platform content request. Can run the full pipeline or individual steps. Skill: YT-to-Blog Content Engine Owner: justinhartbiz Summary: Full content pipeline: YouTube URL → transcript → blog post → Substack draft → X/Twitter thread → vertical video clips via HeyGen AI avatar. One URL in, entire content suite out. Use when asked to: "turn this video into content", "create a content suite from this YouTube video", "write a blog from this video", "repurpose this video", or any video-to-multi

OpenClaw

Rank

62

Safety

84

Downloads

1.7k

Updated

Apr 15, 2026

Version

2.0.0

Source

CLAWHUB

About

What it does, and when to use it.

Capability contract not published. No trust telemetry is available yet. 1.7K downloads reported by the source. Last updated 4/15/2026.

Avoid when

  • Contract metadata is missing or unavailable for deterministic execution.

Risk flags: missing_or_unavailable_contract, trust_data_unavailable, schema_references_missing

Public facts

Every fact links back to the source it came from.

Vendor
Clawhubvendor · observed Apr 15, 2026
Protocol compatibility
OpenClawcompatibility · observed Apr 15, 2026
Adoption signal
1.7K downloadsadoption · observed Apr 15, 2026
Latest release
2.0.0release · observed Feb 5, 2026
Handshake status
UNKNOWNsecurity

Install and run

Setup complexity: low.

clawhub skill install kn7axjxn3pz992e0fw2v62mngs80f166:yt-to-blog
  1. Setup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.
  2. Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data.

Contract: missing

curl -s "https://www.xpersona.co/api/v1/agents/clawhub-justinhartbiz-yt-to-blog/snapshot"

Documentation

CLAWHUB

42,284 characters of source documentation, loaded on request.

Extracted files

5 files captured from the source.

SKILL.md

---
name: yt-to-blog
description: >
  Full content pipeline: YouTube URL → transcript → blog post → Substack draft → X/Twitter thread →
  vertical video clips via HeyGen AI avatar. One URL in, entire content suite out. Use when asked to:
  "turn this video into content", "create a content suite from this YouTube video", "write a blog from
  this video", "repurpose this video", or any video-to-multi-platform content request.
  Can run the full pipeline or individual steps.
---

# YT-to-Blog Content Engine

YouTube URL → blog post + Substack + tweets + vertical video clips. The whole content machine.

## Pipeline Overview

```
YouTube URL
  ↓
① Transcript (summarize CLI)
  ↓
② Blog Draft (AI-written in your voice)
  ↓
③ Substack Publish (browser automation)
  ↓
④ X/Twitter Post (bird CLI)
  ↓
④b Facebook Group (optional reminder)
  ↓
⑤ Script Splitter (extract hook moments)
  ↓
⑥ HeyGen Videos (AI avatar vertical clips)
  ↓
⑦ Post-Processing (ffmpeg crop/scale)
  ↓
📁 Output Folder (blog.md, videos, tweet.txt, URLs)
```

**One URL in → Five platforms out.** Run the whole thing or any step individually.

---

## First-Time Setup Wizard

Walk the user through this on first use. It takes ~10 minutes once, then never again.

### Step 1: Check Dependencies

Run the setup script to check what's installed:

```bash
bash skills/yt-content-engine/setup.sh
```

Required CLIs:
| Tool | Purpose | Install |
|------|---------|---------|
| `summarize` | YouTube transcript extraction | `brew install steipete/tap/summarize` |
| `bird` | X/Twitter posting | `brew install steipete/tap/bird` |
| `ffmpeg` | Video post-processing | `brew install ffmpeg` |
| `curl` | API calls to HeyGen | Usually pre-installed on macOS |
| `python3` | Helper scripts | Usually pre-installed on macOS |

If anything is missing, tell the user what to install and wait for confirmation.

### Step 2: HeyGen API Key

1. Tell the user: "Go to https://app.heygen.com/settings — grab your API key from the API section."
2. If they don't have a HeyGen account: "Sign up at https://heygen.com — the free tier gives you a few credits to test with."
3. Save the key to `config.json` (see config schema below).
4. Test it:

```bash
curl -s -H "X-Api-Key: API_KEY_HERE" https://api.heygen.com/v2/avatars | python3 -c "import sys,json; d=json.load(sys.stdin); print('✅ API key works!' if 'data' in d else '❌ Invalid key')"
```

### Step 3: HeyGen Avatar Setup

Tell the user:

> "For vertical video clips, you need a HeyGen avatar. Here's what matters:
>
> **Record in PORTRAIT mode** (hold your phone vertically). This is critical — if you record landscape, the avatar will be a small strip in the center of a 9:16 frame and we'll need to crop/scale it (which works but loses quality).
>
> Go to https://app.heygen.com/avatars → Create Instant Avatar → follow their recording guide. Stand in good lighting, look at camera, speak naturally for 2+ minutes.
>
> Once created, grab your Avatar ID from the avatar details page."

_meta.json

{
  "ownerId": "kn7axjxn3pz992e0fw2v62mngs80f166",
  "slug": "yt-to-blog",
  "version": "2.0.0",
  "publishedAt": 1770332043686
}

references/config-template.md

# Substack Configuration

Copy this file to `config.md` and fill in your Substack details.

- **URL:** https://xxxxx.substack.com
- **Editor URL:** https://xxxxx.substack.com/publish/post
- **Publication name:** [Your Publication Name]

references/voice-guide-template.md

# Voice Guide — [Your Name]

Copy this file to `voice-guide.md` and fill in your details. The more specific you are, the better the output matches your voice.

**Fastest setup:** Paste 2-3 of your best existing posts and ask your agent:
> "Read these and build a voice guide for my writing style. Save to references/voice-guide.md"

---

## Publication
- **Substack:** xxxxx.substack.com
- **Publication name:** [Your Publication Name]
- **Audience:** [Who reads you? Demographics, interests, expertise level, political lean if relevant]
- **Subscriber scale:** [Rough size — helps calibrate tone and assumptions]

## Tone

Pick 2-3 that fit and describe what they mean for YOUR writing:

- **Conversational authority** — smart friend explaining over drinks, not a lecturer
- **Credible urgency** — passionate but grounded in evidence
- **Dry wit** — humor through understatement, not punchlines
- **Righteous anger** — moral clarity without screaming
- **Academic rigor** — precise, hedged, citation-heavy
- **Warm storyteller** — empathy-first, narrative-driven
- **Provocateur** — deliberately challenges assumptions

Your tone: [describe here]

## Structure Pattern

How do your posts typically flow? Describe your go-to structure:

Example:
1. Cold open with a scene or anecdote
2. Pivot to the bigger thesis
3. Data/evidence with editorial commentary
4. Callback to the opening
5. Punchy closing with short paragraphs

Your structure:
1.
2.
3.
4.
5.

## Sentence Style

- **Length variation:** [dramatic swings between long and short? consistently medium? long and flowing?]
- **Punctuation:** [em dashes? ellipses? semicolons? colons for lists?]
- **Fragments:** [use sentence fragments for emphasis? e.g. "Always has. Always will."]
- **Direct address:** [talk to the reader? "you" or implied?]
- **References:** [pop culture? academic? sports? everyday life? scripture?]
- **Metaphor style:** [escalating? one central metaphor? sprinkled throughout?]

## What You Do NOT Do

Often more useful than what you do. Things that would make a post feel "off":

- [ ] Corporate jargon or buzzwords
- [ ] Hedge language ("it could potentially suggest...")
- [ ] Bullet-point lists in the post body
- [ ] "In conclusion" or "to summarize" transitions
- [ ] Both-sides-ism when evidence is clear
- [ ] Long academic footnotes (prefer inline links)
- [ ] Sycophantic hedging
- [ ] [Add your own...]

## Topics & Themes

What do you write about? List your lanes:

-
-
-

## Constraints

Hard rules the agent must follow:

- [ ] Factually defensible — link sources, don't fabricate
- [ ] No defamation or unsubstantiated claims about named individuals
- [ ] [Audience-specific rules, e.g. "maintain credibility with X audience"]
- [ ] [Content restrictions, e.g. "avoid medical advice"]
- [ ] [Add your own...]

## Sample Headlines

List 5-10 of YOUR actual headlines so the agent matches the style:

1.
2.
3.
4.
5.

references/voice-guide.md

# CovidReason / Rational Ground — Justin Hart's Writing Voice

## Publication
- **Substack:** covidreason.substack.com ("Rational Ground by Justin Hart")
- **Audience:** Conservative, COVID-skeptic, data-literate, politically engaged. Mix of professionals, parents, and policy skeptics.
- **Subscriber base:** Large enough to drive 13K+ views on X promo posts

## Voice Characteristics

### Tone
- **Credible urgency** — never tabloid hysteria
- Righteous anger tempered by dry wit
- Data-dense but narratively compelling
- Conversational authority — writes like a smart friend explaining something over drinks, not a lecturer
- Moral clarity without preachiness

### Structure Pattern (The "Lights Are Still On" Template)
1. **Cold open with a scene** — cinematic, specific, emotionally grounding (time, place, sensory details)
2. **Pivot to thesis** — the scene isn't just a scene, it's a symptom of something bigger
3. **Data barrage** — dense, linked, cited statistics that build the case. Each stat gets a one-line editorial punch
4. **Rhetorical callbacks** — return to the opening scene or metaphor periodically to maintain narrative coherence
5. **Escalating metaphors** — cockroaches in walls, planes losing altitude, overdue invoices
6. **Punchy closing** — short paragraphs, sentence fragments, building to a final hammer line

### Headline Style
- Provocative but credible
- Often uses contrast or irony: "The Lights Are Still On, But Nobody's Shopping"
- Subtitle is the thesis statement in one sentence
- Occasionally uses BREAKING: or imperative framing

### Sentence Style
- Varies sentence length dramatically (long data sentences, then one-word punches)
- Em dashes for parenthetical asides
- Sentence fragments for emphasis ("Always has. Always will.")
- Direct address to reader implied but rarely explicit
- Pop culture and everyday references to anchor abstract data

### What He Does NOT Do
- Corporate jargon or hedge language ("it could potentially suggest...")
- Sycophantic hedging
- Both-sides-ism when the data is clear
- Long academic citations (uses inline links instead)
- Bullet-point lists in the body (narrative flow > formatting)

## Topics & Themes
- COVID policy failures, lockdown harms, vaccine safety data
- Government overreach and institutional credibility collapse
- Economic data the mainstream isn't covering
- Cultural commentary on media, tech, politics
- Screwtape Letters-style satirical essays (ongoing series)
- Occasional personal narrative

## Key Constraints
- Must be factually defensible — Justin's credibility depends on accuracy
- Sources should be linked, not just cited
- Charts/images embedded where data supports it
- Avoid defamation or unsubstantiated claims about specific individuals
- Strong opinion is fine; fabrication is not
Github ReposUpdated 12h agoRank 70

AionUi

Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!

MCPOPENCLAW
Github ReposUpdated 6mo agoRank 70

activepieces

AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents

OPENCLAW
Github ReposUpdated 6mo agoRank 70

cherry-studio

AI productivity studio with smart chat, autonomous agents, and 300+ assistants.

MCPOPENCLAW
Github ReposUpdated 7mo agoRank 70

CopilotKit

The Frontend for Agents & Generative UI. React + Angular

OPENCLAW

Machine-readable data

The same record, as JSON, for agents and crawlers.

{
  "facts": [
    {
      "factKey": "vendor",
      "category": "vendor",
      "label": "Vendor",
      "value": "Clawhub",
      "href": "https://clawhub.ai/justinhartbiz/yt-to-blog",
      "sourceUrl": "https://clawhub.ai/justinhartbiz/yt-to-blog",
      "sourceType": "profile",
      "confidence": "medium",
      "observedAt": "2026-04-15T00:45:39.800Z",
      "isPublic": true
    },
    {
      "factKey": "protocols",
      "category": "compatibility",
      "label": "Protocol compatibility",
      "value": "OpenClaw",
      "href": "https://www.xpersona.co/api/v1/agents/clawhub-justinhartbiz-yt-to-blog/contract",
      "sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-justinhartbiz-yt-to-blog/contract",
      "sourceType": "contract",
      "confidence": "medium",
      "observedAt": "2026-04-15T00:45:39.800Z",
      "isPublic": true
    },
    {
      "factKey": "traction",
      "category": "adoption",
      "label": "Adoption signal",
      "value": "1.7K downloads",
      "href": "https://clawhub.ai/justinhartbiz/yt-to-blog",
      "sourceUrl": "https://clawhub.ai/justinhartbiz/yt-to-blog",
      "sourceType": "profile",
      "confidence": "medium",
      "observedAt": "2026-04-15T00:45:39.800Z",
      "isPublic": true
    },
    {
      "factKey": "latest_release",
      "category": "release",
      "label": "Latest release",
      "value": "2.0.0",
      "href": "https://clawhub.ai/justinhartbiz/yt-to-blog",
      "sourceUrl": "https://clawhub.ai/justinhartbiz/yt-to-blog",
      "sourceType": "release",
      "confidence": "medium",
      "observedAt": "2026-02-05T22:54:03.686Z",
      "isPublic": true
    },
    {
      "factKey": "handshake_status",
      "category": "security",
      "label": "Handshake status",
      "value": "UNKNOWN",
      "href": "https://www.xpersona.co/api/v1/agents/clawhub-justinhartbiz-yt-to-blog/trust",
      "sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-justinhartbiz-yt-to-blog/trust",
      "sourceType": "trust",
      "confidence": "medium",
      "observedAt": null,
      "isPublic": true
    }
  ],
  "events": [
    {
      "eventType": "release",
      "title": "Release 2.0.0",
      "description": "Major update: Full content pipeline - YouTube → Blog → Substack → Twitter → HeyGen avatar videos. Added Facebook Group reminders, voice ID fix, video post-processing.",
      "href": "https://clawhub.ai/justinhartbiz/yt-to-blog",
      "sourceUrl": "https://clawhub.ai/justinhartbiz/yt-to-blog",
      "sourceType": "release",
      "confidence": "medium",
      "observedAt": "2026-02-05T22:54:03.686Z",
      "isPublic": true
    }
  ]
}

Record generated Oct 10, 2026.

Sponsored

Ads related to YT-to-Blog Content Engine and adjacent AI workflows.