ClawKit Logo
ClawKitReliability Toolkit
Back to Registry
Official Verified

notebook-builder

分段式 Jupyter Notebook 生成与修改工具。当用户需要创建、分段追加、修改、合并 Jupyter Notebook (.ipynb) 时使用此技能。支持的高级功能包括:(1) 分段多次生成 Notebook 内容,避免一次性生成过大导致超时或内容截断;(2) 本地图片 base64 嵌入到 Markdown cell;(3) 内置哈希判题系统(不显示明文答案);(4) 灵活的 cell 级增删改查;(5) 合并多个 notebook 为一个;(6) 导出为纯 Python 脚本;(7) 自动生成目录;(8) Cell 标签分组与重排序。适用场景包括教学课件、编程练习、技术教程、学习笔记等 notebook 的创建与维护。

skill-install — Terminal

Install via CLI (Recommended)

clawhub install openclaw/skills/skills/aigamatrix/notebook-builder
Or

Notebook Builder

分段式创建和修改 Jupyter Notebook,支持图片嵌入与判题系统。

⚠️ 执行规则(必须遵守)

所有 Python 代码必须由 agent 自己通过 terminal 工具执行,严禁让用户手动在命令行执行。

原因:agent 通过工具执行命令时,stdout/stderr 会被自动捕获并返回,agent 可以依据输出判断操作是否成功。如果让用户手动执行,agent 无法感知执行结果,会导致工作流中断或状态不一致。

具体要求:

  1. 每一段 Python 代码都必须通过 terminal 工具直接执行,不要输出代码让用户自己运行
  2. 执行后必须检查 stdout 输出,确认操作成功(如看到 前缀的确认信息)
  3. 分段生成时,每段执行完毕后应通过 terminal 工具执行 nb_info()get_cell_summary() 检查当前 notebook 状态,再继续下一段
  4. 如遇执行错误,agent 应自行分析错误信息并修正代码后重试,无需用户介入

核心工作流程

用户请求
  │
  ├─ 创建新 notebook      → "创建流程"
  ├─ 修改现有 notebook    → "修改流程"
  ├─ 添加判题系统         → "判题流程"
  └─ 嵌入图片             → "图片流程"

❗ 关于 <技能脚本目录> 占位符

示例代码中的 <技能脚本目录> 需要替换为此技能实际的 scripts/ 目录绝对路径。agent 应通过以下方式确定该路径:

  1. 此 SKILL.md 文件所在目录的同级 scripts/ 子目录
  2. 即 SKILL.md 的父目录 + /scripts

例如如果此 SKILL.md 位于 /home/user/.codebuddy/skills/notebook-builder/SKILL.md,则 <技能脚本目录> 应替换为 /home/user/.codebuddy/skills/notebook-builder/scripts

辅助脚本

此技能包含核心辅助脚本 scripts/nb_helpers.py,提供以下能力:

函数作用
new_notebook()创建空 notebook 字典
load_notebook(path)从文件加载 notebook
save_notebook(nb, path)保存 notebook 到文件
make_markdown_cell(src)构造 Markdown cell
make_code_cell(src)构造 Code cell
append_cells(nb, cells)向末尾追加 cell
insert_cells(nb, idx, cells)在指定位置插入 cell
delete_cells(nb, start, count)删除 cell
replace_cell(nb, idx, cell)替换 cell
find_cells_by_keyword(nb, kw)按关键词搜索 cell
find_cells_by_id(nb, id)按 id 查找 cell
embed_image_in_markdown(path)图片转 base64 嵌入
make_image_output(path)为 code cell 创建图片输出
make_quiz_code_cell(...)生成哈希判题 cell
make_quiz_summary_cell(ids, total, scores)生成判题汇总 cell
merge_notebooks(paths, output)合并多个 notebook
export_to_script(nb, path)导出为 Python 脚本
make_toc_cell(nb, max_level)自动生成目录 cell
reorder_cells(nb, new_order)按索引重排 cell
tag_cell(cell, tags)为 cell 添加标签
find_cells_by_tag(nb, tag)按标签查找 cell
make_section(title, ...)快速生成章节
clear_all_outputs(nb)清除所有输出
set_kernel(nb, name, display)修改 kernel
nb_info(nb)notebook 统计信息
get_cell_summary(nb)每个 cell 的摘要

创建流程(分段生成)

分段生成的核心思路:不要试图一次性生成整个 notebook。将内容拆分为多个"段",每段包含若干 cell,逐段追加。

步骤

  1. 初始化:用 new_notebook() 创建空 notebook,根据用户需求设置 kernel
  2. 规划章节:将内容大纲拆分为 3-5 段,每段对应一个逻辑章节
  3. 逐段生成
    • 使用 make_section()make_markdown_cell() + make_code_cell() 构造当前段的 cell
    • 使用 append_cells() 追加到 notebook
    • 调用 save_notebook() 保存当前进度(支持中途预览)
  4. 收尾:添加总结章节,最终保存

分段生成示例

重要:以下每一段代码都应由 agent 通过 terminal 工具分段执行,不要一次性全部执行,也不要让用户手动执行。

第 1 次执行(通过 terminal 工具):初始化 + 标题段

import sys
sys.path.insert(0, "<技能脚本目录>")
from nb_helpers import *

Metadata

Stars4473
Views0
Updated2026-05-01
View Author Profile
AI Skill Finder

Not sure this is the right skill?

Describe what you want to build — we'll match you to the best skill from 16,000+ options.

Find the right skill
Add to Configuration

Paste this into your clawhub.json to enable this plugin.

{
  "plugins": {
    "official-aigamatrix-notebook-builder": {
      "enabled": true,
      "auto_update": true
    }
  }
}
Safety NoteClawKit audits metadata but not runtime behavior. Use with caution.