notebook-metadata

star 538

Ensures Jupyter notebooks have required metadata and nbformat. Use when adding, creating, or modifying .ipynb files, or when the user asks about notebook structure or validation.

albumentations-team By albumentations-team schedule Updated 2/16/2026

name: notebook-metadata description: Ensures Jupyter notebooks have required metadata and nbformat. Use when adding, creating, or modifying .ipynb files, or when the user asks about notebook structure or validation.

Notebook Metadata and nbformat

When to Apply

  • Adding or creating new Jupyter notebooks
  • Modifying notebook structure
  • User asks about notebook validation or metadata

Required Structure

Every .ipynb file must have these top-level keys:

Key Type Notes
metadata object Can be empty {} but must exist
nbformat int Must be 4 or 5
nbformat_minor int Minor version
cells list Array of cell objects

Minimal Valid Notebook

{
  "cells": [],
  "metadata": {},
  "nbformat": 4,
  "nbformat_minor": 4
}

Validation

Run the project script:

python scripts/check_notebook_metadata.py [path]

Omit path to check current directory recursively. Pre-commit runs this automatically on staged .ipynb files.

Fixing Invalid Notebooks

If a notebook is missing fields, add them at the root level:

import json
with open("notebook.ipynb") as f:
    nb = json.load(f)
nb.setdefault("metadata", {})
nb.setdefault("nbformat", 4)
nb.setdefault("nbformat_minor", 4)
nb.setdefault("cells", [])
with open("notebook.ipynb", "w") as f:
    json.dump(nb, f, indent=1)
Install via CLI
npx skills add https://github.com/albumentations-team/albumentations_examples --skill notebook-metadata
Repository Details
star Stars 538
call_split Forks 102
navigation Branch main
article Path SKILL.md
More from Creator
albumentations-team
albumentations-team Explore all skills →