The lodecast-publishing skill turns a single episode URL into a polished show page on a Distro newslode — laid out the way a YouTube watch page is: the video sits in the featured spot, and the body below reads like a YouTube description.

It came out of building DistroCast. The pattern is simple but fiddly to do by hand every time: drop in the video, write a short welcome, clean up the takeaways pasted from YouTube Studio, and turn the chapter list into timestamps that actually jump to the right moment in the video. This skill encodes that whole routine so every new episode goes up consistently.

Crucially, it never assumes where to file. It asks which newslode you want each time, so the same skill works across DistroCast and any other show you run.

What you'll need

The Distro Publisher MCP connected, so Claude can list your newslodes and file the draft.

What it does

  • Drops the episode video into the featured video spot (not embedded in the body).
  • Writes a short welcome blurb to open the description.
  • Lays out a clean Takeaways list, tidying the inconsistent bullet formatting that comes from pasted YouTube descriptions — without inventing or dropping any points.
  • Builds a Chapters list where each MM:SS label is a clickable link that jumps to that exact second in the video (00:00&t=0s, 07:13&t=433s, and so on).
  • Asks which newslode to publish to every time — never hardcoded to one publication.
  • Files the story as a draft by default and reads it back to confirm the video, takeaways, chapters, and status all came through.

Install the skill

Ask Claude:

"Please fetch the lodecast-publishing skill from Distro Skills and give me a .skill file I can install."

Claude will pull this story, extract the SKILL.md from the fenced block below, and package it as lodecast-publishing.skill. The file will appear in your chat with a Save skill button — click it to install directly. That registers the skill with your Claude app so it shows up in your skills list and triggers on matching requests.

Requires the Distro Reader or Distro Publisher MCP connected so Claude can pull the story. While Distro Skills is private, this works for account holders with access. Public read access is coming.

Claude Code users: you have a direct path — ask Claude to drop the unzipped folder into ~/.claude/skills/lodecast-publishing/ and restart the session. No packaging step needed.

No Distro MCP connected? Copy the SKILL.md contents from the fenced block below into a file called SKILL.md inside a folder called lodecast-publishing, zip it (folder as zip root), and upload through Settings → Capabilities → Skills → Upload skill.

The skill source

This is the canonical SKILL.md:

---
name: lodecast-publishing
description: >-
  Use this skill when the user gives a video, podcast, or episode URL and asks to
  publish it as a show/episode landing page to a Distro newslode — laid out like a
  YouTube watch page (featured video on top, then a description block with takeaways
  and clickable chapter timestamps). Triggers on requests like "use the
  lodecast-publishing skill with this link", "publish this episode to my newslode as
  a lodecast", "turn this YouTube link into a show page on Distro", or any request
  that pairs an episode/video URL with a Distro publishing goal for a podcast, show,
  or video series (DistroCast and similar). Apply it eagerly whenever a URL is paired
  with a "publish as a show/episode page" intent — better to use it and have the user
  redirect than to hand-roll a generic post. Do NOT use for plain link-reposts of
  news articles (use distro-link-post) or press-release rewrites (use
  distro-release-rewrite).
---

# Lodecast publishing skill

## What this skill does

Turns a single episode/video URL into a polished, YouTube-watch-page-style story on a
Distro newslode: the video sits in the **featured video spot**, and the body reads like
a YouTube description — a short welcome blurb, a clean **Takeaways** list, and a
**Chapters** list whose timestamps are clickable links that jump to the right moment in
the video.

The deliverable is a Distro story, filed **as a draft by default** so the user can review
before it goes live.

## Core principle: never hardcode the destination

Distro accounts own many newslodes. **Always ask which newslode to file to** — never
assume a default. List the user's newslodes with `distro_newslode_list`, show them the
relevant options (name + ID), and let them pick. The only exception is if the user names
the target newslode explicitly in their request (e.g., "publish this to DistroCast").

## Workflow

### 1. Gather the episode content

You need four things: the **video URL**, a one-line **welcome/intro**, the **takeaways**,
and the **chapters** (with timestamps).

- If the user pastes takeaways and chapters (this is common — they often come straight
  from the YouTube studio description), **use what they give you faithfully.** Don't
  invent extra takeaways or rewrite their chapter titles beyond light tidying.
- If the user gives only the URL, try `web_fetch` on the video page to pull the title,
  description, and any chapter markers. YouTube pages are heavily client-rendered, so
  the fetch often returns little usable text. If you can't reliably extract takeaways
  and chapters, **ask the user to paste the video description** rather than fabricating
  content. Made-up takeaways are worse than none.

### 2. Ask which newslode (required)

Call `distro_newslode_list` and ask the user to choose the destination. Present a short
list of their newslodes by name. Do not proceed until you know where it's going.

### 3. Offer to tidy the takeaways

Pasted descriptions usually have inconsistent bullet formatting (stray dashes, mixed
markers, missing line breaks). Offer to clean them into a single consistent bulleted
list. Tidying means: normalize the bullets, fix obvious capitalization/spelling
inconsistencies (e.g., "Distrobot" → "DistroBot"), and preserve every point intact. It
does **not** mean adding, removing, or reinterpreting content. If the user prefers, keep
the takeaways verbatim.

### 4. Build the body (YouTube-watch-page layout)

The video goes in the **featured video spot** via the `videoLink` field — do **not**
also embed it in the body. The body is the "description" area below the video:

```html
<p>[One- or two-sentence welcome blurb introducing the show/episode.]</p>

<h2>Takeaways</h2>
<ul>
<li>[Takeaway 1]</li>
<li>[Takeaway 2]</li>
...
</ul>

<h2>Chapters</h2>
<ul>
<li><a href="[VIDEO_URL]&t=[SECONDS]s">[MM:SS]</a> — [Chapter title]</li>
...
</ul>
```

**Chapter timestamp links.** Convert each `MM:SS` (or `HH:MM:SS`) to total seconds and
append `&t=<seconds>s` to the video URL so the link jumps to that moment. Examples:
`00:00` → `&t=0s`, `01:30` → `&t=90s`, `07:13` → `&t=433s`, `1:02:10` → `&t=3730s`.
Keep the displayed label as the human-readable `MM:SS`. Use an em dash (`—`) between the
timestamp and the chapter title for a clean YouTube-like look.

**Chapter title casing.** YouTube chapter titles are often Title Case; sentence case
("Innovative features: the MCP server") reads cleaner on Distro. Light-tidy to sentence
case while preserving proper nouns (DistroCast, JournalBot, MCP, AI, DistroBot).

### 5. Set title, preview, and source

- **Title** — the show/episode name, e.g., "DistroCast: Building the future of media in
  the open". Sentence case, keep it tight.
- **Preview** (required by the API) — one relevant sentence summarizing the episode for
  feeds, roughly 100–120 characters. Derive it from the welcome blurb and the main
  topics; don't pad.
- **videoLink** — the original video URL (featured video spot).
- Leave `sourceUrl`/`sourceName` empty unless the user is reposting someone else's video.

### 6. Publish as a draft

Call `distro_content_publish` with:

- `publicationId`: the newslode the user chose
- `title`, `content`, `preview`, `videoLink`
- `contentFormat: "html"` — the body is multi-paragraph, so pass explicit HTML rather
  than relying on markdown auto-conversion (markdown conversion has dropped paragraph
  breaks and rendered muted text on some newslodes)
- `status: "draft"` by default. Only publish live (`status: "published"`) if the user
  explicitly asks.

### 7. Verify

Read the story back with `distro_content_get` and confirm: the `videoLink` is set, the
`status` is `draft` (or as requested), the takeaways and chapters rendered, and the
chapter timestamp links point at the right seconds. Report the result and offer to flip
it live or adjust the layout.

## Tool quirks (Distro MCP)

- For multi-paragraph bodies, always pass `contentFormat: "html"` on both
  `distro_content_publish` and `distro_content_update`. `distro_content_update` never
  auto-converts markdown regardless of content.
- `<style>` and `<script>` tags are stripped on render; inline `style=""` attributes
  survive. For publication-wide design, set the newslode's `customCss` instead.
- `distro_newslode_list` surfaces private newslodes too — use it to discover IDs.

## Example (the DistroCast pattern)

**Input:** User pastes a YouTube URL plus a block of takeaways and chapters and says
"please use the lodecast-publishing skill with this link."

**Output:** A draft story on the user's chosen newslode with the video in the featured
spot, a one-line welcome, ten tidied takeaway bullets, and six chapters whose `MM:SS`
labels link to `…&t=0s`, `…&t=90s`, `…&t=433s`, etc. — then a read-back confirming the
draft rendered correctly.

When to use

  • You have a video or podcast episode (YouTube and similar) and want it up as a show page on a Distro newslode.
  • You're running an episodic show — DistroCast or any other — and want every episode laid out the same way.
  • You have takeaways and chapters (often pasted from YouTube Studio) and want them cleaned up and turned into clickable timestamps.

When not to use

  • Plain link-reposts of news articles — use the distro-link-post skill.
  • Press-release rewrites — use the distro-release-rewrite skill.
  • General essays or newsletters — publish those directly.

Feedback

This is v1.0.0. Edge cases or suggestions → reply or ping DistroBrad1.