data

Automate headless execution and editing of Jupyter notebooks using uv and nbformat v4/jtool.

Updated Aug 23, 2026
One-click install
npx skills add https://github.com/gakonst/dotfiles --skill data
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: data
Source: https://github.com/gakonst/dotfiles/tree/main/.codex/skills/data
Command: npx skills add https://github.com/gakonst/dotfiles --skill data

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill standardizes notebook workflows, enabling headless execution, editing, and dependency management with uv. It avoids using pip/venv and keeps CI parity with ruff, mypy, and pytest.

Core Features & Use Cases

  • Notebook execution: run cells headlessly (with optional jtool if a server exists).
  • Headless execution via uv: execute notebooks without a server when needed.
  • Editing notebooks programmatically: patch or generate notebooks via JSON (nbformat).

Quick Start

uv run --with pandas --with matplotlib --with notebook python -m jupyter nbconvert --to notebook --execute your.ipynb --output your.ipynb --ExecutePreprocessor.timeout=180

Frequently Asked Questions about data

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I run Jupyter notebooks without a browser or GUI?

Headless notebook execution runs cells programmatically without a visible interface. This Skill automates that process using uv for dependency isolation and nbconvert for execution, letting you execute notebooks in CI/CD pipelines or batch jobs without a Jupyter server or display.

Can I execute notebooks with uv instead of pip or venv?

Yes. This Skill uses uv to manage dependencies and execute notebooks headlessly, avoiding traditional pip/venv workflows. It keeps your notebook environment isolated and maintains parity with standard Python tooling like ruff and pytest.

How do I edit Jupyter notebooks programmatically?

Edit notebooks by working directly with nbformat v4 JSON structure. This Skill lets you patch cells, generate notebooks, or modify metadata without opening the notebook UI, enabling automation of notebook generation and transformation.

Do I need a running Jupyter server to execute notebooks with this Skill?

No. While this Skill can use jtool to manage a local Jupyter server if available, it also supports pure headless execution via uv and nbconvert, so you can run notebooks without a server.

What's the best way to automate notebook workflows in CI pipelines?

Use this Skill to standardize notebook execution in CI with uv for dependency isolation and nbconvert for headless running. It integrates with existing CI tooling and avoids environment drift by keeping workflows consistent with ruff, mypy, and pytest.

Can I set execution timeouts or control how long notebooks run?

Yes. This Skill passes configuration to nbconvert's ExecutePreprocessor, including timeout settings. You can specify execution duration limits to prevent long-running cells from blocking your pipeline.