Skip to main content

skillpkg 🔧

CI

Search, validate and install agent skills across agent runtimes. One CLI for the agent-skills ecosystem.

The agent-skills wave is here — OpenClaw, Claude, Codex, Cursor, Windsurf, Gemini CLI and DSH all read some flavor of SKILL.md — but the tooling layer around them is thin. skillpkg closes the gap with five commands:

pip install skillpkg-cli        # or: curl the single file, it's stdlib-only

skillpkg search pdf         # find skills on GitHub (sorted by stars, SKILL.md verified)
skillpkg check ./my-skill   # validate against the spec (frontmatter, size, layout)
skillpkg scan ./my-skill    # secrets + prompt-injection pre-check
skillpkg install OWNER/REPO # install into your agent's skills dir (auto-detects runtime)
skillpkg install anthropics/skills --skill pdf   # monorepos: install a sub-skill
skillpkg agents             # list supported runtimes and where they live

Why

  • Discovery is broken. Awesome-lists have 50-74K stars purely for listing skills. There's no npm search for skills — no way to check "does this repo actually contain a valid SKILL.md?" without opening 10 tabs.
  • Quality is unverified. Agents truncate giant skill files, descriptions drive matching, missing frontmatter silently breaks loading. check catches all of it in one command.
  • Trust is the real risk. Skills are arbitrary markdown + scripts executed with your agent's permissions. scan catches leaked credentials (GitHub/AWS/Slack tokens, private keys, JWTs) and prompt-injection patterns before you install.

Highlights

  • Zero dependencies — pure Python stdlib, single file, python3 skillpkg.py just works
  • Cross-agent — installs into whichever runtime it detects, or --agent <name> to pick
  • Validation with teeth — required fields, name/description length limits, oversized-file warnings (agents truncate ~100KB), script-size sanity
  • Security pre-check — 8 secret patterns, 6 injection patterns, runs inline after every install
  • Search that verifies — GitHub search + live probe of each repo for an actual SKILL.md
  • Hardened installer — path-traversal guards, symlink/never-extracted, tar-bomb size caps, hostile frontmatter names sanitized
  • Monorepo aware — no root SKILL.md? skillpkg lists installable sub-skills and installs any of them via --skill

Example

$ skillpkg search pdf --limit 5
  STARS  SKILL                                        SKILL.MD  DESCRIPTION
----------------------------------------------------------------------------------------------------
  27898  virgiliojr94/book-to-skill                   ok        Turn any technical book PDF into a skill
   1126  bevibing/tutor-skills                        none      A Claude Code skill that turns PDFs...

$ skillpkg install anthropics/skills --skill pdf
  ✓ anthropics/skills → ~/.openclaw/skills/pdf (12 files)
  agent: openclaw · skill: pdf
  ✓ clean — no secrets or injection patterns found

Root install of a monorepo auto-lists what's available:

$ skillpkg install anthropics/skills
error: no SKILL.md at anthropics/skills root — looks like a monorepo.
  installable sub-skills:
    · skills/pdf
    · skills/docx
    · skills/mcp-builder
    ...
  → skillpkg install anthropics/skills --skill <name>

Supported runtimes

Agent Skills dir
OpenClaw ~/.openclaw/skills
Claude ~/.claude/skills
Codex ~/.codex/skills
Cursor ~/.cursor/skills
Windsurf ~/.codeium/windsurf/skills
Gemini CLI ~/.gemini/skills
DSH ~/.dsh/plugins

Missing your runtime? It's one line in AGENTS — PRs welcome.

The spec

skillpkg check validates against the agent skills spec:

  • SKILL.md with YAML frontmatter: name (kebab-case, 2-64 chars) and description (≤1024 chars) required
  • Keep SKILL.md focused; large detail belongs in bundled references/, scripts in scripts/

Install

# single file, stdlib only — copy it anywhere on PATH
curl -LO https://raw.githubusercontent.com/Exaggarate/skillpkg/main/skillpkg.py
chmod +x skillpkg.py && ./skillpkg.py --help

# or
pip install .

Status

v0.2.0 — hardened: 20 unit tests green, live-tested against real skills and the anthropics/skills monorepo (173K ⭐). Parser handles BOM files, folded YAML block scalars, empty fields; installer refuses traversal paths, symlinks/hardlinks, and archive bombs (20MB/file, 300MB/total caps).

Roadmap: lockfiles (skillpkg freeze), skill updates (skillpkg upgrade), registry index with auto-generated trust scores.

MIT © 2026

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

skillpkg_cli-0.2.1.tar.gz (12.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

skillpkg_cli-0.2.1-py3-none-any.whl (10.7 kB view details)

Uploaded Python 3

File details

Details for the file skillpkg_cli-0.2.1.tar.gz.

File metadata

  • Download URL: skillpkg_cli-0.2.1.tar.gz
  • Upload date:
  • Size: 12.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for skillpkg_cli-0.2.1.tar.gz
Algorithm Hash digest
SHA256 4e9dfc666eb5c6d5bcb8f9b463505bebe0ee652d0f76dcb9272e14ad363b6050
MD5 e7df36355db544c3e76b62eea4e37de9
BLAKE2b-256 30ab23511b6eb13b01eace204148aede0a2a65a263e099f0c1e9c4fecf3f8850

See more details on using hashes here.

Provenance

The following attestation bundles were made for skillpkg_cli-0.2.1.tar.gz:

Publisher: publish.yml on Exaggarate/skillpkg

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file skillpkg_cli-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: skillpkg_cli-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 10.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for skillpkg_cli-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 7680b1f5f6adcbe655f9c174b8a6efe2e3feee7680b377a1bb7418e5a48557b8
MD5 f8def921c359add064a2ed4fb9270484
BLAKE2b-256 128b865715f4eb9532e917c90f46b9761acf37ad5c49837ef830323b9830c4b0

See more details on using hashes here.

Provenance

The following attestation bundles were made for skillpkg_cli-0.2.1-py3-none-any.whl:

Publisher: publish.yml on Exaggarate/skillpkg

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

0.2.2

2 files

This release

0.2.1 This release

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page