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.
npx skills add opendatahub-io/ai-helpers --skill python-packaging-license-findergit clone --depth 1 https://github.com/opendatahub-io/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/opendatahub-io/ai-helpers/python-packaging-license-finder)<a href="https://agentmods.dev/skills/opendatahub-io/ai-helpers/python-packaging-license-finder"><img src="https://agentmods.dev/badge/skills/opendatahub-io/ai-helpers/python-packaging-license-finder/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/opendatahub-io/ai-helpers/python-packaging-license-finder"><img src="https://agentmods.dev/badge/skills/opendatahub-io/ai-helpers/python-packaging-license-finder.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
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.00038 | $0.00790 |
| Opus 5 | $0.00019 | $0.00395 |
| Sonnet 5 | $0.00008 | $0.00158 |
| Haiku 4.5 | $0.00004 | $0.00079 |
Grade A, and why
python-packaging-license-finder 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 6d 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 — 105 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Python Package License Finder
This skill helps you deterministically find license information for Python packages using a two-step approach: first checking PyPI metadata, then searching the source repository if needed.
Instructions
When a user asks to find the license for a Python package, follow this deterministic process:
Step 0: Source URL Priority
If a source repository URL is provided by the caller, skip PyPI lookup entirely:
- Pass the URL directly to the
git:shallow-cloneskill - Search for LICENSE files in the cloned repository (see Step 2.3-2.4 below)
- Report the license found
You can also use the script with a source URL to trigger this flow:
./scripts/find_license.py <package_name> --source-url <url>
If no source URL is provided, proceed with Step 1.
Step 1: Check PyPI Metadata
First, attempt to find the license from PyPI using the package inspection script:
./scripts/find_license.py <package_name> [version]
If the script finds a license in the PyPI metadata, stop here and return the license name.
Step 2: Search Git Repository (if PyPI fails)
If no license is found in PyPI metadata, search the package's source repository:
- Get the source repository URL from the PyPI metadata (the script will provide it)
- Use the shallow-clone skill to clone the repository:
Skill: git:shallow-clone - Search for LICENSE files in the cloned repository:
find . -iname "license*" -o -iname "copying*" -o -iname "copyright*" | head -10 - Read the license file to identify the license type:
head -20 <license_file>
Step 3: Report Results
- License Found: Return the license name (e.g., "MIT License", "Apache-2.0", "GPL-3.0")
- License Not Found: Report that the license could not be determined
Usage Examples
Find License for Popular Package
./scripts/find_license.py requests
Expected: Find "Apache-2.0" from PyPI metadata
What ships with it
1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
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.
- 6d ago First seen · 105 lines · 38 tokens per session scan A c23d900f9ab9
python-packaging-license-finder is a skill published in the GitHub repository opendatahub-io/ai-helpers (37 stars, last pushed 2d ago), licensed Apache-2.0. It adds 38 tokens to every session and 790 once invoked, about $0.0002 per session on Opus 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-03.
Other skills, from other repositories
temporal-python-testing
Test Temporal workflows with pytest, time-skipping, and mocking strategies. Covers unit testing, integration testing, replay testing, and local development setup. Use when implementing Temporal workflow tests or debugging test failures.
fastapi-templates
Create production-ready FastAPI projects with async patterns, dependency injection, and comprehensive error handling. Use when building new FastAPI applications or setting up backend API projects.
manimgl-best-practices
Trigger when: (1) User mentions "manimgl" or "ManimGL" or "3b1b manim", (2) Code contains from manimlib import , (3) User runs manimgl CLI commands, (4) Working with InteractiveScene, self.frame, self.embed(), ShowCreation(), or ManimGL-specific patterns. Best practices for ManimGL (Grant Sanderson's 3Blue1Brown…
ampl-installer
Expert in installing amplpy, AMPL modules (solvers), and license activation. Explains Community Edition, academic, trial, and commercial AMPL licenses. Use when setting up a new environment, pip/modules errors, license UUID, portal signup, Colab/Docker install, or which license fits your situation.
ampl-python
Expert in amplpy and Python integration with AMPL. Use when writing or refactoring amplpy scripts, notebooks, FastAPI services, data pipelines (pandas/polars), solver configuration via Python, result extraction, or Colab/MO-Book Python workflows. Knows amplpy.ampl.com and dev.ampl.com amplpy best practices.
python-patterns
Pythonic idioms, PEP 8 standards, type hints, and best practices for building robust, efficient, and maintainable Python applications.