git clone https://github.com/ComeOnOliver/skillshub
T=$(mktemp -d) && git clone --depth=1 https://github.com/ComeOnOliver/skillshub "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/TerminalSkills/skills/jupyter" ~/.claude/skills/comeonoliver-skillshub-jupyter && rm -rf "$T"
skills/TerminalSkills/skills/jupyter/SKILL.mdJupyter
Overview
Jupyter is an interactive computing platform that combines code execution, rich output (tables, plots, widgets), and narrative text in notebook documents. It supports multiple kernels (Python, R, Julia), integrates with matplotlib, plotly, and ipywidgets for visualization, and enables reproducible research through nbconvert for report generation and papermill for parameterized batch execution.
Instructions
- When building notebooks, organize cells with a clear flow: imports, data loading, exploration, analysis, and conclusions, using Markdown cells for narrative context between code cells.
- When sharing notebooks, restart the kernel and "Run All" to ensure cells execute in order, then use
to generate HTML, PDF, or slides withnbconvert
for non-technical audiences.--no-input - When managing environments, install kernels from virtual environments with
and pin dependencies withpython -m ipykernel install --user --name=myenv
in the first cell.%pip install package==1.2.3 - When developing iteratively, use
to auto-reload imported modules on change, and extract proven code into%autoreload 2
modules for reuse..py - When version controlling, use
to pairjupytext
with.ipynb
files that diff cleanly, or use.py
to strip output before Git commits.nbstripout - When running in production, use
to parameterize and execute notebooks programmatically for batch report generation.papermill
Examples
Example 1: Build an exploratory data analysis notebook
User request: "Create a Jupyter notebook for EDA on a customer dataset"
Actions:
- Set up the notebook with imports,
, and data loading from CSV/Parquet%matplotlib inline - Add summary statistics cells with
,df.describe()
, and missing value analysisdf.info() - Create visualization cells with distribution plots, correlation heatmaps, and time series charts
- Add Markdown cells with findings and conclusions between analysis sections
Output: A well-structured EDA notebook with statistics, visualizations, and narrative ready for sharing.
Example 2: Automate weekly reports with papermill
User request: "Generate weekly sales reports from the same notebook with different date parameters"
Actions:
- Create a template notebook with tagged parameter cells for date range
- Use
to execute the notebook with different parameters per weekpapermill - Convert output notebooks to HTML with
for executive-friendly reportsnbconvert --no-input - Schedule execution via cron or CI pipeline
Output: Automated weekly HTML reports generated from a parameterized notebook template.
Guidelines
- Restart kernel and "Run All" before sharing to ensure cells execute reliably in order.
- Use
during development to reload imported modules without restarting the kernel.%autoreload 2 - Use
for Git sincejupytext
files diff cleanly while.py
outputs pollute version control..ipynb - Pin environment dependencies in the first cell for reproducibility.
- Use
for batch execution with parameters instead of manual re-runs.papermill - Split exploration from production: explore in notebooks, extract proven code to Python modules.
- Keep notebooks under 200 cells; split large analyses into multiple focused notebooks.