Borrowing it
Nothing to install: this file belongs to causify-ai/helpers. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/causify-ai/helpers/master/.claude/skills/notebook.fix_packages/SKILL.mdgit clone --depth 1 https://github.com/causify-ai/helpersWrote 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.
[](https://agentmods.dev/skills/causify-ai/helpers/notebook.fix_packages)<a href="https://agentmods.dev/skills/causify-ai/helpers/notebook.fix_packages"><img src="https://agentmods.dev/badge/skills/causify-ai/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.
<a href="https://agentmods.dev/skills/causify-ai/helpers/notebook.fix_packages"><img src="https://agentmods.dev/badge/skills/causify-ai/helpers/notebook.fix_packages.svg" alt="Reviewed on agentmods" width="80" height="20"></a>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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00016 | $0.00991 |
| Opus 5.5 | $0.00006 | $0.00396 |
| Sonnet 5.5 | $0.00003 | $0.00198 |
| Haiku 4.5 | $0.00002 | $0.00099 |
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 1mo ago.
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.
How it starts
The opening of the file, as written. The whole thing — 104 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
- Try to use always the same Docker template image from the
class_projectto avoid replication of Docker containers - Install the needed packages in the notebooks to customize the container
- Try to use always the same Docker template image from the
Inputs
- The user passes:
- A pointer to a target directory
<TARGET_DIR>(e.g.,msml610/tutorials/L03_knowledge_representation) that was cloned fromclass_project/project_template - (Optional) pointers to Jupyter notebooks
- A pointer to a target directory
Workflow
Use the Docker Container From the Project Teamplate
- In the directory with the project (e.g.,
msml610/tutorials/L03_knowledge_representation) we want to use the sameDockerfileandrequirements.txtas the corresponding files inclass_project/project_template(so that the Docker container for the project is the same as the template used for class project) - If something needs to be added to the Docker image (e.g., a package that can't be
installed with
pip) then it's ok to add it toDockerfilebut it should be clearly commented why that package is needed
Discover All Packages Needed by the Notebook
-
A notebook's own
importlines are not the full picture: each notebook is paired with a*_utils.pyfile (e.g.,L03_06_logic_solvers.ipynb->L03_06_logic_solvers_utils.py), and that file is imported with a line like:import L03_06_logic_solvers_utils as utils -
Read the
*_utils.pyfile (and any other local module it imports, transitively) and collect every third-partyimport/from ... importstatement in it, not just the ones in the notebook itself -
Map import names to their pip package name where they differ (e.g.,
cv2->opencv-python,sklearn->scikit-learn,PIL->Pillow,yaml->PyYAML) -
Diff this full package list against
requirements.txtandDockerfile: any package used by the notebook or its utils file that is missing from both is a bug, even if it happens to already be installed in whatever container was used to author the notebook -
Add every missing package to
requirements.txt(and toDockerfileonly if it can't be installed withpip, per## Use the Docker Container from the Project Teamplateabove)
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.
- 1mo ago First seen · 104 lines · 16 tokens per session scan A 20ac3c51c41d
notebook.fix_packages is a skill published in the GitHub repository causify-ai/helpers (150 stars, last pushed today), licensed Apache-2.0. It adds 16 tokens to every session and 991 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-09-14.
Other skills, from other repositories
azure-containerregistry-py
Manage container images, artifacts, and repositories in Azure Container Registry.
airflow
Apache Airflow is a platform for programmatically authoring, scheduling, and monitoring workflows. Learn to write DAGs, use operators, set up connections, configure scheduling, and deploy with Docker Compose.
python-install-skill
An installation helper for Python 3, a programming language and runtime. It checks whether Python is already installed and supports package-manager or Docker-based installation on common operating systems.
docker_packaging
A set of rules and templates for packaging a Python MCP service in Docker. Docker packages an application and its dependencies into a repeatable container that can run on another machine.
new-service
Scaffolds a new spec-driven Python service: a uv src-layout repo with the keystone DI/settings/entrypoint shells, Docker + compose + Liquibase migrator, and the vendored spec-core runtime modules, rendered by a deterministic script. Invoke with: /project-scaffold:new-service [--package PKG] [--python 3.12] [--port…
python-containers
Python container optimization — slim images (not Alpine), virtualenv, multi-stage, pip/poetry/uv, musl gotchas (1GB to 120MB). Use when working with Python containers or optimizing image sizes.