关于 openai-jupyter-notebook
openai-jupyter-notebook 是用于创建和重构可复现 Jupyter 笔记本的 Agent 技能,面向实验与教程。它通过模板和辅助脚本提供统一起始结构,并指导编辑与验证。
主要功能
- 01搭建实验笔记本框架
- 02搭建教程笔记本框架
- 03重构现有笔记本
- 04使用模板和辅助脚本
- 05遵循执行与质量检查流程
适用场景
- 01将分析笔记整理为结构化笔记本
- 02创建循序渐进的教学笔记本
- 03提升现有笔记本的可复现性
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ trailofbits/ skills-curated --skill openai-jupyter-notebook安装后在 Claude Code 中输入/openai-jupyter-notebook确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/experiment-patterns.mdnotebook-structure.mdquality-checklist.mdtutorial-patterns.mdscripts/new_notebook.py详细介绍
Jupyter Notebook Skill
创建简洁、可复现的 Jupyter notebook,适用于两种主要场景:
- 实验和探索性分析
- 教程和教学型演示
优先使用捆绑的模板和辅助脚本,以保持结构一致并减少 JSON 错误。
适用场景
- 从头创建新的
.ipynbnotebook。 - 将粗略笔记或脚本转换为结构化 notebook。
- 重构现有 notebook,使其更具可复现性,也更易于浏览。
- 构建供他人阅读或重新运行的实验或教程。
决策树
- 如果请求是探索性、分析性或由假设驱动的,请选择
experiment。 - 如果请求是指导性、循序渐进或面向特定受众的,请选择
tutorial。 - 如果要编辑现有 notebook,请将其视为重构:保留原意并改进结构。
脚本和参考资料位于 {baseDir}/ 下。
工作流
-
明确意图。 确定 notebook 类型:
experiment或tutorial。 记录目标、受众,以及怎样才算“完成”。 -
使用模板搭建框架。 使用辅助脚本,避免手动编写原始 notebook JSON。
uv run --python 3.12 python "$JUPYTER_NOTEBOOK_CLI" \
--kind experiment \
--title "Compare prompt variants" \
--out output/jupyter-notebook/compare-prompt-variants.ipynb
uv run --python 3.12 python "$JUPYTER_NOTEBOOK_CLI" \
--kind tutorial \
--title "Intro to embeddings" \
--out output/jupyter-notebook/intro-to-embeddings.ipynb
-
用小而可运行的步骤填充 notebook。 每个代码单元格只专注于一个步骤。 添加简短的 Markdown 单元格,说明目的和预期结果。 如果简短摘要就能说明问题,请避免冗长、嘈杂的输出。
-
应用合适的模式。 对于实验,请遵循
references/experiment-patterns.md。 对于教程,请遵循references/tutorial-patterns.md。 -
安全地编辑现有 notebook。 保留 notebook 结构;除非有助于改善从上到下的叙述逻辑,否则不要调整单元格顺序。 优先进行有针对性的修改,而非彻底重写。 如果必须编辑原始 JSON,请先查看
references/notebook-structure.md。 -
验证结果。 如果环境允许,请从头到尾运行 notebook。 如果无法执行,请明确说明,并指出如何在本地验证。 使用
references/quality-checklist.md中的最终检查清单。
模板和辅助脚本
- 模板位于
assets/experiment-template.ipynb和assets/tutorial-template.ipynb。 - 辅助脚本会加载模板、更新标题单元格,并写入 notebook。
脚本路径:
$JUPYTER_NOTEBOOK_CLI(安装后的默认路径:{baseDir}/scripts/new_notebook.py)
临时文件和输出约定
- 将中间文件放在
tmp/jupyter-notebook/下;完成后删除。 - 在此仓库中工作时,将最终产物写入
output/jupyter-notebook/下。 - 使用稳定且描述性强的文件名(例如
ablation-temperature.ipynb)。
依赖(仅在需要时安装)
优先使用 uv 管理依赖。
用于在本地执行 notebook 的可选 Python 包:
uv pip install jupyterlab ipykernel
捆绑的框架搭建脚本仅使用 Python 标准库,无需额外依赖。
环境
无需设置环境变量。
参考资料索引
references/experiment-patterns.md:实验结构和启发式方法。references/tutorial-patterns.md:教程结构和教学流程。references/notebook-structure.md:notebook JSON 结构和安全编辑规则。references/quality-checklist.md:最终验证清单。