名称: “jupyter-notebook”
描述: “当用户要求创建、搭建或编辑Jupyter笔记本(.ipynb)用于实验、探索或教程时使用;优先使用捆绑的模板并运行辅助脚本 new_notebook.py 以生成干净的起始笔记本。”
作者: openai
Jupyter Notebook 技能
为两种主要模式创建干净、可复现的Jupyter笔记本:
- 实验和探索性分析
- 教程和教学导向的演练
优先使用捆绑的模板和辅助脚本,以确保结构一致和减少JSON错误。
何时使用
- 从头创建一个新的
.ipynb笔记本。 - 将粗略笔记或脚本转换为结构化笔记本。
- 重构现有笔记本,使其更具可复现性和可浏览性。
- 构建将被他人阅读或重新运行的实验或教程。
决策树
- 如果请求是探索性、分析性或假设驱动的,选择
experiment。 - 如果请求是指导性、逐步说明或针对特定受众的,选择
tutorial。 - 如果编辑现有笔记本,将其视为重构:保留意图并改进结构。
技能路径(设置一次)
export CODEX_HOME="${CODEX_HOME:-$HOME/.codex}"
export JUPYTER_NOTEBOOK_CLI="$CODEX_HOME/skills/jupyter-notebook/scripts/new_notebook.py"
用户范围的技能安装在 $CODEX_HOME/skills 下(默认:~/.codex/skills)。
工作流程
-
锁定意图。 识别笔记本类型:
experiment或tutorial。 捕获目标、受众以及“完成”的样子。 -
从模板搭建。 使用辅助脚本,避免手动编写原始笔记本JSON。
uv run --python 3.12 python "$JUPYTER_NOTEBOOK_CLI" \
--kind experiment \
--title "比较提示变体" \
--out output/jupyter-notebook/compare-prompt-variants.ipynb
uv run --python 3.12 python "$JUPYTER_NOTEBOOK_CLI" \
--kind tutorial \
--title "嵌入介绍" \
--out output/jupyter-notebook/intro-to-embeddings.ipynb
-
用小、可运行的步骤填充笔记本。 让每个代码单元格专注于一个步骤。 添加简短的Markdown单元格,解释目的和预期结果。 当简短摘要有效时,避免大型、嘈杂的输出。
-
应用正确的模式。 对于实验,遵循
references/experiment-patterns.md。 对于教程,遵循references/tutorial-patterns.md。 -
编辑现有笔记本时安全操作。 保留笔记本结构;除非能改善从头到尾的故事线,否则避免重新排序单元格。 优先进行有针对性的编辑,而不是完全重写。 如果必须编辑原始JSON,请先查看
references/notebook-structure.md。 -
验证结果。 当环境允许时,从头到尾运行笔记本。 如果无法执行,请明确说明,并指出如何在本地验证。 使用
references/quality-checklist.md中的最终检查清单。
模板和辅助脚本
- 模板位于
assets/experiment-template.ipynb和assets/tutorial-template.ipynb。 - 辅助脚本加载模板,更新标题单元格,并写入笔记本。
脚本路径:
$JUPYTER_NOTEBOOK_CLI(安装默认:$CODEX_HOME/skills/jupyter-notebook/scripts/new_notebook.py)
临时和输出约定
- 使用
tmp/jupyter-notebook/存储中间文件;完成后删除。 - 在此仓库中工作时,将最终工件写入
output/jupyter-notebook/。 - 使用稳定、描述性的文件名(例如
ablation-temperature.ipynb)。
依赖项(仅在需要时安装)
优先使用 uv 进行依赖管理。
本地笔记本执行的可选Python包:
uv pip install jupyterlab ipykernel
捆绑的搭建脚本仅使用Python标准库,不需要额外的依赖项。
环境
不需要环境变量。
参考地图
references/experiment-patterns.md:实验结构和启发式方法。references/tutorial-patterns.md:教程结构和教学流程。references/notebook-structure.md:笔记本JSON结构和安全编辑规则。references/quality-checklist.md:最终验证检查清单。