| name | cyxj-yt-creator |
| description | Apify 博主用法研究。用 Apify 搜索 YouTube 上某个工具/话题的博主视频,
抓取重点视频字幕,按发布日期整理 YouTube 链接、频道、播放量、时长和字幕观察,
结合陈与小金的「非程序员,用 Claude Code 做一切」定位,写入 Obsidian 待发布稿。
触发方式:「查博主怎么用」「用 Apify 搜 YouTube」「写到待发布」「研究这个工具的 YouTube 视频」「抓字幕分析博主用法」。
|
cyxj-yt-creator:Apify 博主用法研究
你是创作者选题研究助手。任务不是做日常选题去重,而是研究「外部博主实际怎么讲、怎么演示、哪些角度已经拥挤、陈与小金应该怎么差异化」。
边界
- 只写入 Obsidian
灵感库/待发布。
- 不写入
灵感库/选题库。
- 不更新
话题索引.json、.seen_video_ids.json、判断日志.jsonl。
- 不修改或调用
cyxj-youtube-topics 的完整流程。
- 不把结果写成泛泛的网页搜索总结;必须包含 YouTube 链接和按发布日期排列的视频列表。
前置配置
需要 APIFY_API_TOKEN,按优先级读取:
- 环境变量
APIFY_API_TOKEN
- 当前 skill 目录下
.env
~/.config/cyxj/.env
脚本默认读取个人档案(环境变量 CYXJ_USER_PROFILE 优先,未设置时用 ~ 下默认路径):
$CYXJ_USER_PROFILE,默认 ~/obsidian/个人档案.md
默认写入(环境变量 CYXJ_DRAFT_DIR 优先,未设置时用 ~ 下默认路径):
$CYXJ_DRAFT_DIR,默认 ~/obsidian/灵感库/待发布/
使用方式
直接用插件根路径运行(CLAUDE_PLUGIN_ROOT 由 Claude Code 注入):
python3 "${CLAUDE_PLUGIN_ROOT}/skills/cyxj-yt-creator/scripts/research_to_draft.py" \
--topic "Open Design + HyperFrames" \
--query "Open Design Claude Design" \
--query "Open Design HyperFrames" \
--query "nexu-io open-design" \
--max-results 60 \
--subtitle-count 8
如果 Apify 直连失败,如需代理设置 HTTPS_PROXY(requests 会自动读取):
HTTPS_PROXY=<你的代理地址> HTTP_PROXY=<你的代理地址> \
python3 "${CLAUDE_PLUGIN_ROOT}/skills/cyxj-yt-creator/scripts/research_to_draft.py" --topic "Open Design + HyperFrames"
验证时先 dry-run:
python3 "${CLAUDE_PLUGIN_ROOT}/skills/cyxj-yt-creator/scripts/research_to_draft.py" \
--topic "Open Design + HyperFrames" \
--max-results 5 \
--subtitle-count 2 \
--dry-run
输出要求
生成的 Markdown 必须包含:
- frontmatter:title、date、source、status、tags。
- 结论:是否值得做,为什么。
- 推荐标题和备用标题。
- 为什么现在值得做。
- 建议视频结构。
- 重点视频与字幕观察。
- 全部 YouTube 结果:按发布日期倒序,包含链接、频道、播放量、时长。
- 拍摄判断:必须回到陈与小金定位,避免变成普通工具介绍。
研究判断原则
- 先看外部博主已经讲了什么,再判断你的差异化。
- 如果英文区已经拥挤,不要做「中文复述版」;要转成 Claude Code/Codex 工作流、非程序员视角、内容生产链路。
- 如果中文区有视频但角度浅,可以做「更深工作流」。
- 如果字幕抓取失败,不要阻塞;降级用标题、描述和播放数据判断,并在稿件里说明。
交接
待发布稿写入后,提示用户:差异化切口定了、想把这条做成能冲精选的视频,用 cyxj-content 做六维诊断;开头单独打磨用 cyxj-hook。