3.0 KiB
3.0 KiB
name: notebook-edit
description: Edit Jupyter notebook cells: read, modify, insert, delete, and execute code cells
When to use
Use when the user asks to:
- Modify code in a Jupyter notebook (.ipynb)
- Add new cells (code, markdown, raw)
- Delete or reorder cells
- Update cell outputs
- Execute notebook cells (if kernel available)
- Convert notebooks to other formats
Workflow
1. Locate the notebook
Find the .ipynb file path.
2. Read notebook structure
read notebook.ipynb
This returns the raw JSON structure of the notebook with cells, sources, outputs, metadata. You'll need to parse this JSON manually.
3. Make edits
Use edit tool to modify the notebook JSON directly:
- Edit
cells[*].sourceto change code/markdown content - Edit
cells[*].cell_typeto change type ("code", "markdown") - Insert/delete by modifying the
cellsarray - Be careful with JSON structure — validate after edits
4. Execute cells (optional)
OpenClaw does not have a built-in notebook_execute tool. If you need to execute notebooks, either:
- Use
execto runjupyter nbconvert --execute notebook.ipynb - Or manually run the code cells section by section using
code_execution
5. Save changes
Edits are saved automatically upon tool completion, or explicitly write.
Cell Types
- code: Executable Python/R/Julia code
- markdown: Documentation with Markdown formatting
- raw: Unformatted text (rarely used)
Common Operations
Add a code cell at the end
notebook_edit notebook.ipynb \
--insert "end" \
--cell-type code \
--source "print('Hello')"
Update existing cell
notebook_edit notebook.ipynb \
--cell-index 3 \
--source "x = 5\nprint(x*2)"
Delete a cell
notebook_edit notebook.ipynb \
--cell-index 2 \
--delete true
Run all cells
notebook_execute notebook.ipynb --all
Clear outputs
notebook_edit notebook.ipynb --clear-outputs true
Safety Rules
- Backup first: Copy notebook before major edits
- Don't overwrite outputs unless explicitly asked
- Preserve cell metadata: Some notebooks rely on custom metadata
- Kernel restarts: Changes to imports/functions may require kernel restart
Examples
User: "Thêm cell tính trung bình vào notebook analysis.ipynb" Assistant: 1. Đọc notebook hiện tại 2. Tìm vị trí phù hợp (sau phần data loading) 3. Thêm code cell với formulas đúng 4. Kiểm tra syntax trước khi lưu Sửa cell mà không xem nội dung gốc, có thể mất code quan trọng.Error Handling
- Invalid cell index: Check notebook length first
- JSON parse error: Notebook có thể bị corrupt, backup và repair
- Kernel not available: Execution sẽ fail, chỉ edit được code
Verification Checklist
- Notebook file is valid JSON
- Cell indices are within bounds
- Code syntax is correct (consider linting)
- No orphaned outputs (clear if needed)
- Notebook can still open in Jupyter after edit