Goal
SkillDev toolsSplit Jupyter notebook header cells so each cell has a single header and comment
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Goal skill
What this skill tells your AI
The instructions your AI receives, as published by causify-ai/helpers in .claude/skills/notebook.split_header_cells/SKILL.md and read by ahel’s review.
- Split each markdown cell in a Jupyter notebook so it contains at most one header
Workflow
Split Markdown Cells
- Make sure that each markdown cell in a Jupyter notebook contains at most one
header and some text, but not more than one header
- Bad (there are 3 headers in the same cell: one H1, one H2, one H3)
# %% [markdown] # Part 3: Composition Examples ## Example 1: Minimal End-to-End Workflow Rain -> Sprinkler -> Grass Wet ### Mental Model - Good (each header is in a different cell)
# %% [markdown] # Part 3: Composition Examples # %% [markdown] ## Example 1: Minimal End-to-End Workflow Rain -> Sprinkler -> Grass Wet # %% [markdown] ### Mental Model - Do not change the content of the markdown text besides splitting cells into multiple ones
- Bad (there are 3 headers in the same cell: one H1, one H2, one H3)
Remove Empty Lines
- Remove empty lines at the beginning or end of a markdown cell
- Bad (there are two headers in the same cell, one H1 and one H2)
# %% [markdown] # Part 3: Composition Examples - Good (each header is in a different cell)
# %% [markdown] # Part 3: Composition Examples
- Bad (there are two headers in the same cell, one H1 and one H2)
Sync with Jupytext
- At the end of the transformation, run
jupytext --syncto update the Python paired notebook, following the conventions in# Code Architecture and Responsibility->## Utilities vs. Notebook Responsibilitiesin.claude/skills/notebook.rules.md
Constraints
- Do not change or remove any Python code cell
- Do not change the content of the markdown text besides splitting cells
Verification
- Confirm no markdown cell contains more than one header
- Confirm every Python code cell is unchanged
- Confirm the
.ipynband paired.pyfile are in sync via Jupytext
Signals
- GitHub stars
- 145
- Forks
- 160
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
notebook-split-header-cells- Source
- github.com/causify-ai/helpers