content-pipeline について
Content Pipelineは、集めた素材やWeChat記事を整形し、複数のプラットフォーム向けに展開するコンテンツ制作スキルです。記事作成、ビジュアル制作、音声・動画の出力から、manifestを使った配信まで扱います。
主な機能
- 01素材の収集と整理
- 02記事の執筆とHTML整形
- 03SNSやポッドキャスト向けのコンテンツ変換
- 04ビジュアル素材と音声の生成
- 05manifestを使ったコンテンツ公開
活用シーン
- 01蓄積したメモから記事を作成
- 02WeChat記事をSNS向けに再構成
- 03記事をもとにポッドキャスト台本と音声を準備
- 04生成したコンテンツを複数のプラットフォームで公開
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ orangeviolin/ content-pipeline --skill content-pipelineインストール後、Claude Code で/content-pipelineを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
.env.example.gitignoreREADME-EN.mdREADME.mdLICENSEevolve/evolution-log.mdevolve/round-1/changes.mdpatterns.mdobservations.mdreferences/cover-template.mddistribute-platforms.mdplatform-copy.mdmanual-framework.mdtts-config.mdpodcast-cover-template.mdcover-vertical-spec.mdshiji-luoshengmen.mdwriting-style.mdvideo-canvas-template.mdtutorial-framework.mdxiaohongshu-format.mdxiaoyuzhou-podcast.mdreferences/xiaohongshu-examples/观鸟图鉴-范例.htmlREADME.mdscripts/distribute/cdp-utils.tsdistribute.tsscripts/distribute/platforms/douyin.tsjike.tsshipinhao.tsxiaohongshu.ts詳細
内容管线 Content Pipeline
本技能默认使用 01fish 品牌色作为示例。你可以在
references/目录下修改为自己的品牌色,或在local/SKILL.local.md中覆盖路径和个人设定。
一条龙:素材收集 → 写文章 → 排版 → 多平台内容 → 一键分发。
存储位置
[输出目录]/
├── drafts/
│ └── current.json # 当前素材列表
├── [文章标题].md # 产出的文章
├── [文章标题]_preview.html # 排版预览
└── [主题]-小红书版.html # 小红书轮播图
输出目录由用户指定,或在 local/SKILL.local.md 中配置默认路径。未指定目录时,多平台产出放 /tmp/。
触发词
素材收集(Path A)
| 触发词 | 说明 |
|---|---|
/story | 查看当前素材状态 |
| "看看素材" | 查看已记录的素材 |
| "出稿" | 生成文章 + 排版 + 封面图 |
| "清空素材" | 清空当前素材 |
| "记一笔:xxx" | 手动添加素材 |
| "素材+1:xxx" | 手动添加素材 |
| "写个朋友圈" | 根据素材/文章生成朋友圈文案 |
内容生成(Path B)
| 触发词 | 说明 |
|---|---|
/xiaohongshu + 微信链接 | 微信文章转小红书轮播图 |
| "转小红书" + 微信链接 | 同上 |
| "做成小红书" + 微信链接 | 同上 |
| "转即刻" + 微信链接 | 生成即刻文案 |
| "转播客" + 微信链接 | 生成播客脚本 + AI 语音 |
/podcast + 链接/文章/书名 | 小宇宙播客全流程(15分钟百家讲坛风格) |
| "做播客" + 链接/文章/书名 | 同上 |
| "录播客" + 链接/文章/书名 | 同上 |
| "讲书播客" + 书名/链接 | 百家讲坛风格讲书播客 |
/shiji + 文章/素材 | 史记罗生门栏目播客(AI侦探×史源追踪) |
| "史记罗生门" + 文章/素材 | 同上 |
| "做史记播客" + 文章/素材 | 同上 |
| "做视频" + 微信链接 | 触发品牌视频管线 |
| "做视频画布" + 网址列表 | 生成录屏画布(全屏网页演示 + 露脸 + 提词器) |
| "录屏画布" + 网址列表 | 同上 |
| "录屏" + 网址列表 | 同上 |
| "多平台分发" + 微信链接 | 一次生成所有平台内容 |
| "转小红书并发布" + 微信链接 | 生成 + 自动触发分发 |
文章阅读
| 触发词 | 说明 |
|---|---|
/read-gzh + 微信链接 | 抓取并总结公众号文章 |
| "帮我读一下这篇公众号" | 同上 |
| "总结一下这篇文章" | 同上 |
排版与配图
| 触发词 | 说明 |
|---|---|
| "排版" | 用 01fish 主题排版 Markdown → 公众号 HTML |
| "做头图" / "封面图" | 生成公众号头图 HTML(浏览器下载 PNG) |
| "做竖版封面" / "竖版头图" | 从公众号封面 → 生成 3:4 竖版封面(1080×1440),适合小红书/视频号 |
| "做配图" / "准备配图" | 生成文章配图 HTML(浏览器下载 PNG) |
| "排版+配图" / "全套排版" | 排版 + 头图 + 配图一起生成 |
分发
| 触发词 | 说明 |
|---|---|
/distribute | 读取 manifest 一键发布 |
| "一键发布" | 全平台发布 |
| "全平台发布" | 同上 |
| "发布到小红书" | 单平台发布 |
| "发布到即刻" | 单平台发布 |
核心原则:全然诚实
AI 生成的内容必须诚实标注,不装人类,展现真实的创作过程。
诚实标注规范
当 AI 参与内容创作时,必须在文章中明确标注:
**调研 & 撰写**:AI(Claude)
**主导 & 审校**:[用户名]
**创作时间**:[实际用时](调研 X 分钟 + 写作 Y 分钟)
禁止的虚假表述
❌ 不要写:
- "我们花了两周时间调研"(实际几分钟)
- "经过深入访谈"(没有访谈)
- "团队经过讨论"(没有团队)
- "作者:XXX / 编辑:AI 助手"(AI 写了全文)
✅ 应该写:
- "本文基于 N 篇公开信息源,由 AI 调研分析并撰写"
- "素材收集用时 X 分钟,写作用时 Y 分钟"
- "人类主导 + AI 协作"
为什么要诚实
- 建立信任:读者值得知道内容如何生成
- 展现价值:AI 快速高质量创作本身就是价值,不需要掩饰
- 符合伦理:AI 生成内容应该透明化
- 长期主义:诚实是长期个人品牌的基石
两条输入路径
Path A:日常素材收集 → 出稿
边干活边记录 → 说"出稿" → 写文章 → 排版 → 封面图 → 朋友圈文案 → manifest
适用场景:日常和 cc 协作时,自动积累素材,攒够了一键出稿。
Path B:微信链接 → 多平台内容
微信链接 → 抓取文章 → 分析结构 → 生成小红书/即刻/播客/视频 → manifest → 分发
适用场景:已有公众号文章,一键转为多平台内容并发布。
Path A 流程:素材收集 → 出稿
自动记录(默认开启)
cc 在对话中主动识别有料瞬间并自动记录,无需手动触发。
识别信号:
| 类型 | 识别信号 | 示例 |
|---|---|---|
| 踩坑翻车 | 预期≠结果、报错、折腾半天 | "试了三种方案都不行" |
| 意外发现 | "没想到"、"原来可以"、意外有效 | "居然这样就解决了" |
| 迭代打磨 | 改了多版、从复杂到简洁 | "200行改成20行还能跑" |
| 搞笑时刻 | 对话金句、AI抽风、神奇bug | "它认真地给我写了一堆错的" |
| 突破时刻 | 卡了很久终于通 | "困扰一周的bug终于找到了" |
| 方法沉淀 | 可复用的技巧、心得 | "以后遇到这种情况就这么办" |
自动记录时:不打断对话,段落结尾标记 (✓ 素材+1)
手动记录
用户说"记一笔:xxx"或"素材+1:xxx"时记录。
current.json 格式
{
"topic": "主题(可选,出稿时自动提取)",
"materials": [
{
"time": "2026-01-30 14:30",
"content": "素材内容",
"type": "搞笑时刻",
"context": "可选的上下文备注",
"auto": true
}
],
"created": "2026-01-30"
}
出稿步骤
- 读取素材 — 读取
drafts/current.json - 分析提炼 — 提炼主题和故事线
- 判断内容类型 → 选择写作框架:
| 内容类型 | 判断信号 | 使用框架 | 参考文件 |
|---|---|---|---|
| 说明书类 | 开源项目介绍、工具/产品说明、知识库/数据集发布、平台使用指南、"介绍一下 xxx" | 六段式说明书框架 | references/manual-framework.md |
| 教程类 | 教人安装/使用/配置工具、Skill 介绍、技术实战、"怎么做 xxx" | 六段式教程框架 | references/tutorial-framework.md |
| 深度长文 | 行业分析、人物故事、趋势判断、观点输出、"为什么 xxx" | 四幕式深度框架 | references/writing-style.md |
说明书类文章框架(3000-6000 字):
项目定义+核心数据(标题即摘要,开头即高潮)
→ 一、核心成果(数据总览表)
→ 二、功能特性(逐一展开,每个一小节+配图)
→ 三、怎么用(按用户分层:零门槛→进阶→开发者→创作者)
→ 四、价值/洞见(超出工具本身的意义)
→ 五、扩展路线(可选)
→ 写在最后(核心价值+愿景+链接)
教程类文章框架(2000-4000 字):
先看结果(截图+成品+链接)
→ 一、核心概念是什么(表格+一句话定义)
→ 二、怎么安装/使用(分步骤+代码块+配图标记)
→ 三、实战演示(分阶段+表格展示+人机协作)
→ 四、拿走即用(快速安装命令+使用方式表格)
→ 写在最后(升华+CTA)
深度长文框架(8000-12000 字):
序言(故事先行,700 字不出论点)
→ 01 铺设背景
→ 02 核心论述
→ 03 转折/案例
→ 04 升华/收束
- 读风格指南 — 写文章前必须先读
references/writing-style.md。这是从鱼头头 9 篇已发布文章中逆向工程出的真实写作模式,不是理论指南。核心要点:极短段落(1-3句)、单句成段做"钉子"、口语化动词、"不是A是B"金句句式、数字制造反差、表格优先于段落。 - 写文章 — 按对应框架 + 风格指南写文章。写完后用风格指南末尾的"按类型写作清单"自检一遍。
- 保存 — 保存 Markdown 文件
- 排版 — 调用排版工具生成 HTML 预览(01fish 主题)
- 头图 + 配图 — 生成可下载的 HTML 文件(→ 读
references/cover-template.md)- 竖版封面(可选):用户说"做竖版封面"时,从已生成的公众号头图 HTML 转换 → 读
references/cover-vertical-spec.md - 配图与排版 HTML 的关联:生成配图后,用 Playwright 截图为 PNG,然后在排版
_preview.html的对应位置插入占位符注释 ``,分发脚本会自动将配图上传到微信 CDN 并替换占位符为<img>标签。
- 竖版封面(可选):用户说"做竖版封面"时,从已生成的公众号头图 HTML 转换 → 读
- 朋友圈文案 — 生成朋友圈推广文案(→ 读
references/platform-copy.md) - manifest — 生成 manifest.json,供
/distribute使用。
WeChat 发布流程(全自动):
- 写文章(Markdown)
- 排版(
md2wechat_formatter.py生成_preview.html) - 生成配图 HTML → Playwright 截图为 PNG
- 在
_preview.html中插入图片占位符 `` - 生成 manifest.json(包含所有路径)
- 执行
/distribute --platforms wechat(API 自动:上传封面→上传配图→替换占位符→推送草稿箱)
wechat 部分字段说明:
wechat.html(必填):排版后的_preview.html路径(配图位置用 `` 标记)wechat.cover_image(必填):封面 PNG 路径wechat.title(必填):文章标题wechat.author:作者名(默认01fish)wechat.digest:文章摘要(120 字内)wechat.images:配图 PNG 路径列表(按文章中出现的顺序排列,分发脚本会上传并插入到对应占位符位置)wechat.markdown(可选):文章 Markdown 路径(仅作记录,不再用于转换)
- 询问 — 是否清空当前素材
排版命令
cd "$MD_FORMATTER_DIR"
python3 md2wechat_formatter.py [文章路径] --theme [主题] --font-size [字号]
$MD_FORMATTER_DIR需在local/.env或环境变量中配置。
推荐主题:01fish(01fish 品牌色,默认)、chinese(中国风)、apple(极简优雅)
推荐字号:medium(15px 默认)、large(16px 长文推荐)
01fish 主题说明:基于 chinese 主题,使用 01fish 品牌色(墨绿 #1A3328 + 鱼红 #C44536 + 宣纸底 #F2EDE3)
Path B 流程:微信链接 → 多平台内容
第 1 步:抓取文章
使用 Python 抓取脚本(微信有反爬验证,WebFetch 会被拦):
python3 "${SKILL_DIR}/scripts/fetch_wechat_article.py" "<URL>" --json
超时 30 秒。失败则提示用户手动复制文章正文。
如果用户只是说"帮我读一下这篇公众号"(/read-gzh 触发),执行抓取后直接生成结构化总结,不进入后续内容生成流程。总结格式:
# 文章总结
## 基本信息(标题/作者/类型/配图数)
## 核心观点(3条)
## 关键信息
## 金句摘录
## 图片内容(下载并识别配图中的文字)
## 思考/迭代点
第 2 步:分析文章结构
提取:标题、副标题/金句、核心概念、关键数据、步骤/流程、亮点/特色、方法论/金句、行动召唤。
第 3 步:拆分为卡片
8-10 张卡片,遵循小红书阅读节奏(→ 读 references/xiaohongshu-format.md):
| 位置 | 卡片类型 | 内容 |
|---|---|---|
| 第 1 张 | 封面 | 大标题 + hook + 迷你视觉元素 |
| 第 2 张 | 先看结果 | 成品展示 + 核心数据 |
| 第 3-4 张 | 概念解释 | 核心概念拆解 |
| 第 5-7 张 | 流程/实战 | 步骤、对比、流程图 |
| 第 8 张 | 亮点/特色 | 产品/作品亮点卡片 |
| 第 9 张 | 方法论 | 一句话金句提炼 |
| 第 10 张 | 行动召唤 | 链接 + 社区引导 |
第 4 步:生成图片 HTML
输出路径:文章同目录下 [简短主题]-小红书版.html,未指定目录放 /tmp/。浏览器自动打开预览。
最后一张行动召唤页必须包含:微信号 [你的微信号](强调色大字)、备注关键词、核心链接。
在
local/SKILL.local.md中配置你的实际微信号。
📚 重要:生成前必读范例
参考 references/xiaohongshu-examples/观鸟图鉴-范例.html 的质量标准:
✅ 卡片设计要求
- 纯信息图设计,无文章截图
- 像素风/游戏化界面展示(适用时)
- 流程图、卡片网格、编号列表等丰富视觉元素
- 品牌色克制使用(墨绿85% + 鱼红5%)
✅ 文案质量要求
- 真人分享感,有真实场景和个人感受
- 口语化表达:"玩疯了"、"上头了"、"然后我就..."
- 298-350字 + 8-12个标签
生成的内容应达到范例的专业水准。
第 5 步:生成小红书发布文案
根据内容类型选择风格:
-
个人 IP 风格(真人分享、产品开发、踩坑记录)
- → 读
local/SKILL.local.md中指定的个人品牌风格文件(如有) - 流水账式真实感 + 具体时间细节 + 口语化表达
- 300-350字,8-12个标签
- 人设:在
local/SKILL.local.md中自定义
- → 读
-
01fish风格(方法论总结、深度分析)
- → 读
references/platform-copy.md的小红书部分 - 结构化拆解 + 干货密度高
- 适合转载公众号文章
- → 读
第 6 步:生成即刻发布文案
→ 读 references/platform-copy.md 的即刻部分。
第 7 步:生成播客脚本
根据触发词选择播客模式:
| 触发词 | 模式 | 时长 | 风格 |
|---|---|---|---|
| "转播客" | 标准模式 | 5-8 分钟 | AI搭档聊天风 → 读 references/platform-copy.md 播客部分 |
/podcast / "做播客" / "录播客" / "讲书播客" | 百家讲坛模式 | 15 分钟 | 讲书人风格 → 读 references/xiaoyuzhou-podcast.md |
百家讲坛模式是小宇宙播客的主力模式,适合把文章/书籍改编为有故事感、有节奏感的深度音频内容。
第 8 步:AI 语音生成
通过 SSH 连接 Ubuntu 机器,使用 IndexTTS2 本地生成(零样本声音克隆)(→ 读 references/tts-config.md)。
百家讲坛模式的 TTS 调整:15 分钟脚本约 4000 字,分段大小 600 字(更短分段带来更好的语音节奏),预计 6-7 段。
文件命名:[播客标题].mp3 + [播客标题]-播客脚本.md
第 8.2 步:生成播客封面(百家讲坛模式)
→ 读 references/podcast-cover-template.md
生成 3000×3000 正方形封面 HTML,01fish 墨绿体系,浏览器下载 PNG 后上传小宇宙。
文件命名:[播客标题]-播客封面.html
第 8.5 步:输出 manifest.json
所有内容生成完毕后,自动输出 manifest.json 到输出目录。格式:
{
"version": "1.0",
"created": "<ISO时间戳>",
"source": "<微信链接>",
"title": "<文章标题>",
"outputs": {
"xiaohongshu": { "html": "...", "copy": { "title": "...", "body": "...", "tags": [...] } },
"jike": { "copy": { "body": "...", "circles": [...] } },
"xiaoyuzhou": { "audio": "...", "script": "...", "cover": "...", "copy": { "title": "EP01丨...", "description": "...", "show_notes": "..." } },
"video_canvas": { "html": "...", "teleprompter_md": "...", "cover_html": "..." }
}
}
如果用户说"转小红书并发布",生成 manifest 后自动执行 /distribute。
第 9 步:品牌视频生成(可选)
仅当用户提到"视频"、"抖音"、"视频号"或"品牌视频"时执行:
A. Remotion 品牌片头片尾
cd "$REMOTION_DIR"
npx remotion render src/index.ts Intro --output /tmp/brand-intro.mp4
npx remotion render src/index.ts Outro --output /tmp/brand-outro.mp4
$REMOTION_DIR需在local/.env或环境变量中配置。
B. AI 视频 Prompt — 为 Seedance 2.0 或 Google Veo 生成 4 段视频 prompt
C. ffmpeg 拼接指令 — 生成拼接命令供用户手动执行
第 9B 步:录屏画布生成(可选)
仅当用户说"做视频画布"、"录屏画布"、"录屏"时执行。用户提供要演示的网址列表 + 简短主题。
- 获取输入 — 用户提供:要演示的网址列表 + 简短主题
- 生成提词器脚本 — 每个网址对应一段口播(80-150 字),含
[提示]cue 标记 - 输出提词器脚本 md —
[主题]-提词器脚本.md,用户可直接编辑 - 组装 HTML — 读取
references/video-canvas-template.md获取完整 CSS+JS 模板,网址预填WEB_URLS+ 提词器脚本填入SCRIPTS - 输出文件 —
[主题]-视频画布.html,保存到用户指定目录或/tmp/ - 生成封面图 —
[主题]-封面.html,暗底 + 人像圆框,浏览器下载 PNG - 提示用户 — 先检查提词器脚本 md,再在浏览器中打开 HTML 录制。16:9 固定比例,各平台直接上传
第 10 步:用户微调
告知用户所有产出物路径,提示可调整,输入 /distribute 可一键发布。
公众号同步提示:封面 PNG 从浏览器下载后,直接 /distribute --platforms wechat 即可同步到草稿箱(API 模式,无需打开 Chrome)。
一次性产出五样东西,不需要额外要求:
- 小红书图片 HTML(含一键下载工具栏)
- 小红书发布文案(标题 + 正文 + 标签)
- 即刻发布文案(正文 + 圈子标签)
- 小宇宙播客(录制脚本 + AI 语音 MP3 + 节目封面)
- manifest.json(供
/distribute一键发布)
单独触发 /podcast 时,产出三样:
- 播客脚本 md(15 分钟百家讲坛风格,3800-4200 字)
- AI 语音 MP3(IndexTTS2 本地生成)
- 节目封面 HTML(3000×3000,浏览器下载 PNG)
- 小宇宙发布文案(标题 + 简介 + 完整文稿)
- manifest.json
第 9B 步可选追加(说"视频画布"/"录屏"时): 6. 录屏画布 HTML(全屏网页演示 + 摄像头露脸 + 录制 + 提词器 + 美颜,16:9 固定) 7. 提词器脚本 md(按网站分段,可编辑,修改后说"更新提词器"同步到 HTML) 8. 封面图 HTML(暗底 + 人像圆框,浏览器下载 PNG)
分发流程(/distribute)
读取 manifest.json,通过 Chrome CDP 自动化发布到各平台(→ 读 references/distribute-platforms.md)。
用法
# 全平台发布
npx -y bun "${SKILL_DIR}/scripts/distribute/distribute.ts" --manifest /path/to/manifest.json
# 选择平台
npx -y bun "${SKILL_DIR}/scripts/distribute/distribute.ts" --manifest /path/to/manifest.json --platforms xhs,jike
# 预览模式(不提交,只预填内容)
npx -y bun "${SKILL_DIR}/scripts/distribute/distribute.ts" --manifest /path/to/manifest.json --platforms xhs --preview
平台缩写
| 缩写 | 平台 | 状态 |
|---|---|---|
wechat | 公众号 | 可用 |
xhs | 小红书 | 可用 |
jike | 即刻 | 可用 |
xiaoyuzhou | 小宇宙 | 可用 |
douyin | 抖音 | 实验性 |
shipinhao | 视频号 | 待开发 |
执行顺序
公众号 → 小红书 → 即刻 → 小宇宙 → 抖音 → 视频号(顺序执行,避免 Chrome 端口冲突)
四级降级
| 级别 | 模式 | 触发条件 |
|---|---|---|
| L0 | API 直推 | 公众号 API 直接推草稿箱,无需 Chrome |
| L1 | 自动发布 | CDP 完全自动化 |
| L2 | 辅助发布 | 登录态失效/选择器失效/--preview |
| L3 | 手动模式 | CDP 连接失败 |
公众号优先 L0(API),凭证缺失或失败时自动降级 L3(手动)。
公众号 API 模式说明
凭证来源(按优先级):
- 环境变量
WECHAT_APPID+WECHAT_APPSECRET - 配置文件
~/.config/wechat-api/config.json
Token 缓存:
- 缓存位置:
~/.config/wechat-api/token-cache.json - 有效期 2 小时,提前 5 分钟刷新
- 无需手动管理,脚本自动处理
执行流程:
- 获取 access_token(优先读缓存)
- 从
_preview.html提取文章内容(extractArticleContent) - 修复 WeChat 不兼容的 HTML 结构(
fixHtmlForWechat) - 扫描并上传本地图片到微信 CDN(
uploadLocalImagesInHtml) - 上传封面图获取
thumb_media_id - 调用
draft/add创建草稿
品牌设计规范
两套品牌色体系:
- 01fish:专业内容品牌(公众号、深度文章、方法论)
- 鱼头头:真人IP品牌(小红书、即刻、日常分享)
单一真相源:在
local/SKILL.local.md中指定你的品牌色文档路径。 如果色值冲突,以品牌文档为准。以下色板作为默认示例。
01fish 色板(墨绿体系)
比例法则:墨绿 85% : 鱼红 5% : 其余 10%
| 名称 | 色值 | 用途 |
|---|---|---|
| 墨绿主色 | #1A3328 | 暗底卡片背景 |
| 宣纸底 | #F2EDE3 | 浅底卡片背景 |
| 鱼红 | #C44536 | 强调色、数字、标签(仅点睛) |
| 半透白 | rgba(255,255,255,0.5) | 暗底上的品牌名 |
| 半透墨绿 | rgba(26,51,40,0.4) | 浅底上的品牌名 |
| 苔灰 | #7A8C80 | 次要文字 |
| 深墨 | #0F1F18 | 更深背景 |
| 淡青 | #D4DDD7 | 分割线、边框 |
鱼头头色板(桃粉体系)
比例法则:桃气粉 15% : 奶油黄 40% : 暮光紫 10% : 灰色 35%
| 名称 | 色值 | 用途 |
|---|---|---|
| 桃气粉 | #FF6B9D | 主强调色、标题、关键数据 |
| 奶油黄底 | #FFF9E6 | 浅底背景、卡片底色 |
| 暮光紫 | #9D7BA8 | 辅助色、次要信息、品牌名 |
| 温灰 | #6B6B6B | 正文文字 |
| 浅灰底 | #F5F5F5 | 现代感背景 |
| 深夜蓝 | #2D3047 | 暗底背景(少用) |
ブランド選択ルール
| コンテンツの種類 | 使用するブランド | 理由 |
|---|---|---|
| 公式アカウントの深掘り記事 | 01fish | 専門的、権威性がある、コンテンツブランド |
| 業界分析レポート | 01fish | 冷静で客観的 |
| 小紅書の本人によるシェア | 魚頭頭 | 温かみがあり、リアルな本人のIP |
| 即刻の日常投稿 | 魚頭頭 | 活発で親しみやすい |
| プロダクト開発記録 | 魚頭頭 | リアルな開発過程を見せる |
| B2B プロダクト紹介 | 01fish | 専門的で信頼できる |
2つのブランドの連携:同じコンテンツでも、公式アカウントでは01fishの色、小紅書でシェアする際は魚頭頭の色を使います。
フォント
font-family: -apple-system, 'PingFang SC', 'Microsoft YaHei', sans-serif;
ブランドロゴ
各ページの左上に 01fish ロゴとテキストを配置します。暗い背景のページでは .light、明るい背景のページでは .dark を使用します。
ページ番号
右下に 1/N を配置します。暗い背景のページでは rgba(255,255,255,0.2)、明るい背景のページでは rgba(26,51,40,0.2) を使用します。
コンテンツの書き換え原則
WeChat から小紅書への転載は、そのままコピーするのではなく、内容を適応させる必要があります。
| 項目 | 小紅書 | |
|---|---|---|
| 分量 | 2000-3000 字 | 1ページあたり 50-80 字 |
| 構成 | 順を追って読む | カード形式で流し読み |
| 語調 | 技術的、深掘り | 簡潔、直感的、インパクト重視 |
| ビジュアル | テキスト中心 | ビジュアル中心、テキストはアクセント |
書き換えのポイント:タイトルは強烈に、数字は大きく、1ページに1つのポイント、テキストの代わりにビジュアルを使い、主要なリンクは残します。
完全なテンプレートの参考資料
小紅書の画像を初めて生成する際は、references/xiaohongshu-examples/ ディレクトリ内のサンプルファイルを参照し、CSS と JS の全体を確認してください。
追加のローカルテンプレートを参照する場合は、
local/SKILL.local.mdにパスを指定してください。
新しいコンテンツを生成する際は、サンプルファイルの CSS と JS の部分を再利用し、カードの内容だけを置き換えます。
スクリプトディレクトリ
エージェントの実行:この SKILL.md があるディレクトリを SKILL_DIR として特定し、${SKILL_DIR}/scripts/<name> を使用します。
| スクリプト | 目的 |
|---|---|
scripts/fetch_wechat_article.py | WeChat 記事の取得(Python、WeChat UA をシミュレート) |
scripts/distribute/distribute.ts | 配信のメインオーケストレーター |
scripts/distribute/cdp-utils.ts | 共通 CDP ツール + Manifest 型定義 |
scripts/distribute/wechat-api.ts | 公式アカウント API クライアント(トークン管理、画像アップロード、下書き作成) |
scripts/distribute/platforms/*.ts | 各プラットフォームの公開モジュール |
参考資料ファイル一覧
cc は必要に応じて読み込み、すべての参考資料を一度に読み込まないでください。
| 場面 | 読み込むファイル |
|---|---|
| 説明書記事の原稿を作成 | references/manual-framework.md — 6段階の説明書フレームワーク(定義+成果→特長→使い方→価値→ロードマップ→まとめ、3000-6000 字) |
| 深掘りした長文記事の原稿を作成 | references/writing-style.md — キャラクター設定 + 執筆ルール + 書式(4幕構成、8000-12000 字) |
| チュートリアル記事の原稿を作成 | references/tutorial-framework.md — 6段階のチュートリアルフレームワーク(まず結果を見る→概念→操作→実践→すぐに使える形で提供、2000-4000 字) |
| アイキャッチ画像/記事内画像を生成 | references/cover-template.md — 01fish スタイルのレイアウト規則(アイキャッチ画像 + 記事内画像 + ビジュアルコンポーネント) |
| 横長から縦長のカバーに変換 | references/cover-vertical-spec.md — 公式アカウントのカバーを縦長に変換する CSS 規則 |
| 小紅書のカルーセル画像を生成 | references/xiaohongshu-format.md — HTML テンプレート + ビジュアルコンポーネントライブラリ |
| 各プラットフォーム向けの投稿文を生成 | references/platform-copy.md — 小紅書/即刻/ポッドキャスト/WeChat モーメンツの投稿文規則 |
| ポッドキャスト音声を生成 | references/tts-config.md — IndexTTS2 のローカル TTS 設定 + 生成スクリプト |
| 小宇宙ポッドキャスト(百家講壇) | references/xiaoyuzhou-podcast.md — 15分の語り手スタイルの台本規則 + アレンジ手順 + 公開設定 |
| ポッドキャスト番組のカバー | references/podcast-cover-template.md — 3000×3000 正方形カバーの HTML テンプレート |
| 史記ロサンメンのコーナー | references/shiji-luoshengmen.md — コーナーのブランド設定 + AI探偵スタイル + 台本構成 |
| 各プラットフォームに配信 | references/distribute-platforms.md — プラットフォーム設定 + manifest 形式 + フォールバック戦略 |
| 画面録画用キャンバスを生成 | references/video-canvas-template.md — 画面録画用キャンバステンプレート(全画面のウェブページデモ+顔出し+テレプロンプター+録画) |
トラブルシューティング
| 問題 | 対処方法 |
|---|---|
| WeChat の取得に失敗 | 記事本文を手動でコピーするようユーザーに案内します |
| 記事が短すぎる(<500字) | 5-6 枚のカードにまとめます |
| 記事が長すぎる(>5000字) | 要点を選び、10 枚以内に収めます |
| 画像の書き出しがぼやける | SCALE=2、ブラウザーのズームが 100% になっているか確認します |
| manifest が存在しない | 先にコンテンツを生成するよう案内します |
| Chrome の起動に失敗 | L3(手動モード)に切り替えます |
| IndexTTS2 モデルの読み込みに失敗 | checkpoints ディレクトリと infer_v2 のインポートを確認します |
| TTS の生成に失敗 | 台本テキストのみを出力し、手動で録音するよう案内します |