helpers/skills/python-packaging-license-finder/SKILL.md
Use this skill to deterministically find license information for Python packages by checking PyPI metadata first, then falling back to Git repository LICENSE files using shallow cloning.
npx skillsauth add opendatahub-io/ai-helpers python-packaging-license-finderInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
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.
When a user asks to find the license for a Python package, follow this deterministic process:
If a source repository URL is provided by the caller, skip PyPI lookup entirely:
git:shallow-clone skillYou 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.
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.
If no license is found in PyPI metadata, search the package's source repository:
Skill: git:shallow-clone
find . -iname "license*" -o -iname "copying*" -o -iname "copyright*" | head -10
head -20 <license_file>
./scripts/find_license.py requests
Expected: Find "Apache-2.0" from PyPI metadata
./scripts/find_license.py some-package
Expected: Fall back to repository search if PyPI metadata is incomplete
./scripts/find_license.py django 4.2.0
Expected: Find license for specific Django version
This skill complements:
The skill focuses on finding license information, while license-checker focuses on assessing license compatibility for redistribution.
tools
Use this skill to filter a pre-fetched set of Hacker News stories down to those that report supply-chain security threats relevant to software developers — including malicious packages on npm or PyPI, compromised developer tooling, and attacks targeting source code repositories or CI/CD infrastructure. Reads stories from stories.json in the workspace, performs semantic analysis (fetching HN threads when the title alone is ambiguous), and writes the stories worth alerting on to findings.json.
development
Run hexora static analysis on a Python package repository to detect suspicious code patterns, then triage findings with deterministic rules and AI reasoning to produce a structured risk report section.
development
Inspect recent git history of a Python package repository for suspicious commits touching supply-chain-sensitive files, then triage findings with AI reasoning to produce a structured risk report section.
development
Scan a Python package repository for compiled/binary files using Fromager-style detection and malcontent YARA analysis, then triage findings with deterministic rules and AI reasoning to produce a structured risk report section.