mcpField
N
notebooklm-create

notebooklm-create

github.com/julianobarbosa生产力1459 次安装2 天前更新
代码仓库

关于 notebooklm-create

用于围绕指定主题构建 NotebookLM 研究笔记本的高层工作流技能,面向需要汇集资料并生成 Studio 内容的研究任务。它编排研究、来源加载、Studio 生成和提示词整理,并包含相关操作注意事项。

主要功能

  1. 01执行主题研究并整理综述
  2. 02按顺序添加网址和文本来源
  3. 03生成 NotebookLM Studio 内容
  4. 04编写主题化聊天提示词
  5. 05核验笔记本来源与生成状态

适用场景

  1. 01为技术主题建立研究笔记本
  2. 02汇集种子链接与社区讨论
  3. 03生成学习指南、测验或思维导图
  4. 04整理可复用的主题聊天提示词

MCP 相关

该技能通过 notebooklm-rpc MCP 工具创建笔记本、添加来源并生成 Studio 内容。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/julianobarbosa/claude-code-skills --skill notebooklm-create

安装后在 Claude Code 中输入/notebooklm-create确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

assets/
community_content_template.md
research_synthesis_template.md
workflow_checklist.md
evals/
evals.json
references/
mcp-tool-map.md
prompt-library.md
studio-quirks.md
url-gotchas.md
samples/
cmux_docs_walkthrough.md
scripts/
adapt_prompts.py
add_urls_sequential.py
build_full_studio.py

详细介绍

notebooklm-create

用于构建完整 NotebookLM 主题笔记本的端到端工作流:深入研究、加载来源、完整 Studio 和精选提示词。它会协调 notebooklm-rpc MCP 工具,并处理编码其中的特定领域注意事项。

与 notebooklm-skill 的关系

  • notebooklm-skill = 低级 API 参考(notebooklm-py CLI)
  • 此技能(notebooklm-create)= 高级工作流编排,使用本会话中可用的 notebooklm-rpc MCP 工具

如果用户只想调用单个 API(例如“列出我的笔记本”),请使用 notebooklm-skill 或直接使用 MCP 工具。如果用户想根据某个主题构建研究笔记本,请使用此技能。

为什么需要此工作流

围绕某个主题构建内容丰富的 NotebookLM 笔记本,流程有固定模式,但其中散布着各种注意事项;如果每次都重新发现这些问题,会耗费大量时间:

  • 某些领域的网站会悄悄拒绝 NotebookLM 的 URL 抓取器(Medium、Quora)
  • 并行添加 URL 会导致连锁失败,因此必须按顺序添加
  • 添加 llms.txt URL 前,需要去掉末尾的 .md
  • Studio 产物分为同步类(思维导图、报告、闪卡、测验、数据表)和异步类(音频、视频、信息图、幻灯片),两者的轮询方式不同
  • Studio API 在生成后会将测验产物归类为 type: flashcards(需通过标题区分)
  • 每个 Studio 创建工具都必须传入 confirm=True,且需要用户明确批准

此技能将这些注意事项编码其中,避免后续运行时重新摸索。

工作流 — 7 个阶段

按顺序执行。每个阶段都有明确的交接内容,供下一阶段使用。

阶段 1 — 明确需求

询问或推断:

  1. 主题是什么?(例如,“cmux”“ArgoCD image updater”“Azure landing zones”)
  2. 用户是否已有想要纳入的种子 URL(视频、博客文章、GitHub 仓库)?
  3. 要涵盖哪些论坛?默认:Reddit、Hacker News、GitHub Discussions。可选:Discord(以文本形式采集,无法通过 URL 建立索引)、Quora(技术主题通常没有内容;通过研究确认)
  4. 目标笔记本标题——默认约定:{topic} :: docs(与用户现有的命名模式一致,可通过 notebook_list 查看)
  5. 用户想要完整 Studio(全部 10 种产物),还是只要其中部分?

如果主题名称有歧义(多个项目使用同一名称——常见情况:cmux 可能指 manaflow-ai、craigsc 或 coder),请先根据用户提供的种子 URL 消除歧义,再开展研究。

阶段 2 — 深入研究

目标:产出两项内容——研究综述和社区内容档案。两者都会作为文本来源加入笔记本。

阅读 references/prompt-library.md 获取提示词范例。先对用户提供的种子 URL 使用 WebFetch 以确认具体项目,再使用 WebSearch 查找权威仓库、文档和 llms.txt。

并行调度两个 Agent(通过 Agent 工具使用 general-purpose 子 Agent):

  1. 研究综述 Agent——生成 2000–3000 字的 Markdown,涵盖概述、架构、功能、比较、安装、受欢迎程度、局限性和官方 URL。输出模板:assets/research_synthesis_template.md。

  2. 社区内容 Agent——搜索 Reddit、Hacker News、GitHub Discussions 中的讨论串,并摘录带出处的原文引述。通过从 GitHub Discussions 获取同类内容来呈现 Discord 社区情况(Discord 无法公开抓取)。确认 Quora 的情况(技术主题通常没有讨论串)。输出模板:assets/community_content_template.md。

两个 Agent 都应返回可直接粘贴的 Markdown。将文件保存在本地 MEMORY/WORK/<slug>/ 下。

阶段 3 — 创建笔记本

使用 mcp__notebooklm-rpc__notebook_create 和已商定的标题。

mcp__notebooklm-rpc__notebook_create(title="{topic} :: docs")

记录返回的 notebook.id,后续每次调用都会用到。

先通过 mcp__notebooklm-rpc__notebook_list 检查是否存在重复项(按主题词对标题进行不区分大小写的筛选)。

阶段 4 — 加载来源(顺序执行 — 至关重要)

在调用任何添加工具之前,先阅读 references/url-gotchas.md,了解域名屏蔽列表和 URL 清理规则。

添加来源类型的顺序(每种类型分别顺序调用,绝不能并行):

  1. 用户提供的种子 URL(YouTube、博客文章等)
  2. 官方仓库 / 网站 / 文档
  3. Hacker News 讨论
  4. Reddit 讨论串 URL — 保留 Reddit 推荐的末尾 /
  5. 包含相关社区内容的 GitHub Discussions / Issues URL
  6. 第三方评测 / 比较讨论
  7. 添加完所有 URL 来源后:通过 mcp__notebooklm-rpc__notebook_add_text 将研究综合内容和社区内容作为文本来源添加

不要尝试添加:

  • medium.com/* — 总是失败
  • quora.com/* — 总是失败(截至 2026-04-21;参见 url-gotchas.md)
  • linkedin.com/* — 通常会失败(有身份验证限制)

如果不确定某个域名是否可用,先使用 WebFetch 探测 — 如果返回的是机器人检测内容,就假设 NotebookLM 也会失败,并将内容作为文本保存。

如果要添加 llms.txt URL,请在调用前去掉末尾的 .md(例如,使用 foo.com/llms.txt,而不是 foo.com/llms.txt.md)。

顺序调用示例:

# For each url in ordered_list:
mcp__notebooklm-rpc__notebook_add_url(notebook_id=NB, url=url)
# wait for success, then next
阶段 5 — 生成完整 Studio(需要用户批准)

所有 Studio 工具都需要设置 confirm=True。MCP 服务明确要求,在设置该参数前必须获得用户批准。向用户说明计划并取得批准,然后再执行。

阅读 references/studio-quirks.md,了解同步与异步任务的分类以及已知 API 特性。

建议顺序(优先启动异步任务,以缩短总耗时):

  1. audio_overview_create — 异步,约 60 秒以上
  2. video_overview_create — 异步,需数分钟
  3. infographic_create — 异步,需数分钟
  4. slide_deck_create — 异步,需数分钟
  5. mind_map_create — 同步
  6. report_create(format="Briefing Doc") — 同步
  7. report_create(format="Study Guide") — 同步
  8. flashcards_create — 同步
  9. quiz_create(question_count=10) — 同步(注意:在 studio_status 中归类为 type: flashcards)
  10. data_table_create(description=...) — 同步

对于每项异步产物,请传入针对主题定制的 focus_prompt — 各工具推荐的 focus prompt 见 references/mcp-tool-map.md。

执行后,约 45 秒后通过 mcp__notebooklm-rpc__studio_status 轮询一次,再过 2–3 分钟后轮询一次。异步媒体可能需要 5–10 分钟才能完成渲染。

阶段 6 — 策划聊天提示词

添加一个文本来源,其中包含 9 个根据主题改编的 NotebookLM 聊天提示词。模板位于 references/prompt-library.md — 它们取自两篇公开文章(XDA Developers、AI Fire),并已预先对应到以下结构目标:

  1. 五个核心问题(学习)
  2. 发现有趣之处(洞察挖掘)
  3. 知识竞答(游戏化复习)
  4. 内容分析报告(内容再利用)
  5. 社区 → 行动计划(路线图综合)
  6. SEO 大纲(竞争性内容)
  7. 营销 360° 反馈(多角色视角评议)
  8. 学习指南套件(入职培训课程)
  9. 会议演讲稿(叙事式推介)

将每个模板中与主题相关的占位符替换为研究中的具体信息(参与者、引言、关键架构事实)。将内容同时保存到:

  • MEMORY/WORK/<slug>/prompts.md 下的本地 Markdown 文件,以便重用
  • 笔记本内的文本来源,通过 mcp__notebooklm-rpc__notebook_add_text 添加,标题为 "9 Curated NotebookLM Prompts for {topic}"
阶段 7 — 验证
mcp__notebooklm-rpc__notebook_get(notebook_id=NB)
mcp__notebooklm-rpc__studio_status(notebook_id=NB)

确认:

  • 笔记本标题与 {topic} :: docs 一致
  • 来源数量符合预期(种子 URL + 论坛 URL + 2 个研究文本来源 + 1 个提示词文本来源)
  • Studio 产物已完成或仍在渲染(视频 / 信息图 / 幻灯片通常在验证时仍在渲染 — 这没有问题)
  • 没有创建重复的笔记本

向用户汇报以下内容:

  • 笔记本 URL(notebooklm.google.com/notebook/{id})
  • Studio 产物状态表
  • 9 个策划提示词的位置

包含的工具和资源

  • scripts/add_urls_sequential.py — 封装顺序添加模式,并内置域名屏蔽列表
  • scripts/build_full_studio.py — 按正确的异步优先顺序分派全部 10 项 Studio 内容(打印 MCP 调用计划;实际 MCP 调用由 Claude 的工具层执行)
  • scripts/adapt_prompts.py — 接收主题事实字典,并生成填入占位符的 9 条提示词
  • references/url-gotchas.md — 域名屏蔽列表 + URL 清理规则
  • references/studio-quirks.md — 同步与异步、测验分类、确认保护机制
  • references/prompt-library.md — 9 条基础提示词及来源标注(XDA + AI Fire)
  • references/mcp-tool-map.md — 各阶段使用的 MCP 工具 + 推荐的聚焦提示词
  • assets/research_synthesis_template.md — 9 个章节的研究文档框架
  • assets/community_content_template.md — 论坛/社区资料档案框架
  • assets/workflow_checklist.md — 分阶段清单,可复制到工作 PRD 中
  • samples/cmux_docs_walkthrough.md — 原始会话的完整示例

不适合使用此技能的情况

  • 用户想要修改或去重现有笔记本 — 使用 notebooklm-skill 或直接调用 MCP
  • 用户只想列出笔记本或描述某个笔记本 — 直接使用 MCP 工具
  • 用户想向现有笔记本添加单个来源 — 直接调用 MCP 即可,无需编排
  • 任务不属于“构建研究笔记本”这一类(例如“将此 PDF 转换为音频”)— 使用 notebooklm-skill

执行期间需要阅读的参考资料

何时阅读
第 4 阶段之前(添加 URL)references/url-gotchas.md
第 5 阶段之前(Studio)references/studio-quirks.md、references/mcp-tool-map.md
第 6 阶段之前(提示词)references/prompt-library.md
不确定该选用哪个工具时references/mcp-tool-map.md

反模式(根据实际运行经验总结)

  • 并行添加 URL → 会导致级联失败。始终按顺序添加。
  • 添加 Medium 或 Quora URL → 会静默失败。先抓取内容,再以文本形式添加。
  • 把 Studio 当作一次性批处理 → 确认保护机制会拦截。每个工具都需要单独设置 confirm=True。
  • 立即轮询 studio_status → 异步内容会显示 in_progress;至少等待 45 秒。
  • 通过检查 type 字段区分测验和抽认卡 → 生成后两者都会被归类为抽认卡。请使用内容标题。
  • 忘记保存 notebook_id → 需要额外调用一次 notebook_list 才能找回,造成重复开销。

注意事项

  • 网络研究阶段在约 50 个 URL 处截断 — 大型主题需要分批处理并手动汇总;截断不会发出提示。
  • 顺序上传来源可保留顺序;并行上传则不能 — 在 bash 中使用 & 和 wait 的工作流会导致顺序随机,引用也不稳定。
  • 来源配额在太平洋时间午夜重置 — 脚本在太平洋时间 23:55 触及每日上限时,会静默等待 5 分钟;若在中午运行,则会等待 12 小时。
  • 生成完整 Studio 内容:音频/视频/幻灯片/测验/抽认卡等会在上传后并行运行 — 如果上传中途失败,仍会生成不完整的内容集,且不会报错;生成前请确认所有来源均已上传。
  • 笔记本 ID 与笔记本标题:标题可以修改,ID 则不能。按标题查找笔记本的脚本会在重命名后失效。

评论

支持 Markdown