fix-notebook
ノートブックのエラーを、そのノートブック自体の修正(セル内容・JSONスキーマ)またはソースコードの修正により解決する
Installation
Follow the repository instructions for this skill and your agent. Review the files and dependencies before adding it to your workflow.
View source ↗GuidesSkill instructions
Fix Notebook Errors
This skill handles fixing errors encountered during notebook execution, ranging from Python code bugs to Jupyter JSON schema violations.
Instructions
-
Analyze the Failure:
- Examine the traceback to determine if the error is in the notebook cell's logic, a JSON schema violation, or the underlying library.
-
Strategy A: Fix Code Cell (Local):
- If the usage is wrong, imports are missing, or data paths are incorrect, edit the
.ipynbcells. - Modify the
"source"field of the failing code cell in the notebook JSON. -
Unit-Safe Assignment: When updating
astropy.unitsobjects, preferseries.value[:] = new_datato keep metadata.
- If the usage is wrong, imports are missing, or data paths are incorrect, edit the
-
Strategy B: Fix JSON Schema:
- If
nbconvertor validators fail with "Additional properties are not allowed ('id' was unexpected)": -
Remove Cell IDs: Delete the
"id"key from all cells in the JSON. -
Normalize nbformat_minor: Set
nbformat_minorto4(ifnbformatis 4) to prevent auto-adding IDs.
- If
-
Strategy C: Fix Library Source Code:
- If the bug is in the
gwexpy/package, trace it to the source file and apply the fix.
- If the bug is in the
-
Verification:
- Re-run the notebook using
jupyter nbconvert --executeortest_notebooksto confirm it passes.
- Re-run the notebook using
# Utility for Strategy B
import json
def fix_nb_schema(path):
with open(path, 'r') as f:
data = json.load(f)
for cell in data.get('cells', []):
cell.pop('id', None)
if data.get('nbformat') == 4 and data.get('nbformat_minor', 0) >= 5:
data['nbformat_minor'] = 4
with open(path, 'w') as f:
json.dump(data, f, indent=1)
Examples
Read the usage examples in the source repository.
View source ↗Source history
- Indexed on
- 2026-01-20
- Index updated
- 2026-01-26
- Branch
- main
Index and sync dates describe this directory. View the source repository for code history.
GitHub ↗chat Comments (0)
Sign in to join the discussion and leave a comment.
No comments yet. Be the first to share your thoughts!