notebook.fix_packages

notebook.fix_packages is a skill for Claude Code from gpsaggese/helpers. It costs 16 tokens per session (922 once invoked), scanned A, original, Apache-2.0.

A workflow for keeping a project's Docker setup aligned with a shared template and installing the Python packages required by its Jupyter notebooks. Docker packages an application and its dependencies into a repeatable container environment.

In plain words
What is it for?
It helps compare Docker and dependency files with a project template, discover packages used by notebooks and utility files, and install them in the intended place.
Why use it?
Projects can drift from their common template, and notebook imports may depend on packages that are not obvious from the notebook alone. This workflow finds those requirements and keeps the container setup consistent.

Skill for Claude Code

Written for Claude Code: installed under .claude/. Also seen: model in frontmatter; reads .claude/ paths.

Good fit It helps compare Docker and dependency files with a project template, discover packages used by notebooks and utility files, and install them in the intended place.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/gpsaggese/helpers/notebook.fix_packages
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add gpsaggese/helpers --skill notebook.fix_packages
Clone the repo
git clone --depth 1 https://github.com/gpsaggese/helpers

Made for: Claude Code.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for notebook.fix_packages

README.md
[![agentmods](https://agentmods.dev/badge/skills/gpsaggese/helpers/notebook.fix_packages/github.svg)](https://agentmods.dev/skills/gpsaggese/helpers/notebook.fix_packages)
Your own site
<a href="https://agentmods.dev/skills/gpsaggese/helpers/notebook.fix_packages"><img src="https://agentmods.dev/badge/skills/gpsaggese/helpers/notebook.fix_packages/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for notebook.fix_packages

Your own site · 80×15
<a href="https://agentmods.dev/skills/gpsaggese/helpers/notebook.fix_packages"><img src="https://agentmods.dev/badge/skills/gpsaggese/helpers/notebook.fix_packages.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 16 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 922 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00016 $0.00922
Opus 5.5 $0.00006 $0.00369
Sonnet 5.5 $0.00003 $0.00184
Haiku 4.5 $0.00002 $0.00092

Measured yesterday against content hash 7f55dac079e2, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

notebook.fix_packages scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured yesterday.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

.claude/skills/notebook.fix_packages/SKILL.md · 102 lines

How it starts

The opening of the file, as written. The whole thing — 102 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Goal

  • When creating Docker images for projects and tutorials, we want to
    • Always use the same Docker template image from class_project to avoid replicating Docker containers
    • Install the needed packages in the notebooks to customize the container

Inputs

  • The user passes:
    • A target dir <TARGET_DIR> (e.g., msml610/tutorials/L03_knowledge_representation) cloned from class_project/project_template
    • (Optional) pointers to Jupyter notebooks

Workflow

Use the Docker Container From the Project Teamplate

  • In the project dir (e.g., msml610/tutorials/L03_knowledge_representation), use the same Dockerfile and requirements.txt as the matching files in class_project/project_template, so the project container matches the class project template
  • If the image needs something that pip cannot install, add it to Dockerfile with a clear comment on why it is needed

Discover All Packages Needed by the Notebook

  • A notebook's own import lines are not the full picture. Each notebook pairs with a *_utils.py file (e.g., L03_06_logic_solvers.ipynb -> L03_06_logic_solvers_utils.py), imported with a line like:

    import L03_06_logic_solvers_utils as utils
    
  • Read the *_utils.py file and any local module it imports (transitively). Collect every third-party import / from ... import statement, not just those in the notebook

  • Map import names to pip names where they differ (e.g., cv2 -> opencv-python, sklearn -> scikit-learn, PIL -> Pillow, yaml -> PyYAML)

  • Diff this full list against requirements.txt and Dockerfile. A package used by the notebook or its utils that is missing from both is a bug, even if it is already installed in the container used to author the notebook

  • Add every missing package to requirements.txt, and to Dockerfile only if it cannot be installed with pip (per ## Use the Docker Container from the Project Teamplate above)

Add Packages to Notebooks

Read the full file on GitHub · 102 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. yesterday First seen · 102 lines · 16 tokens per session scan A 7f55dac079e2

Subscribe to this mod's changes

notebook.fix_packages is a skill published in the GitHub repository gpsaggese/helpers (158 stars, last pushed today), licensed Apache-2.0. It adds 16 tokens to every session and 922 once invoked, about $0.0001 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-11-06.

Related

notebook.fix_packages compared with skills from other repositories

notebook.fix_packages next to 6 skills from other repositories
ModTypeStarsLast pushLicenceScanTokensWorks with
notebook.fix_packagesgpsaggese/helpersSkill158todayApache-2.0A16Claude Code
azure-containerregistry-pybenjaminasterA/antigravity-awesome-skillsSkill465yesterdayMITA0Claude Code, Codex
airflowTerminalSkills/skillsSkill194todayApache-2.0A77Claude Code, Codex
python-install-skilljiushiwon/wg-skillsSkill136todayApache-2.0A49Claude Code, Codex
docker_packagingfdueblab/Micro-AgentSkill1001mo agoMITA0Claude Code, Codex
new-servicevoro6yov/spec-driven-developmentSkill51mo agoApache-2.0A109Claude Code
python-containerslaurigates/claude-pluginsSkill59todayMITC50Claude Code