podcast-production
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChinesePodcast Production Skill (v2)
播客制作Skill(v2版本)
Transform a podcast transcript into a single EDITOR_HANDOFF.md - the one document your video editor needs. Three phases, two human checkpoints, converging on one deliverable.
Previous version: (4-checkpoint system, retired Feb 2026)
SKILL_v1_archive.md将播客文字稿转化为一份EDITOR_HANDOFF.md文档——这是视频剪辑师所需的唯一交付物。整个流程分为三个阶段,包含两个人工审核节点,最终汇聚为一份标准化交付成果。
历史版本: (四节点审核系统,2026年2月停用)
SKILL_v1_archive.mdThe Pipeline
工作流程
PHASE 1: SETUP (automated, no LLM needed for import)
Step 0: Import from Notion → SOURCE.md
Step 0.5: Guest social research → GUEST_SOCIAL_RESEARCH.md
Step 1: SEO keyword research → SEO_Keywords.md
PHASE 2: AUDIT + HUMAN REVIEW
Step 2: Audit (angles, clips, cold opens, blog format assessment)
→ Checkpoint_1_Audit.md
────────── HUMAN CHECKPOINT: Select angle + approve clips ──────────
Step 3: Title + thumbnail variations (YouTube title + blog title)
→ Title_Options_By_Angle.md
────────── HUMAN CHECKPOINT: Select title + thumbnail ──────────
PHASE 3: HANDOFF ASSEMBLY (converges to one document)
Step 4: On-screen hook generation (3-4 per clip, * on recommended)
Step 5: Final clip markup (3 short + 2 long, edit-ready)
Step 6: Cold open assembly (2-3 options from selected clips)
Step 7: YouTube description + chapters (single code block, includes blog + transcript links)
Step 8: Narrative snippets extraction → blog post draft
Step 9: Social tagging strategy + platform post drafts
Step 10: Blog thumbnail + infographic generation (nano-banana-image-generator)
→ 3 Notion subpages + images in handoff folderPHASE 1: 准备阶段(自动化执行,导入无需LLM参与)
步骤0: 从Notion导入内容 → SOURCE.md
步骤0.5: 嘉宾社交平台调研 → GUEST_SOCIAL_RESEARCH.md
步骤1: SEO关键词调研 → SEO_Keywords.md
PHASE 2: 审核 + 人工确认
步骤2: 内容审核(营销角度、片段筛选、开场设计、博客格式评估)
→ Checkpoint_1_Audit.md
────────── 人工审核节点1:选定营销角度 + 确认片段 ──────────
步骤3: 标题 + 缩略图方案(YouTube标题 + 博客标题)
→ Title_Options_By_Angle.md
────────── 人工审核节点2:选定标题 + 缩略图 ──────────
PHASE 3: 交接文档组装(最终生成三类交付物)
步骤4: 屏幕钩子文案生成(每个片段3-4个选项,*标注推荐方案)
步骤5: 最终片段标记(3个短片段 + 2个长片段,可直接用于剪辑)
步骤6: 开场片段组装(从选定片段中生成2-3个开场选项)
步骤7: YouTube描述 + 章节划分(单个代码块,包含博客和文字稿链接)
步骤8: 叙事片段提取 → 博客文章草稿
步骤9: 社交平台标签策略 + 各平台帖子草稿
步骤10: 博客缩略图 + 信息图生成(nano-banana-image-generator)
→ 3个Notion子页面 + 交付文件夹中的图片Folder Structure
文件夹结构
Studio/Podcast Studio/
├── handoff-packages/ # DELIVERABLES (what gets zipped + pushed to Notion)
│ ├── 0-PODCAST-SOP.md # Master SOP for Charlie + Chavilah
│ ├── [Guest-Name]/
│ │ ├── [guest-slug]-editor-handoff.md
│ │ ├── [guest-slug]-youtube-and-transcript.md
│ │ ├── [guest-slug]-blog-and-social.md
│ │ ├── [guest-slug]-podcast-thumbnail-gen.jpg
│ │ └── [guest-slug]-infographic-gen.jpg
│ └── handoff-packages.zip # Zipped for Notion/Slack delivery
│
├── [Guest-Name]/ # WORKING FILES (prep, research, drafts)
│ └── prep/
│ ├── SOURCE.md # Raw transcript from Notion
│ ├── GUEST_SOCIAL_RESEARCH.md # Handles, platforms, reshare strategy
│ ├── SEO_Keywords.md # Keyword volumes + blog direction
│ ├── Checkpoint_1_Audit.md # Angles, clips, cold opens
│ ├── Title_Options_By_Angle.md # Framework-fit titles by angle
│ └── notion-export/ # Final deliverables before Notion push
│ ├── [guest-slug]-editor-handoff.md
│ ├── [guest-slug]-youtube-and-transcript.md
│ └── [guest-slug]-blog-and-social.mdTwo folders per guest: is the working directory (research, drafts, checkpoints). is the clean deliverable (images, ready for editor).
prep/handoff-packages/[Guest-Name]/File naming rule (NEVER break): Every deliverable file must include the guest slug in the filename. Never use generic names like or - these create duplicates across guest folders and are meaningless out of context. Use , , etc.
editor-handoff.mdblog-and-social.mdmath-academy-editor-handoff.mdamar-kumar-blog-and-social.mdStudio/Podcast Studio/
├── handoff-packages/ # 交付成果(压缩后推送至Notion)
│ ├── 0-PODCAST-SOP.md # Charlie与Chavilah使用的主SOP文档
│ ├── [嘉宾姓名]/
│ │ ├── [嘉宾标识]-editor-handoff.md
│ │ ├── [嘉宾标识]-youtube-and-transcript.md
│ │ ├── [嘉宾标识]-blog-and-social.md
│ │ ├── [嘉宾标识]-podcast-thumbnail-gen.jpg
│ │ └── [嘉宾标识]-infographic-gen.jpg
│ └── handoff-packages.zip # 压缩包,用于Notion/Slack交付
│
├── [嘉宾姓名]/ # 工作文件(调研、草稿、审核节点文档)
│ └── prep/
│ ├── SOURCE.md # 从Notion导入的原始文字稿
│ ├── GUEST_SOCIAL_RESEARCH.md # 社交账号、平台、转发策略
│ ├── SEO_Keywords.md # 关键词搜索量 + 博客方向
│ ├── Checkpoint_1_Audit.md # 营销角度、片段、开场设计
│ ├── Title_Options_By_Angle.md # 按营销角度分类的标题方案
│ └── notion-export/ # 推送至Notion前的最终交付物
│ ├── [嘉宾标识]-editor-handoff.md
│ ├── [嘉宾标识]-youtube-and-transcript.md
│ └── [嘉宾标识]-blog-and-social.md每位嘉宾对应两个文件夹: 为工作目录(包含调研、草稿、审核节点文档)。为整理后的交付物(包含图片,可直接交付给剪辑师)。
prep/handoff-packages/[嘉宾姓名]/文件命名规则(严格遵守): 所有交付物文件名必须包含嘉宾标识。禁止使用或这类通用名称——这类名称会在不同嘉宾文件夹中产生重复,且脱离上下文后无意义。正确示例:、等。
editor-handoff.mdblog-and-social.mdmath-academy-editor-handoff.mdamar-kumar-blog-and-social.mdPhase 1: Setup
第一阶段:准备
Step 0: Import from Notion
步骤0:从Notion导入内容
bash
python3 /Users/charliedeist/Desktop/New\ Root\ Docs/.claude/scripts/notion_import.py <page_id> --title -o "Studio/Podcast Studio/[Guest-Name]/prep/SOURCE.md"No LLM tokens. Direct Notion API to markdown. Creates the folder structure automatically.
To find page IDs for recorded episodes, query the Podcast Master Calendar Notion database () filtering for .
d60323d3-8162-4cd0-9e1c-1fea5aad3801Status = Recordedbash
python3 /Users/charliedeist/Desktop/New\ Root\ Docs/.claude/scripts/notion_import.py <page_id> --title -o "Studio/Podcast Studio/[嘉宾姓名]/prep/SOURCE.md"无需消耗LLM令牌。通过Notion API直接导出为markdown格式,自动创建文件夹结构。
若要查找已录制节目的页面ID,可查询Podcast Master Calendar Notion数据库(ID:),筛选条件为。
d60323d3-8162-4cd0-9e1c-1fea5aad3801状态 = 已录制Step 0.5: Guest Social Research
步骤0.5:嘉宾社交平台调研
Run a web search sub-agent to find:
- All personal + company handles (LinkedIn, X, IG, TikTok, YouTube)
- Which platform is their strongest (by engagement, not follower count)
- What kind of content they typically post/share
- Mutual connections with OpenEd
- Collaboration history (have they shared our content before?)
Output:
GUEST_SOCIAL_RESEARCH.mdThis informs clip selection (which platforms matter?) and social strategy (tagging, reshare potential).
调用网页搜索子Agent查找以下信息:
- 个人及公司的所有社交账号(LinkedIn、X、IG、TikTok、YouTube)
- 嘉宾活跃度最高的平台(按互动量,而非粉丝数)
- 嘉宾通常发布/转发的内容类型
- 与OpenEd的共同联系人
- 合作历史(是否曾转发过我们的内容?)
输出:
GUEST_SOCIAL_RESEARCH.md该文档将指导片段选择(哪些平台优先级更高?)和社交策略(标签设置、转发潜力评估)。
Step 1: SEO Keyword Research
步骤1:SEO关键词调研
Use DataForSEO to research 5-7 keywords related to the guest's topic. Focus on:
- Guest name + company (branded volume)
- Core topic terms (e.g., "microschool", "how to start a microschool")
- Related high-intent queries
Output: - consolidated summary, not individual briefs.
SEO_Keywords.mdThis informs title selection and blog post direction. YouTube title and blog title should be DIFFERENT:
- YouTube title = CTR optimized (curiosity, emotion, pattern interrupt)
- Blog title = SEO optimized (target keyword in title, search intent match)
使用DataForSEO调研与嘉宾主题相关的5-7个关键词。重点关注:
- 嘉宾姓名 + 公司(品牌相关搜索量)
- 核心主题术语(例如:"微型学校"、"如何创办微型学校")
- 相关高意向查询词
输出:——整合后的摘要,而非单独的调研简报。
SEO_Keywords.md该文档将指导标题选择和博客文章方向。YouTube标题与博客标题需区分:
- YouTube标题:优化点击率(引发好奇心、调动情绪、打破常规)
- 博客标题:优化SEO(标题包含目标关键词,匹配搜索意图)
Phase 2: Audit + Human Review
第二阶段:审核 + 人工确认
Step 2: Audit
步骤2:内容审核
Send to an Opus sub-agent with the full SOURCE.md. The audit produces:
- Angles (3-5 distinct marketing angles, each with a 1-sentence pitch)
- Short clips (5-8 candidates, 30-90 sec each)
- Verbatim quotes with timestamps
- Category: Counterintuitive / Memorable / Relatable / Practical / Emotional
- Long clips (3-4 candidates, 2-5 min each)
- Narrative arc summary
- Opening hook verbatim
- Cold open candidates (2-3 montage arrangements using [SWOOSH] transitions)
- Blog format assessment - Is this a "day-in-the-life" candidate or standard blog?
- Timestamp index - Full chapter-by-chapter breakdown
CRITICAL RULES:
- All quotes VERBATIM. Never paraphrase.
- Mine the ENTIRE transcript, not just the first half.
- Bold over safe. Surprising, contrarian moments beat obvious observations.
- Target 5-8 clips in the audit (mine broadly), user will whittle to 5 final.
Output:
Checkpoint_1_Audit.mdSub-agent prompt template:
You are auditing a podcast transcript for content production.
Episode: [Guest Name]
Working directory: [path to prep/]
Read SOURCE.md (the full transcript).
Produce Checkpoint_1_Audit.md with:
- 3-5 angles (1-sentence pitch each)
- 5-8 short clip candidates (30-90 sec, verbatim with timestamps)
- 3-4 long clip candidates (2-5 min, narrative arc + opening hook verbatim)
- 2-3 cold open montage arrangements
- Day-in-the-life assessment (yes/no with reasoning)
- Full timestamp index
Rules: ALL quotes verbatim. Mine the entire transcript. Bold over safe.将完整的SOURCE.md发送给Opus子Agent。审核将生成以下内容:
- 营销角度(3-5个不同的营销方向,每个方向配1句话说明)
- 短片段候选(5-8个候选,每个30-90秒)
- 带时间戳的原文引用
- 分类:反常识 / 易记 / 共鸣 / 实用 / 情感化
- 长片段候选(3-4个候选,每个2-5分钟)
- 叙事弧摘要
- 开场钩子原文引用
- 开场候选(2-3个蒙太奇组合方案,使用[SWOOSH]过渡效果)
- 博客格式评估——是否适合采用"一日生活"格式?
- 时间戳索引——完整的章节划分
关键规则:
- 所有引用必须是原文。绝不改写。
- 遍历完整文字稿,不要仅看前半部分。
- 优先选择大胆、有争议的内容,而非安全选项。
- 审核阶段筛选5-8个片段候选,后续由人工精简至5个最终片段。
输出:
Checkpoint_1_Audit.md子Agent提示模板:
你需要对播客文字稿进行内容审核,用于内容生产。
节目:[嘉宾姓名]
工作目录:[prep/路径]
读取SOURCE.md(完整文字稿)。
生成Checkpoint_1_Audit.md,包含:
- 3-5个营销角度(每个配1句话说明)
- 5-8个短片段候选(30-90秒,带时间戳的原文引用)
- 3-4个长片段候选(2-5分钟,叙事弧摘要 + 开场钩子原文)
- 2-3个开场蒙太奇组合方案
- 是否适合"一日生活"格式的评估(是/否 + 理由)
- 完整的时间戳索引
规则:所有引用必须是原文。遍历完整文字稿。优先选择大胆内容。HUMAN CHECKPOINT 1
人工审核节点1
Present the audit summary. User selects:
- Primary angle (which direction for the episode)
- 5 clips (3 short + 2 long) from the candidates
- Cold open preference (or direction for assembly)
- Blog format (standard or day-in-the-life)
向用户展示审核摘要,用户需选定:
- 核心营销角度(节目的整体方向)
- 5个片段(从候选中选3个短片段 + 2个长片段)
- 开场偏好(或开场组装的方向)
- 博客格式(标准格式或"一日生活"格式)
Step 3: Title + Thumbnail Variations
步骤3:标题 + 缩略图方案
After angle selection, generate titles using the skill:
youtube-title-creator- 5 titles per angle using the 119 Creator Hooks frameworks
- Each title includes: framework reference, psychological principles, thumbnail text suggestion
- Organize by angle so user can see which direction has the strongest title
VERIFICATION RULE: Any specific claim in a title (numbers, named concepts, frameworks) must cite the transcript moment that supports it. Never let a framework template inject a claim that isn't in the source.
Retain 5+ title options per angle to give the associate/editor room to weigh in. Don't over-filter.
After user narrows to 3-4 title finalists, produce 3 thumbnail concepts per title:
- Visual description (what the thumbnail image shows)
- On-screen text (2-4 words, complements title - never repeats it)
- Why this pairing works
Output:
Title_Options_By_Angle.md选定营销角度后,使用 skill生成标题:
youtube-title-creator- 每个角度生成5个标题,基于119个创作者钩子框架
- 每个标题包含:框架参考、心理学原理、缩略图文字建议
- 按营销角度分类,方便用户查看哪个方向的标题效果最佳
验证规则: 标题中的任何具体主张(数字、特定概念、框架)必须引用文字稿中对应的内容。绝不能让框架模板注入原文中不存在的主张。
每个角度保留5个以上标题选项,以便助理/剪辑师参与讨论。不要过度筛选。
用户将标题精简至3-4个最终候选后,为每个标题生成3个缩略图概念:
- 视觉描述(缩略图展示的内容)
- 屏幕文字(2-4个词,补充标题内容——绝不重复标题)
- 该组合的优势
输出:
Title_Options_By_Angle.mdHUMAN CHECKPOINT 2
人工审核节点2
User selects:
- YouTube title (CTR optimized)
- Blog title (SEO optimized, different from YouTube)
- Thumbnail direction
用户需选定:
- YouTube标题(优化点击率)
- 博客标题(优化SEO,与YouTube标题不同)
- 缩略图方向
Phase 3: Handoff Assembly
第三阶段:交接文档组装
Everything converges into 3 Notion subpages under the episode's master Notion page. Each subpage is generated from a local markdown file in .
prep/notion-export/所有内容最终汇聚为节目主Notion页面下的3个Notion子页面。每个子页面由中的本地markdown文件生成。
prep/notion-export/Output: 3 Notion Subpages
输出:3个Notion子页面
Subpage 1: Editor Handoff ()
notion-export/[guest-slug]-editor-handoff.mdmarkdown
undefined子页面1:剪辑师交接文档()
notion-export/[嘉宾标识]-editor-handoff.mdmarkdown
undefinedEditor Handoff: [Guest Name], [Company]
剪辑师交接文档:[嘉宾姓名],[公司]
Episode Info
节目信息
- Guest, host, duration
- YouTube title (selected)
- Blog title (selected)
- Thumbnail text options (3, * on recommended)
- 嘉宾、主持人、时长
- 选定的YouTube标题
- 选定的博客标题
- 缩略图文字选项(3个,*标注推荐方案)
Cold Opens
开场片段
- 2-3 options, each 25-35 seconds
- Verbatim with
strikethroughfor cuts, italics for smoothing - [SWOOSH] between unrelated moments
- Source timestamps for each segment
- 2-3个选项,每个25-35秒
- 原文引用,
删除线表示需剪辑,斜体表示需轻微润色 - 无关片段间使用[SWOOSH]过渡效果
- 每个片段的来源时间戳
Short Clips (3 total)
短片段(共3个)
For each clip:
- Timestamp range
- On-screen hook options (3-4, * next to recommended)
- Full verbatim transcript with edit markup
- Caption (universal for FB, TikTok, IG, LinkedIn)
- X variant
每个片段包含:
- 时间戳范围
- 屏幕钩子选项(3-4个,*标注推荐方案)
- 带剪辑标记的完整原文
- 通用字幕(适用于FB、TikTok、IG、LinkedIn)
- X平台变体字幕
Long Clips (2 total)
长片段(共2个)
For each clip:
- Timestamp range
- Narrative arc (setup → tension → payoff)
- On-screen hook options (3, * next to recommended)
- Opening hook verbatim
- Caption + X variant
每个片段包含:
- 时间戳范围
- 叙事弧(背景 → 冲突 → 失败尝试 → 洞察 → 解决 → 反思)
- 屏幕钩子选项(3个,*标注推荐方案)
- 开场钩子原文
- 字幕 + X平台变体
Edit Markup Key
剪辑标记说明
**Subpage 2: YouTube + Polished Transcript** (`notion-export/[guest-slug]-youtube-and-transcript.md`)
```markdown
**子页面2:YouTube + 优化后文字稿**(`notion-export/[嘉宾标识]-youtube-and-transcript.md`)
```markdownYouTube + Polished Transcript: [Guest Name]
YouTube + 优化后文字稿:[嘉宾姓名]
YouTube Title
YouTube标题
[Selected title]
[选定的标题]
Thumbnail Options
缩略图选项
- "[Text]" *
- "[Text]"
- "[Text]"
- "[文字]" *
- "[文字]"
- "[文字]"
YouTube Description
YouTube描述
(Single code block - copy-paste ready. Includes:)
- Episode summary (2-3 sentences)
- Blog link: "Read the full blog post: opened.co/blog/[slug]" (ABOVE timestamps)
- Guest bio + social handles + resources
- OpenEd links
- Chapters (at the bottom)
- NO "In this episode you'll learn" bullet section
- NO transcript anchor link
(单个代码块,可直接复制粘贴。包含:)
- 节目摘要(2-3句话)
- 博客链接:"阅读完整博客文章:opened.co/blog/[标识]"(置于时间戳上方)
- 嘉宾简介 + 社交账号 + 资源链接
- OpenEd链接
- 章节划分(置于底部)
- 禁止包含"在本期节目中你将学到"的项目符号列表
- 禁止包含文字稿锚点链接
Blog Slug
博客标识
[slug] → Full URL: https://opened.co/blog/[slug]
[标识] → 完整URL:https://opened.co/blog/[标识]
Polished Transcript
优化后文字稿
(Generated from SOURCE.md. Section headers match chapter breakdown.
Appended to blog post under #transcript anchor.)
**Subpage 3: Blog Post + Social** (`notion-export/[guest-slug]-blog-and-social.md`)
```markdown(由SOURCE.md生成。章节标题与划分一致。
附加在博客文章的#transcript锚点下。)
**子页面3:博客文章 + 社交平台**(`notion-export/[嘉宾标识]-blog-and-social.md`)
```markdownBlog Post + Social: [Guest Name]
博客文章 + 社交平台:[嘉宾姓名]
SEO Metadata
SEO元数据
- Blog title (SEO optimized), target keyword, search volume, blog slug
- 博客标题(SEO优化)、目标关键词、搜索量、博客标识
Blog Post
博客文章
- Full blog post draft (~1,200 words)
- Internal backlinks to relevant OpenEd content
- Guest handles + URLs in About section at bottom
- 完整博客文章草稿(约1200词)
- 指向OpenEd相关内容的内部链接
- 底部About部分包含嘉宾社交账号及链接
Social Tagging Strategy
社交平台标签策略
- Guest handles per platform (table format)
- Platform priority ranking with reasoning
- 各平台的嘉宾账号(表格形式)
- 平台优先级排序及理由
Platform-Specific Post Drafts
各平台帖子草稿
For each platform, 1-2 ready-to-post drafts:
- LinkedIn (2 posts: episode announcement + mid-week angle)
- X/Twitter (2 posts: announcement + quote/stat hook)
- Instagram (2 posts: carousel concept + quote card)
- Facebook (1 post: full episode share)
每个平台提供1-2个可直接发布的草稿:
- LinkedIn(2篇:节目发布公告 + 周中角度帖)
- X/Twitter(2篇:发布公告 + 引用/数据钩子帖)
- Instagram(2篇:轮播图概念 + 引用卡片)
- Facebook(1篇:完整节目分享帖)
Distribution Timing
分发时间安排
- Week 1: Launch day (all platforms) + staggered follow-ups
- Week 2: Evergreen angles (repurposed quotes, stats)
- Ongoing: Guest reshare coordination
undefined- 第1周:发布日(全平台) + 分批跟进帖
- 第2周:常青角度帖(复用引用、数据)
- 持续:协调嘉宾转发
undefinedStep 8: Blog Post (Narrative Snippets Method)
步骤8:博客文章(叙事片段法)
Before writing the blog post, extract narrative beats from the transcript:
- Scan for story seeds - transitions, contrast markers, failure admissions, turning points
- Extract 3-5 narrative arcs using the 6-beat structure:
- SETUP → DISASTER → FAILED APPROACH → INSIGHT → RESOLUTION → REFLECTION
- Pick one arc as the spine of the blog post
- Weave other arcs as supporting threads
The blog post should read like a great New Yorker profile at blog scale - observational, unhurried, letting scenes and quotes do the work. Voice: Ela (warm, curious, conversational) elevated by narrative craft.
Blog post sub-agent reads: SOURCE.md + GUEST_SOCIAL_RESEARCH.md + blog direction from subpage 3
Blog post sub-agent uses: → →
Output: ~1,200 word draft with SEO headers, 3-5 verbatim quotes, YouTube embed placeholder
narrative-snippetspodcast-blog-post-creatorghostwriterIntegration requirements:
- Include guest handles and URLs from GUEST_SOCIAL_RESEARCH.md (bio links, company URL)
- Scan published OpenEd content for internal backlinking opportunities (link to relevant articles, guides, and other podcast episodes)
- About section at bottom must include guest social handles with links
撰写博客文章前,从文字稿中提取叙事节点:
- 寻找故事线索——过渡、对比标记、失败经历、转折点
- 提取3-5个叙事弧,采用6节点结构:
- 背景 → 危机 → 失败尝试 → 洞察 → 解决 → 反思
- 选定一个叙事弧作为博客文章主线
- 将其他叙事弧作为辅助线索融入
博客文章应达到《纽约客》人物特写的水准(博客篇幅)——注重观察、节奏舒缓,通过场景和引用传递信息。语气:Ela风格(温暖、好奇、口语化),辅以叙事技巧。
博客文章子Agent读取内容: SOURCE.md + GUEST_SOCIAL_RESEARCH.md + 子页面3中的博客方向
博客文章子Agent使用工具: → → (语气调整)
输出: 约1200词的草稿,包含SEO标题、3-5个原文引用、YouTube嵌入占位符
narrative-snippetspodcast-blog-post-creatorghostwriter集成要求:
- 包含GUEST_SOCIAL_RESEARCH.md中的嘉宾账号及链接(简介链接、公司URL)
- 搜索已发布的OpenEd内容,寻找内部链接机会(指向相关文章、指南、其他播客节目)
- 底部About部分必须包含嘉宾社交账号及链接
Blog Slug Convention
博客标识规则
Generate the slug during Phase 3 so it can be embedded in the YouTube description before publishing.
Pattern:
YouTube description must include:
opened.co/blog/[seo-keyword-slug]- (placed ABOVE timestamps)
Read the full blog post: https://opened.co/blog/[slug]
在第三阶段生成博客标识,以便在发布前嵌入YouTube描述中。
格式:
YouTube描述必须包含:
opened.co/blog/[seo关键词标识]- (置于时间戳上方)
阅读完整博客文章:https://opened.co/blog/[标识]
Step 10: Blog Thumbnail + Infographic
步骤10:博客缩略图 + 信息图
Generate visual assets using the skill. Save all images in the handoff folder alongside the markdown files.
nano-banana-image-generatorRequired assets:
- Blog thumbnail (16:9, watercolor-line style) - conceptual illustration for the blog post header and Webflow CMS
- Infographic (16:9, watercolor-line with Vox-style hierarchy) - data visualization or concept map for social sharing
Optional assets (if the episode warrants them):
- Quote card (1:1, opened-editorial style) - for Instagram/LinkedIn
- Instagram carousel intro slide (4:5, watercolor-line)
Workflow:
bash
undefined使用 skill生成视觉资产。将所有图片保存在交付文件夹中,与markdown文件放在一起。
nano-banana-image-generator必需资产:
- 博客缩略图(16:9,水彩线稿风格)——博客文章标题图,适用于Webflow CMS
- 信息图(16:9,水彩线稿 + Vox风格层级)——数据可视化或概念图,用于社交分享
可选资产(若节目适合):
- 引用卡片(1:1,opened-editorial风格)——用于Instagram/LinkedIn
- Instagram轮播图首屏(4:5,水彩线稿风格)
工作流程:
bash
undefinedBlog thumbnail
博客缩略图
python3 ".claude/skills/nano-banana-image-generator/scripts/generate_image.py"
"prompt" --model pro --aspect 16:9
--seo-name "[guest-slug]-podcast-thumbnail"
--context "[Blog title]"
--output "Studio/Podcast Studio/handoff-packages/[Guest-Name]/"
"prompt" --model pro --aspect 16:9
--seo-name "[guest-slug]-podcast-thumbnail"
--context "[Blog title]"
--output "Studio/Podcast Studio/handoff-packages/[Guest-Name]/"
python3 ".claude/skills/nano-banana-image-generator/scripts/generate_image.py"
"prompt" --model pro --aspect 16:9
--seo-name "[嘉宾标识]-podcast-thumbnail"
--context "[博客标题]"
--output "Studio/Podcast Studio/handoff-packages/[嘉宾姓名]/"
"prompt" --model pro --aspect 16:9
--seo-name "[嘉宾标识]-podcast-thumbnail"
--context "[博客标题]"
--output "Studio/Podcast Studio/handoff-packages/[嘉宾姓名]/"
Optimize for Webflow
为Webflow优化
python3 ".claude/skills/nano-banana-image-generator/scripts/image_optimizer.py"
"Studio/Podcast Studio/handoff-packages/[Guest-Name]/[file].jpg"
--use thumbnail
"Studio/Podcast Studio/handoff-packages/[Guest-Name]/[file].jpg"
--use thumbnail
**Style selection guide:**
- **watercolor-line** (DEFAULT) - Warm, editorial, works for narrative/emotional episodes
- **opened-editorial** - Conceptual wit, better for data-driven or contrarian episodes
- **minimalist-ink** - High contrast, good for "bold statement" thumbnails
**Concept brainstorm:** Before generating, brainstorm 4-6 visual concepts with the user. Avoid generic education cliches (no lightbulbs, no raised hands, no stacks of books). Favor metaphor over literal depiction.
**Infographic principles:**
- Visual hierarchy does the work, not text
- Labels only, no explanatory paragraphs
- Icons should be hand-drawn style (not emoji)
- Clear left-to-right or top-to-bottom flow
- Pull key stats from the transcript (the guest's own data is most compelling)python3 ".claude/skills/nano-banana-image-generator/scripts/image_optimizer.py"
"Studio/Podcast Studio/handoff-packages/[嘉宾姓名]/[文件名].jpg"
--use thumbnail
"Studio/Podcast Studio/handoff-packages/[嘉宾姓名]/[文件名].jpg"
--use thumbnail
**风格选择指南:**
- **watercolor-line(默认)**——温暖、编辑风格,适合叙事/情感类节目
- **opened-editorial**——概念性、诙谐,更适合数据驱动或反常识类节目
- **minimalist-ink**——高对比度,适合"大胆声明"类缩略图
**概念头脑风暴:** 生成前,与用户一起构思4-6个视觉概念。避免使用通用教育类陈词滥调(不要灯泡、举手、书堆)。优先使用隐喻而非字面表达。
**信息图原则:**
- 视觉层级传递信息,而非文字
- 仅使用标签,不要解释性段落
- 图标采用手绘风格(不要emoji)
- 清晰的从左到右或从上到下的流程
- 从文字稿中提取关键数据(嘉宾自己的数据最有说服力)Notion Export
Notion导出
Push each subpage using:
bash
python3 .claude/scripts/notion_markdown.py [file] --parent-id [episode-page-id] --title "[Subpage Title]"Never use on the master episode page (it overwrites). Always create subpages.
--update使用以下命令推送每个子页面:
bash
python3 .claude/scripts/notion_markdown.py [文件] --parent-id [节目页面ID] --title "[子页面标题]"绝不要在节目主页面上使用参数(会覆盖原有内容)。始终创建子页面。
--updateOn-Screen Hook Standards
屏幕钩子标准
On-screen text is the #1 visual element. It does the PRIMARY work of stopping a scroll.
Requirements per clip:
- 3-4 hook options per clip
- Star (*) next to recommended pick
- No category labels, no rationale - just the options
Hook categories:
- Polarizing - Takes a side. "Schools trap families?"
- Counter-Intuitive - Surprises. "The school choice argument nobody makes"
- Direct Challenge - Confronts viewer. "Your kid's teacher hates their job"
- Curiosity Gap - Opens a loop. "55% want to quit"
Complementarity principle: On-screen text should ADD context that makes the audio land harder, not just label the clip. The gap between what you read and what you hear creates curiosity.
"First 3 words" test: The first 3 words someone reads do 80% of the work. Front-load the punch.
Length variety (REQUIRED): Every set of 3-4 hook options must span at least 2 length categories:
- Punchy (2-4 words): "Schools trap families?"
- Statement (5-8 words): "The school choice argument nobody makes"
- Narrative (9-15 words): "There's a cost every morning when a five-year-old walks in and knows"
- Full quote (15+ words): "If your strategy for keeping families is making sure they can't leave, you've lost"
If all hooks are the same length, redo them. The editor needs options that work at different scroll speeds.
屏幕文字是最重要的视觉元素,承担着吸引用户停留的核心作用。
每个片段的要求:
- 3-4个钩子选项
- 推荐选项标注星号
- 不要分类标签或理由,仅提供选项
钩子分类:
- 极化——明确立场。例如:"学校困住了家庭?"
- 反常识——引发惊讶。例如:"没人提及的择校论点"
- 直接挑战——直面观众。例如:"你孩子的老师讨厌自己的工作"
- 好奇心缺口——留下悬念。例如:"55%的人想要辞职"
互补原则: 屏幕文字应补充音频内容,让信息传递更有力,而非仅标注片段内容。文字与音频的差异会引发好奇心。
前三词测试: 用户看到的前三个词承担80%的吸引作用。将最有冲击力的内容放在开头。
长度多样性(必需): 每组3-4个钩子选项必须包含至少2种长度类型:
- 简短型(2-4词):"学校困住了家庭?"
- 陈述型(5-8词):"没人提及的择校论点"
- 叙事型(9-15词):"当一个五岁孩子走进校门时,每天都要付出代价"
- 完整引用型(15+词):"如果你留住家庭的策略是让他们无法离开,那你已经输了"
若所有钩子长度相同,需重新生成。剪辑师需要适配不同滚动速度的选项。
Edit Markup Convention
剪辑标记规则
~~strikethrough~~ = cut this (editor removes)
*italics* = minor smoothing edit (change spoken word)
[SWOOSH] = visual transition between unrelated segments
[AMAR] = speaker label~~删除线~~ = 需删除(剪辑师移除)
*斜体* = minor润色(修改口语化表达)
[SWOOSH] = 无关片段间的视觉过渡
[AMAR] = 说话人标识Key Principles
核心原则
- Verbatim only. All quoted transcript exactly as spoken. Cut and rearrange, never paraphrase.
- Three subpages. Everything flows into 3 Notion subpages: Editor Handoff, YouTube + Transcript, Blog + Social.
- Mine the whole transcript. The strongest moment might be at minute 48.
- Bold over safe. Contrarian > obvious. Tension > comfort.
- 5 clips total. 3 short (30-90 sec) + 2 long (2-5 min). Quality over quantity.
- Same caption everywhere. One caption per clip for FB/TikTok/IG/LinkedIn. Optional X variant.
- Title + thumbnail are a pair. Design them together. Thumbnail complements, never repeats.
- YouTube title != blog title. YouTube = CTR. Blog = SEO.
- On-screen hooks are the #1 priority. 3-5 variations per clip, not afterthoughts.
- Guest research informs everything. Know their platforms before selecting clips.
- 仅用原文——所有引用必须与文字稿完全一致。可删减、重组,但绝不改写。
- 三个子页面——所有内容最终汇聚为3个Notion子页面:剪辑师交接文档、YouTube + 文字稿、博客 + 社交平台。
- 遍历完整文字稿——最精彩的内容可能在第48分钟。
- 优先大胆内容——反常识 > 安全选项。张力 > 舒适。
- 共5个片段——3个短片段(30-90秒) + 2个长片段(2-5分钟)。重质不重量。
- 通用字幕——每个片段对应一个通用字幕,适用于FB/TikTok/IG/LinkedIn。可提供X平台变体。
- 标题与缩略图配对设计——两者需互补,绝不重复。
- YouTube标题 ≠ 博客标题——YouTube标题优化点击率,博客标题优化SEO。
- 屏幕钩子是第一优先级——每个片段提供3-5个变体,而非事后补充。
- 嘉宾调研指导所有决策——在选择片段前了解嘉宾的活跃平台。
Skill Dependencies
Skill依赖
| Step | Skills Used |
|---|---|
| Step 0 | |
| Step 1 | |
| Step 3 | |
| Step 4 | |
| Step 6 | |
| Step 8 | |
| Step 8 alt | |
| Step 10 | |
| Quality | |
| 步骤 | 使用的Skill |
|---|---|
| 步骤0 | |
| 步骤1 | |
| 步骤3 | |
| 步骤4 | |
| 步骤6 | |
| 步骤8 | |
| 步骤8替代 | |
| 步骤10 | |
| 质量控制 | |
Common Mistakes
常见错误
- Fabricating claims in titles (e.g., "6 Levels of Teaching" when transcript has no such framework)
- Single on-screen hook per clip instead of 3-5 options
- Generating platform-specific captions (same caption everywhere, X variant only)
- Thumbnail text that repeats the title
- Ignoring guest's social presence until the end
- SEO research after title selection instead of before
- Cold opens before clip selection (cold opens are assembled FROM clips)
- 25+ snippet inventory when 5-8 targeted clips is better
- 标题中注入原文不存在的主张(例如:文字稿中没有"6级教学"框架,却在标题中使用)
- 每个片段仅提供一个屏幕钩子选项,而非3-5个
- 为每个平台单独生成字幕(应使用通用字幕,仅提供X平台变体)
- 缩略图文字重复标题内容
- 直到最后才考虑嘉宾的社交平台活跃度
- 先选标题再做SEO调研(应先调研再选标题)
- 先设计开场再选片段(开场应从选定片段中组装)
- 筛选25+个片段候选(应筛选5-8个精准候选)
Notion Locations
Notion资源位置
| Resource | ID | Notes |
|---|---|---|
| Podcast Master Calendar DB | | Filter |
| Each episode page | Contains: Guest Info toggle, Relevant Context toggle, Rough Transcript toggle | |
| Notion export script | | |
| Notion import script | | Pulls page to local markdown |
Subpage push pattern:
bash
undefined| 资源 | ID | 说明 |
|---|---|---|
| 播客主日历数据库 | | 筛选 |
| 单个节目页面 | - | 包含:嘉宾信息、相关背景、原始文字稿 |
| Notion导出脚本 | | |
| Notion导入脚本 | | 将Notion页面导出为本地markdown |
子页面推送命令示例:
bash
undefinedCreate 3 subpages under the episode's Notion page
在节目主Notion页面下创建3个子页面
Files use [guest-slug] prefix (e.g., math-academy-, amar-kumar-)
文件以[嘉宾标识]开头(例如:math-academy-、amar-kumar-)
python3 .claude/scripts/notion_markdown.py prep/notion-export/[guest-slug]-editor-handoff.md
--parent-id [episode-page-id] --title "Editor Handoff" python3 .claude/scripts/notion_markdown.py prep/notion-export/[guest-slug]-youtube-and-transcript.md
--parent-id [episode-page-id] --title "YouTube + Polished Transcript" python3 .claude/scripts/notion_markdown.py prep/notion-export/[guest-slug]-blog-and-social.md
--parent-id [episode-page-id] --title "Blog Post + Social"
--parent-id [episode-page-id] --title "Editor Handoff" python3 .claude/scripts/notion_markdown.py prep/notion-export/[guest-slug]-youtube-and-transcript.md
--parent-id [episode-page-id] --title "YouTube + Polished Transcript" python3 .claude/scripts/notion_markdown.py prep/notion-export/[guest-slug]-blog-and-social.md
--parent-id [episode-page-id] --title "Blog Post + Social"
---python3 .claude/scripts/notion_markdown.py prep/notion-export/[嘉宾标识]-editor-handoff.md
--parent-id [节目页面ID] --title "剪辑师交接文档" python3 .claude/scripts/notion_markdown.py prep/notion-export/[嘉宾标识]-youtube-and-transcript.md
--parent-id [节目页面ID] --title "YouTube + 优化后文字稿" python3 .claude/scripts/notion_markdown.py prep/notion-export/[嘉宾标识]-blog-and-social.md
--parent-id [节目页面ID] --title "博客文章 + 社交平台"
--parent-id [节目页面ID] --title "剪辑师交接文档" python3 .claude/scripts/notion_markdown.py prep/notion-export/[嘉宾标识]-youtube-and-transcript.md
--parent-id [节目页面ID] --title "YouTube + 优化后文字稿" python3 .claude/scripts/notion_markdown.py prep/notion-export/[嘉宾标识]-blog-and-social.md
--parent-id [节目页面ID] --title "博客文章 + 社交平台"
---Internal Backlinking (Step 8)
内部链接(步骤8)
When drafting the blog post, scan for internal link opportunities:
- Search published content - (
Master_Content_Index.md) lists 400+ articles by tag.claude/references/ - Search podcast episodes - Other published episodes in
Studio/Podcast Studio/ - Search SEO content - for topic overlaps
Studio/SEO Content Production/ - Natural placement - Links should feel like helpful context, not SEO stuffing. 3-5 internal links per blog post is the sweet spot.
Link format: - use descriptive anchors, not "click here."
[anchor text](https://opened.co/blog/[slug])撰写博客文章时,寻找内部链接机会:
- 搜索已发布内容——(路径:
Master_Content_Index.md)按标签列出了400+篇文章.claude/references/ - 搜索播客节目——中的其他已发布节目
Studio/Podcast Studio/ - 搜索SEO内容——中的相关主题内容
Studio/SEO Content Production/ - 自然植入——链接应作为有用的补充信息,而非SEO堆砌。每篇博客文章3-5个内部链接为最佳数量。
链接格式: ——使用描述性锚文本,而非"点击这里"。
[锚文本](https://opened.co/blog/[标识])Next Priorities (Skill Improvements Backlog)
下一步优先级(Skill改进待办)
- Build using DataForSEO for YouTube search suggestions
youtube_autocomplete.py - Research exemplar podcast YouTube/IG channels for on-screen hook reference library
- Improve skill with complementarity principle + real education creator examples
video-caption-creation - Build dedicated title+thumbnail sub-agent with better variation examples from Creator Hooks
- Nearbound email templates (solo guest vs. guest-with-team, auto-populate links)
- Clip performance tracking (which hooks/captions drive engagement, feed back into hook library)
- Descript Underlord integration (auto-generate Underlord prompts from clip markup)
- Polished transcript auto-generation as sub-agent (currently manual step)
- YouTube Shorts optimization (vertical crop guidance in editor handoff)
- Add internal linking step (integrated into Step 8 blog post sub-agent)
- Platform-specific social post drafts (integrated into Subpage 3 template)
- Hook length variety requirement (integrated into On-Screen Hook Standards)
- Blog thumbnail + infographic generation (Step 10)
- 使用DataForSEO构建,获取YouTube搜索建议
youtube_autocomplete.py - 调研优秀播客的YouTube/IG频道,建立屏幕钩子参考库
- 改进skill,加入互补原则 + 真实教育创作者案例
video-caption-creation - 构建专用的标题+缩略图子Agent,提供更多来自Creator Hooks的变体示例
- Nearbound邮件模板(单人嘉宾 vs 团队嘉宾,自动填充链接)
- 片段效果跟踪(哪些钩子/字幕提升了互动量,反馈至钩子库)
- 集成Descript Underlord(从片段标记自动生成Underlord提示)
- 构建子Agent自动生成优化后文字稿(当前为手动步骤)
- YouTube Shorts优化(在剪辑师交接文档中加入竖屏裁剪指导)
- 加入内部链接步骤(集成至步骤8的博客文章子Agent)
- 各平台社交帖子草稿(集成至子页面3模板)
- 钩子长度多样性要求(集成至屏幕钩子标准)
- 博客缩略图 + 信息图生成(步骤10)
References
参考文档
- - Detailed audit template
references/checkpoint-1-template.md - - Cold open + clip example (Claire Honeycutt)
references/checkpoint-2-example.md - - YouTube strategy example
references/checkpoint-3-example.md - - Polished transcript + blog example
references/checkpoint-4-example.md - - Day-in-the-life blog template
references/day-in-the-life-format.md - - Previous 4-checkpoint system
SKILL_v1_archive.md - - Master SOP for Charlie + Chavilah (4 phases, handoff checklist)
Studio/Podcast Studio/handoff-packages/0-PODCAST-SOP.md
- ——详细的审核模板
references/checkpoint-1-template.md - ——开场 + 片段示例(Claire Honeycutt)
references/checkpoint-2-example.md - ——YouTube策略示例
references/checkpoint-3-example.md - ——优化后文字稿 + 博客示例
references/checkpoint-4-example.md - ——"一日生活"博客模板
references/day-in-the-life-format.md - ——旧版四节点审核系统
SKILL_v1_archive.md - ——Charlie与Chavilah使用的主SOP文档(四阶段,交接清单)
Studio/Podcast Studio/handoff-packages/0-PODCAST-SOP.md
Production Calendar (Feb 2026)
制作日历(2026年2月)
| Episode | Guest | Publish | Sprint Status | Handoff Package |
|---|---|---|---|---|
| Mason Ember | Mason Ember | Feb 5 | PUBLISHED | |
| Claire Honeycutt R2 | Claire Honeycutt | Feb 12 | Sprint DONE | |
| Amar Kumar | Amar Kumar | Feb 19 | Sprint DONE | |
| Bria Bloom | Bria Bloom | Feb 26 | Needs full sprint | — |
Rewritten Feb 6, 2026. v2 after Amar Kumar + Claire Honeycutt sessions.
| 节目 | 嘉宾 | 发布日期 | 冲刺状态 | 交付包位置 |
|---|---|---|---|---|
| Mason Ember | Mason Ember | 2月5日 | 已发布 | |
| Claire Honeycutt R2 | Claire Honeycutt | 2月12日 | 冲刺完成 | |
| Amar Kumar | Amar Kumar | 2月19日 | 冲刺完成 | |
| Bria Bloom | Bria Bloom | 2月26日 | 需完整冲刺 | — |
2026年2月6日重写。基于Amar Kumar与Claire Honeycutt的项目优化为v2版本。