jupyter-notebook
Create, scaffold, or refactor Jupyter notebooks (.ipynb) for experiments and tutorials. Prefer
Works with
Agent Skills format with YAML frontmatter. Claude Code reads it as-is.
--- name: "jupyter-notebook" description: "Create, scaffold, or refactor Jupyter notebooks (.ipynb) for experiments and tutorials. Prefer" license: "Apache-2.0" --- # Jupyter Notebook Create clean, reproducible Jupyter notebooks for two primary modes: - **Experiments** — exploratory analysis, ablations, hypothesis testing. - **Tutorials** — instructional walkthroughs, teaching-oriented notebooks. Prefer the bundled templates and the helper script for consistent structure and fewer JSON mistakes. ## When to use - Create a new `.ipynb` notebook from scratch. - Convert rough notes or scripts into a structured notebook. - Refactor an existing notebook to be more reproducible and skimmable. - Build experiments or tutorials that will be read or re-run by other people. ## Decision tree - Exploratory / analytical / hypothesis-driven → `experiment`. - Instructional / step-by-step / audience-specific → `tutorial`. - Editing an existing notebook → treat as a refactor: preserve intent and improve structure. ## Prerequisites - `python3` (provided by `bootstrap`). - Optional: `uv` for local notebook execution and dependency isolation (also from `bootstrap`). `skills check jupyter-notebook` validates `python3` is present. ## Helper script The bundled scaffolder (`scripts/new_notebook.py`, stdlib only) loads a template, updates the title cell, and writes a notebook to `--out`. Two ways to invoke it: ### Option A — `newnotebook` wrapper (recommended) `bootstrap` installs a tiny wrapper at `~/.local/bin/newnotebook` so the script is available without remembering its full path: ```bash newnotebook --kind experiment \ --title "Compare prompt variants" \ --out output/jupyter-notebook/compare-prompt-variants.ipynb newnotebook --kind tutorial \ --title "Intro to embeddings" \ --out output/jupyter-notebook/intro-to-embeddings.ipynb ``` ### Option B — call the script directly ```bash python3 ~/.local/share/agent-toolkit/skills/jupyter-notebook/scripts/new_notebook.py \ --kind experiment \ --title "Compare prompt variants" \ --out output/jupyter-notebook/compare-prompt-variants.ipynb ``` If you prefer `uv` for a pinned interpreter: ```bash uv run --python 3.12 python ~/.local/share/agent-toolkit/skills/jupyter-notebook/scripts/new_notebook.py \ --kind tutorial \ --title "Intro to embeddings" ``` The script uses **only the Python standard library** — no extra deps required. ## Workflow 1. **Lock the intent.** Pick `experiment` or `tutorial`. Capture the objective, audience, and what "done" looks like. 2. **Scaffold from the template** (use `newnotebook` or option B above). 3. **Fill the notebook with small, runnable steps.** Keep each code cell focused on one step. Add short markdown cells that explain purpose and expected result. Avoid large, noisy outputs when a short summary works. 4. **Apply the right pattern.** For experiments, follow [`references/experiment-patterns.md`](references/experiment-patterns.md). For tutorials, [`references/tutorial-patterns.md`](references/tutorial-patterns.md). 5. **Edit safely when working with existing notebooks.** Preserve structure; avoid reordering cells unless it improves the top-to-bottom story. Prefer targeted edits over full rewrites. If you must edit raw JSON, review [`references/notebook-structure.md`](references/notebook-structure.md) first. 6. **Validate the result.** Run the notebook top-to-bottom when the environment allows. If execution is not possible, say so explicitly and call out how to validate locally. Use the final pass checklist in [`references/quality-checklist.md`](references/quality-checklist.md). ## Templates and helper script - Templates live in `assets/experiment-template.ipynb` and `assets/tutorial-template.ipynb` (chezmoi-managed, read-only — do not edit in place; copy and modify). - The helper script loads a template, updates the title cell, and writes a notebook. ## Temp and output conventions - Use `tmp/jupyter-notebook/` for intermediate files; delete when done. - Write final artifacts under `output/jupyter-notebook/` when working in a repository. - Use stable, descriptive filenames (e.g. `ablation-temperature.ipynb`). ## Dependencies (install only when needed) Prefer `uv` for dependency management. Optional Python packages for local notebook execution: ```bash uv pip install jupyterlab ipykernel ``` The bundled scaffold script needs no extra dependencies. ## Boundaries - This skill **scaffolds and refactors** notebooks. It does not run them — for execution, use Jupyter / VS Code / the user's preferred runtime. - Do not commit notebook outputs that contain secrets or large binary blobs; clear outputs before staging when in doubt. ## Reference map - [`references/experiment-patterns.md`](references/experiment-patterns.md) — experiment structure and heuristics. - [`references/tutorial-patterns.md`](references/tutorial-patterns.md) — tutorial structure and teaching flow. - [`references/notebook-structure.md`](references/notebook-structure.md) — notebook JSON shape and safe editing rules. - [`references/quality-checklist.md`](references/quality-checklist.md) — final validation checklist.
More Refactoring skills
vercel-react-best-practices
vercel-labs/agent-skills
React and Next.js performance optimization guidelines from Vercel Engineering. This skill should be used when writing, reviewing, or refactoring React/Next.js code to ensure optimal performance patterns. Triggers on tasks involving React components, Next.js pages, data fetching, bundle optimization, or performance improvements.
analyze-project
lllllllama/rigorpilot-skills
Rigor Analyze / Rigor Audit read-only skill for deep learning research repositories. Use when the user wants to read and understand a repository, inspect model structure and training or inference entrypoints, review configs and insertion points, or flag suspicious implementation patterns without modifying code or running heavy jobs. Do not use for active command execution, broad refactoring, speculative code adaptation, or automatic bug fixing.
request-refactor-plan
mattpocock/skills
Create a detailed refactor plan with tiny commits via user interview, then file it as a GitHub issue. Use when user wants to plan a refactor, create a refactoring RFC, or break a refactor into safe incremental steps.

