Check Notebook Execution Freshness

SkillMedia

Checks whether registered notebooks have current, stale, or missing outputs. Use before rendering or to verify freshness.

Instructions available. Your AI can read the instructions. Execution depends on the setup they require.

Add ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.

Then ask your AI: use the Check Notebook Execution Freshness skill

What this skill tells your AI

The instructions your AI receives, as published by brycewang-stanford/auto-empirical-research-skills in skills/29-quarcs-lab-project20XXy/dot-claude/skills/freeze-check/SKILL.md and read by ahel’s review.

Verify that all registered notebooks have been executed and their outputs are current.

Steps

  1. Read _quarto.yml and extract all notebook paths from manuscript.notebooks.

  2. For each registered notebook, check:

    • Has outputs: Open the .ipynb JSON and check if any code cells have non-empty outputs arrays
    • Last modified: File modification timestamp of the .ipynb
    • Outputs age: Check execution metadata timestamps in cell metadata (if present) to determine when outputs were last generated
    • Freeze cache: Check if _freeze/notebooks/<name>/ directory exists and contains cached output
  3. Determine freshness status for each notebook:

    • Current: has outputs and the .ipynb has not been modified since outputs were generated
    • Stale: has outputs but the .ipynb source cells have been modified more recently than the outputs
    • Unexecuted: no outputs in any code cell
    • Freeze only: no cell outputs but a _freeze/ cache exists (Quarto will use the cache)
  4. Report a summary table:

    Notebook              Has Outputs   Last Modified        Status
    ─────────────────────────────────────────────────────────────────
    notebook-01.ipynb     Yes           2026-02-28 14:30     Current
    notebook-02.ipynb     Yes           2026-03-01 09:15     Stale
    notebook-03.ipynb     No            2026-02-25 11:00     Unexecuted
    
  5. If any notebooks are stale or unexecuted, flag them and offer to run /project:execute to re-execute all notebooks.

  6. If all notebooks are current, report "All notebooks are up to date."

Error handling

  • If _quarto.yml has no notebooks registered, report "No notebooks found in _quarto.yml" and stop.
  • If a registered notebook file does not exist on disk, flag it as missing.

Signals

GitHub stars
4k
Forks
531
Last commit
Sep 2026
Advanced
Item type
skill
Key
freeze-check
Source
github.com/brycewang-stanford/auto-empirical-research-skills