python-packaging-git-audit

python-packaging-git-audit is a skill for Claude Code from opendatahub-io/ai-helpers. It costs 41 tokens per session (1,087 once invoked), scanned A, original, Apache-2.0.

A git-history audit for Python packages that reviews recent changes to files involved in building, installing, and running package code.

In plain words
What is it for?
Use it to inspect recent commits affecting packaging files, continuous-integration configuration, path files, and package initialization code.
Why use it?
It helps detect suspicious changes that could introduce software supply-chain risk.

Skill for Claude Code

Written for Claude Code: allowed-tools in frontmatter.

Part of the odh-python-packaging plugin — 11 skills shipped together

Good fit Use it to inspect recent commits affecting packaging files, continuous-integration configuration, path files, and package initialization code.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/opendatahub-io/ai-helpers/python-packaging-git-audit
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 opendatahub-io/ai-helpers --skill python-packaging-git-audit
Clone the repo
git clone --depth 1 https://github.com/opendatahub-io/ai-helpers

Made for: Claude Code.

Or install odh-python-packaging, the plugin that ships this one along with the rest of its 11 skills.

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 python-packaging-git-audit

README.md
[![agentmods](https://agentmods.dev/badge/skills/opendatahub-io/ai-helpers/python-packaging-git-audit/github.svg)](https://agentmods.dev/skills/opendatahub-io/ai-helpers/python-packaging-git-audit)
Your own site
<a href="https://agentmods.dev/skills/opendatahub-io/ai-helpers/python-packaging-git-audit"><img src="https://agentmods.dev/badge/skills/opendatahub-io/ai-helpers/python-packaging-git-audit/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 python-packaging-git-audit

Your own site · 80×15
<a href="https://agentmods.dev/skills/opendatahub-io/ai-helpers/python-packaging-git-audit"><img src="https://agentmods.dev/badge/skills/opendatahub-io/ai-helpers/python-packaging-git-audit.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 41 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,087 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 2 findings. A grade says what 26 rules found in the file — not that it is safe. Third-party audits
  • NVIDIA SkillSpector pass 7 Sept 2026
How audits are shown
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.00041 $0.01087
Opus 5.5 $0.00016 $0.00435
Sonnet 5.5 $0.00008 $0.00217
Haiku 4.5 $0.00004 $0.00109

Measured 1mo ago against content hash b1869a43ac2e, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

python-packaging-git-audit scanned grade A with 2 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.

Makes network callslowCapability

Not a fault in itself. Listed so you know the mod talks to something, and to what.

- **Network access**: `socket`, `urllib`, `requests.get`, `httpx`

Runs shell commandslowCapability

Expected in a hook, worth knowing in a rule or an instructions file.

- **Process spawning**: `subprocess`, `os.system`, `os.popen`
plugins/odh-python-packaging/skills/python-packaging-git-audit/SKILL.md · 116 lines

How it starts

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

Python Packaging Git Audit

Inspects the recent git history of a Python package repository for commits that modify supply-chain-sensitive files (setup.py, CI configs, .pth files, etc.) and contain suspicious patterns. Produces a self-contained "Git History Analysis" report section with triaged findings and a risk assessment.

Inputs

  • repo_path (required): Local filesystem path to a git repository
  • output_file (optional): Write the report section to this file path instead of returning it inline. The first line of the file must be RISK_RATING:<value> so the orchestrator can parse it without reading the full report.

Step 1: Enumerate Commits

Determine the number of commits available and scan up to the last 50:

git -C <repo-path> log -50 --format='%H'

Step 2: Filter Sensitive Files

From those commits, identify ones that modify supply-chain-sensitive files:

  • setup.py, setup.cfg, pyproject.toml, MANIFEST.in
  • .github/workflows/*.yml, .gitlab-ci.yml
  • Any .pth files
  • __init__.py files at package root
git -C <repo-path> log -50 --diff-filter=ACMR --name-only --format='COMMIT:%H|%aI|%ae' -- \
  setup.py setup.cfg pyproject.toml MANIFEST.in \
  '.github/workflows/*.yml' .gitlab-ci.yml \
  '*.pth' '*/__init__.py'

Step 3: Search for Suspicious Patterns

For each flagged commit, extract the diff and search for suspicious patterns:

  • Code execution: eval(, exec(, compile(
  • Process spawning: subprocess, os.system, os.popen
  • Encoding/serialization: base64, marshal, pickle
  • Network access: socket, urllib, requests.get, httpx
  • Native code: ctypes, cffi
  • Embedded URLs: http://, https://
git -C "<repo-path>" show --format= -m --first-parent "<commit>" -- "<file>" | \
  grep -nE 'eval\(|exec\(|compile\(|subprocess|os\.system|os\.popen|base64|marshal|pickle|socket|urllib|requests\.get|httpx|ctypes|cffi|https?://'

Collect per finding: commit hash, author, date, file modified, and matching patterns.

Read the full file on GitHub · 116 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. 1mo ago First seen · 116 lines · 41 tokens per session scan A b1869a43ac2e

Subscribe to this mod's changes

python-packaging-git-audit is a skill published in the GitHub repository opendatahub-io/ai-helpers (38 stars, last pushed 2d ago), licensed Apache-2.0. It adds 41 tokens to every session and 1,087 once invoked, about $0.0002 per session on Opus 5.5. A static security scan graded it A with 2 findings (makes network calls, runs shell commands). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-03.

Related

Other skills, from other repositories

git-advanced-workflows

Master advanced Git workflows including rebasing, cherry-picking, bisect, worktrees, and reflog to maintain clean history and recover from any situation. Use when managing complex Git histories, collaborating on feature branches, or troubleshooting repository issues.

wshobson/agents · 54 tokens

workflow-patterns

Use this skill when implementing tasks according to Conductor's TDD workflow, handling phase checkpoints, managing git commits for tasks, or understanding the verification protocol.

wshobson/agents · 35 tokens

block-no-verify-hook

Configure a PreToolUse hook to prevent AI agents from skipping git pre-commit hooks with --no-verify and other bypass flags. Use when setting up Claude Code projects that enforce commit quality gates.

wshobson/agents · 46 tokens

turborepo-caching

Configure Turborepo for efficient monorepo builds with local and remote caching. Use when setting up Turborepo, optimizing build pipelines, or implementing distributed caching.

wshobson/agents · 42 tokens

ainb-fleet:ainb-spawn

Spawn a coding-agent session correctly with ainb run: always into a git worktree, never bare into a plain checkout. Use whenever you are about to start a Claude/Codex/Gemini/Copilot session in a terminal. Guards the invocations that silently produce a (broken) workspace row, two agents sharing one working tree, a…

stevengonsalvez/agents-in-a-box · 107 tokens

Finishing a Development Branch

Clean branch finalization, squashing commits, and updating changelogs before merging.

ankur-gaurav161418/omniforge · 23 tokens