jupyter-notebooks
Comprehensive Jupyter notebook operations - create, execute, and analyze notebooks with full cell manipulation
When & Why to Use This Skill
This Claude skill provides comprehensive Jupyter notebook integration, enabling users to create, execute, and manage .ipynb files for data science and research. It supports full cell manipulation, execution state tracking, and seamless integration with the Python data science stack (NumPy, Pandas, PyTorch) to facilitate interactive computing, real-time data visualization, and reproducible analysis.
Use Cases
- End-to-end Data Science Pipelines: Automate the creation and execution of notebooks for data exploration, cleaning, and complex statistical analysis.
- Machine Learning Experimentation: Develop, train, and evaluate ML models with step-by-step cell execution, state tracking, and CUDA-accelerated computing.
- Interactive Research & Documentation: Combine executable code, narrative markdown, and rich visualizations (Matplotlib/Seaborn) to create reproducible research papers.
- Educational Content Development: Build structured coding tutorials and interactive exercises with integrated markdown explanations and code cells.
- Automated Technical Reporting: Programmatically generate and export computational results into professional formats like HTML, PDF, or Markdown for stakeholders.
| name | Jupyter Notebooks |
|---|---|
| description | Comprehensive Jupyter notebook operations - create, execute, and analyze notebooks with full cell manipulation |
Jupyter Notebooks Skill
This skill provides complete Jupyter notebook interaction capabilities through MCP server integration, enabling notebook-based data science and research workflows.
Capabilities
- Create and manage Jupyter notebooks (.ipynb files)
- Execute cells and entire notebooks
- Read and write cell content (code and markdown)
- Access cell outputs and execution results
- Manipulate notebook structure (add, delete, move cells)
- Cell-level operations with execution state tracking
- Support for JupyterLab and Jupyter Notebook interfaces
- Integration with Python data science stack (NumPy, Pandas, PyTorch, etc.)
When to Use This Skill
Use this skill when you need to:
- Create interactive computational notebooks
- Run data analysis workflows
- Execute machine learning experiments
- Generate reproducible research documents
- Visualize data with matplotlib/seaborn
- Prototype code interactively
- Create tutorial or educational notebooks
- Document analysis procedures with code + narrative
Prerequisites
- Jupyter notebooks installed (
jupyterandjupyterlabavailable in /opt/venv) - MCP server running on stdio
- Python virtual environment at /opt/venv with data science packages
Available Operations
Notebook Management
create_notebook- Create new notebook with optional cellslist_notebooks- List all notebooks in directoryget_notebook_info- Get metadata and structure infodelete_notebook- Remove notebook file
Cell Operations
add_cell- Add code or markdown cell at positiondelete_cell- Remove cell by indexmove_cell- Reorder cellsget_cell- Read cell content and metadataupdate_cell- Modify cell content
Execution
execute_cell- Run specific cell and capture outputexecute_notebook- Run entire notebook sequentiallyclear_outputs- Clear all cell outputsrestart_kernel- Restart notebook kernel
Content Access
get_all_cells- Read all cells in notebookget_output- Access cell execution resultsexport_notebook- Convert to HTML, PDF, or Python script
Instructions
Creating a New Notebook
To create a notebook for data analysis:
- Use
create_notebookwith file path - Optionally provide initial cells (imports, setup)
- Notebook created with nbformat 4.x schema
Example cells structure:
[
{
"cell_type": "code",
"source": "import numpy as np\nimport pandas as pd\nimport matplotlib.pyplot as plt"
},
{
"cell_type": "markdown",
"source": "# Data Analysis\n\nThis notebook analyzes..."
}
]
Executing Notebooks
For data processing pipelines:
- Use
execute_notebookfor full run - Or
execute_cellfor incremental execution - Outputs captured with display data, errors, and execution counts
PyTorch/ML Workflow
Typical machine learning notebook structure:
- Setup cell: Import torch, torchvision, datasets
- Data cell: Load and preprocess data
- Model cell: Define neural network architecture
- Training cell: Training loop with loss tracking
- Evaluation cell: Test metrics and visualizations
- Export cell: Save model weights
Integration with CUDA
For GPU-accelerated computing:
import torch
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
model = MyModel().to(device)
The skill automatically detects CUDA availability and uses GPU when present.
Environment Variables
JUPYTER_CONFIG_DIR- Jupyter configuration directoryJUPYTER_DATA_DIR- Data files locationJUPYTER_RUNTIME_DIR- Runtime files (kernels, etc.)
Output Formats
Notebooks can be exported to:
- HTML - Static web page with outputs
- PDF - Via LaTeX (requires texlive installation)
- Python - Pure Python script (.py file)
- Markdown - Documentation format
- Slides - Reveal.js presentation
Best Practices
- Cell Organization: Keep cells focused on single tasks
- Markdown Documentation: Use markdown cells for explanations
- Restart & Run All: Test full execution before sharing
- Version Control: Use nbdime for notebook diffs
- Clear Outputs: Clear sensitive data before committing
- Kernel Management: Restart kernel when imports change
Example Workflows
Data Science Pipeline
- Create notebook with data exploration cells
- Execute EDA (exploratory data analysis)
- Add visualization cells
- Run statistical analysis
- Export results to HTML report
Machine Learning Experiment
- Set up experiment notebook
- Load training data
- Define model architecture
- Train with progress tracking
- Evaluate on test set
- Save model and metrics
Research Documentation
- Create markdown cells for methodology
- Add code cells for implementations
- Include result visualizations
- Export to PDF for publication
Error Handling
The skill provides detailed error messages for:
- Kernel execution failures
- Cell syntax errors
- Missing dependencies
- File I/O errors
- nbformat validation issues
Performance Considerations
- Notebooks execute in isolated kernels
- CUDA operations utilize GPU when available
- Large datasets may require memory management
- Long-running cells can be interrupted
- Output size limits may apply
Related Skills
- pytorch-ml - Deep learning workflows
- latex-documents - Scientific paper generation
- data-visualization - Advanced plotting
- cuda-development - GPU programming
Technical Details
- Protocol: Model Context Protocol (MCP) over stdio
- Server: Node.js-based MCP server
- Format: nbformat 4.x JSON schema
- Kernel: IPython kernel with Python 3.x
- Extensions: JupyterLab extensions supported
Troubleshooting
Kernel Not Starting
- Check
/opt/venv/bin/pythonexists - Verify ipykernel installed
- Check kernel specifications:
jupyter kernelspec list
Import Errors
- Activate virtual environment:
source /opt/venv/bin/activate - Install missing packages:
pip install <package> - Verify CUDA installation for GPU packages
Cell Execution Hangs
- Interrupt kernel execution
- Restart kernel
- Check for infinite loops or blocking operations
Configuration
MCP server configuration in ~/.claude/settings.json:
{
"mcpServers": {
"jupyter-notebooks": {
"command": "node",
"args": ["/home/devuser/.claude/skills/jupyter-notebooks/server.js"],
"cwd": "/home/devuser/.claude/skills/jupyter-notebooks"
}
}
}
Notes
- Compatible with Claude Code and other MCP clients
- Supports both JupyterLab and classic Notebook interfaces
- Full compatibility with existing .ipynb files
- Execution state preserved across sessions
- Output includes rich media (images, HTML, LaTeX)