Skip to main content

A package manager for agent skills

Project description

napoln

A package manager for agent skills. Install from any git repo, upgrade without losing your customizations, and manage skills across every agent you use.

"I don't even have any good skills. You know, like nunchuck skills, bow hunting skills, computer hacking skills."

  • Multi-agent. One command places skills into Claude Code, Gemini CLI, pi, Codex, and Cursor.
  • Versioned upgrades. Three-way merge on upgrade preserves your local customizations.
  • Decentralized. Any git repo is a valid source. No registry required.
  • Content-addressed. Every stored version has a deterministic SHA-256 hash.
  • Zero-copy placement. Reflink (copy-on-write) on APFS and btrfs. Full copy fallback elsewhere.
  • Self-describing. A bundled skill teaches your agents how to use napoln.

napoln demo

Install

Requires Python 3.11+. napoln is published on PyPI.

Run without installing:

uvx napoln add owner/repo

Or install globally:

uv tool install napoln    # recommended
pipx install napoln       # alternative
pip install napoln        # plain pip

First Run

On first run, napoln installs its bundled management skill so your agents know how to use it. After that, your agents can find and install new capabilities without prompting you for CLI commands.

Agents prefer uvx napoln so they never hit PATH issues. The bundled skill is automatically installed alongside your first skill, so it works out of the box.

Quick Start

napoln add owner/repo --all

napoln clones the repo, discovers all skills, and places them in every detected agent's skill directory:

✓ Placed 'code-review' in ~/.claude/skills/code-review (clone)
✓ Placed 'code-review' in ~/.agents/skills/code-review (clone)
✓ Placed 'code-review' in ~/.cursor/skills/code-review (clone)
✓ Added 'code-review' v1.2.0

Install a specific skill, pin a version, or use a local path:

napoln add owner/repo --skill code-review   # specific skill by name
napoln add owner/repo@v1.2.0               # pinned to a tag
napoln add ./my-local-skill                 # local directory

Multi-skill repos show an interactive picker when no --skill or --all flag is given:

napoln add owner/repo
# ? Select skills to install:
# ❯ ◯ code-review  Review pull requests for quality and correctness
#   ◯ testing       Generate and improve test coverage
#   ◯ rust          Rust-specific development patterns

Customize a skill, then upgrade without losing your changes:

napoln upgrade code-review
# ✓ Merged 'code-review' at ~/.claude/skills/code-review (2 files updated)

Remove one or more skills at once:

napoln remove design-audit design-frontend design-preflight

Remove all skills from a specific repository:

napoln remove --from-source raiderrobert/flow

Combine explicit names with --from-source filter:

napoln remove --from-source raiderrobert/flow design-audit

Commands

napoln add <source>           Install skills from a git repo or local path
napoln remove <name>...       Remove one or more skills
napoln remove --from-source  Remove all skills from a specific repository
napoln upgrade [<name>]       Upgrade one or all skills
napoln list                   Show installed skills and where they are placed
napoln install                Restore skill placements from manifests
napoln init [<name>]          Scaffold a new SKILL.md
napoln config                 View configuration and run housekeeping

All mutating commands support --dry-run. Use -p for project scope on any command.

Supported Agents

Agent Global Path Project Path
Claude Code ~/.claude/skills/ .claude/skills/
Gemini CLI ~/.agents/skills/ .agents/skills/
pi ~/.agents/skills/ .agents/skills/
Codex ~/.agents/skills/ .agents/skills/
Cursor ~/.cursor/skills/ .agents/skills/

Gemini CLI, pi, and Codex share ~/.agents/skills/ — one placement serves all three.

Team Workflow

Install with --project and commit the manifest:

napoln add owner/repo --skill code-review --project
# Creates .napoln/manifest.toml  (commit this)
# Places into .claude/skills/    (gitignore these)

Teammates clone and run:

napoln install
# ✓ Synced 3 project skills (3 restored)

napoln install syncs both global and project manifests automatically.

Documentation

License

MIT

Project details


Download files

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

Source Distribution

napoln-0.2.8.tar.gz (527.2 kB view details)

Uploaded Source

Built Distribution

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

napoln-0.2.8-py3-none-any.whl (45.8 kB view details)

Uploaded Python 3

File details

Details for the file napoln-0.2.8.tar.gz.

File metadata

  • Download URL: napoln-0.2.8.tar.gz
  • Upload date:
  • Size: 527.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for napoln-0.2.8.tar.gz
Algorithm Hash digest
SHA256 5ff493e46ce0d7c989c085f33bd8c9c59d47d903c3baf4d25c5bff59a7d2e6cb
MD5 79a12c821198f0cc6506e8fcfb50ab45
BLAKE2b-256 2bee9c94e97c767dda549cbcd6c0a408b5e459cc5d3dac4c5245460d3817b9d3

See more details on using hashes here.

File details

Details for the file napoln-0.2.8-py3-none-any.whl.

File metadata

  • Download URL: napoln-0.2.8-py3-none-any.whl
  • Upload date:
  • Size: 45.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for napoln-0.2.8-py3-none-any.whl
Algorithm Hash digest
SHA256 91ff412afa20fd101e45604e84466fe6ab6b542f48f9dff3409013a92a72ae21
MD5 56a989ae0470585a63aac60df5ca5ea5
BLAKE2b-256 47ecf2bb6e8d956ce3ed5b759f151780bff1d8601aafacdaa02cc914583a8695

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page