The package manager for AI agents.
For teams who want to manage agent skills like software packages — the way npm, PyPI, and uv manage code. Install skills from any Git repo into Claude Code, Cursor, Codex, and more, then share them across your team like real dependencies.
agr is for teams who want to manage their agent skills as seriously as they manage their code — the way npm, PyPI, and uv manage software packages.
Skills make AI agents better at your work. But today they're copied around by hand, drift between machines, and live in tool-specific folders. agr treats them like real dependencies: declared in one manifest, locked to a version, installed with one command, and identical for every teammate, on every machine, in every tool.
That brings the same wins you already get from a package manager for code:
- Version & pin.
agr.lockrecords the exact version of every skill, so a skill that works today keeps working tomorrow — no silent upstream changes breaking your agents. Upgrade on purpose, when you choose, withagr upgrade. - Distribute effortlessly. Publishing a skill is just pushing to a Git repo;
installing one is
agr add owner/repo/skill. No registry to set up, no files to email around. - One source of truth for the team. The skills your agents use are part of your repo — reviewed in PRs, versioned in Git, and shared like any other dependency. Everyone runs the same skills, so your agents behave consistently across the whole team.
- Onboard in one command. A new teammate clones the repo, runs
agr sync, and their agents are set up exactly like everyone else's — same skills, same standards, day one.
uv tool install agrFive things. That's the whole tool.
agr add anthropics/skills/pdfHandles are just a path into GitHub: owner/repo/skill. anthropics/skills/pdf
is the pdf/ directory inside
github.com/anthropics/skills. Any public
repo works — no registry, no publishing step.
agr add auto-creates agr.toml, detects which AI tools you use, and installs
the skill into each. Then invoke it in your tool:
| Tool | Invoke with |
|---|---|
| Claude Code | /pdf |
| Cursor | /pdf |
| OpenAI Codex | $pdf |
| OpenCode | pdf |
| GitHub Copilot | /pdf |
| Pi | /pdf |
Point at a directory on disk instead of a repo:
agr add ./skills/my-internal-skillGreat for skills you're still writing, or ones that never leave your codebase. They sync into every tool exactly like remote skills.
.claude/skills/, .cursor/skills/, … are build artifacts — like .venv/ or
node_modules/. Add them to .gitignore. Commit agr.toml and
agr.lock instead:
tools = ["claude", "cursor"]
dependencies = [
{handle = "anthropics/skills/pdf", type = "skill"},
{handle = "anthropics/skills/frontend-design", type = "skill"},
{path = "./skills/my-internal-skill", type = "skill"},
]A new teammate clones the repo and runs:
agr sync # like `npm install`, but for AI agentsNow everyone has the same skills, the same standards, in every tool.
agr upgrade # all skills
agr upgrade pdf # just oneRe-fetches skills at their latest upstream version and updates agr.lock.
agrx anthropics/skills/pdfDownloads and runs a skill once, then throws it away — nothing added to
agr.toml, nothing left behind.
| Command | What it does |
|---|---|
agr add <handle|path> |
Install a skill and add it to agr.toml |
agr remove <handle> |
Uninstall a skill |
agr sync |
Install everything in agr.toml |
agr upgrade [handle...] |
Re-fetch skills at their latest version |
agr list |
Show installed skills |
agrx <handle> |
Run a skill once, without installing |
Add -g to add, remove, sync, or list to manage global skills,
available across all your projects.
agr add dsjacobsen/agent-resources/golang-pro # Go — @dsjacobsen
agr add maragudk/skills/collaboration # Workflow — @maragudk
agr add madsnorgaard/drupal-agent-resources/drupal-expert # Drupal — @madsnorgaardBuilt something? Share it here.