This skill should be used when the user asks to "debug notebook", "inspect notebook outputs", "find notebook error", "read traceback from ipynb", "why did notebook fail", or needs to understand runtime errors in executed Jupyter notebooks from any source (marimo, jupytext, papermill).
View on GitHubFebruary 4, 2026
Select agents to install to:
npx add-skill https://github.com/edwinhu/workflows/blob/main/skills/notebook-debug/SKILL.md -a claude-code --skill notebook-debugInstallation paths:
.claude/skills/notebook-debug/## Contents - [Verification Enforcement](#verification-enforcement) - [Why Execute to ipynb?](#why-execute-to-ipynb) - [Execution Commands](#execution-commands) - [Inspection Methods](#inspection-methods) - [Quick Failure Check](#quick-failure-check) - [Read Tool for Debugging](#read-tool-for-debugging) - [Common Patterns](#common-patterns) - [Debugging Workflow](#debugging-workflow) # Debugging Executed Notebooks This skill covers inspecting executed `.ipynb` files to debug runtime errors, regardless of how the notebook was created (marimo, jupytext, or plain Jupyter). ## Verification Enforcement ### IRON LAW: NO 'NOTEBOOK WORKS' CLAIM WITHOUT TRACEBACK CHECK Before claiming ANY notebook executed successfully, you MUST: 1. **EXECUTE** the notebook to ipynb with outputs 2. **CHECK** for tracebacks (Quick Failure Check section) 3. **READ** the ipynb file with Read tool if errors found 4. **VERIFY** all cells have execution_count (not null) 5. **INSPECT** outputs for warnings/unexpected behavior 6. **CLAIM** success only after all verification passes This is not negotiable. Claiming "notebook works" without checking for tracebacks is LYING to the user. ### Rationalization Table - STOP If You Think: | Excuse | Reality | Do Instead | |--------|---------|------------| | "The command succeeded, so notebook works" | Exit code 0 ≠ no errors | CHECK for tracebacks in outputs | | "I'll just run the source file directly" | You'll miss cell-level errors | EXECUTE to ipynb first, then inspect | | "User will see errors when they run it" | You're wasting their time | VERIFY before claiming completion | | "I can see the code, so I know it works" | Code that looks right can still fail | EXECUTE and READ outputs | | "Quick check with grep is enough" | Grep misses stderr and cell outputs | Use BOTH quick check AND Read tool | | "Only the last cell matters" | Middle cells can fail silently | VERIFY all cells executed (execution_count) | | "I'll fix errors if user reports them"