Real dependency resolution
Skills depend on skills. skill-graph resolves the full transitive closure, detects cycles and dangling edges, and installs leaves-first — the npm model, for agents.
Manage groups of related skills like the dependencies they are —
resolved, versioned, and installed flat into .claude/skills/
with one command. No account needed to install; sign in only to publish.
$ skill-graph search tracker@acme/run-tracker-app 1.0.0 Step-count run tracker — ties the graph together$ skill-graph install @acme/run-tracker-appinstalled @acme/run-tracker-app (7 skills) into .claude/skills/$ skill-graph ls@acme/run-tracker-app@1.0.0├── @acme/jetpack-compose-ui@1.0.0│ └── @acme/android-app-foundation@1.0.0│ └── @acme/kotlin-style@1.0.0├── @acme/room-persistence@1.0.0│ └── @acme/android-app-foundation@1.0.0 (deduped)└── @acme/running-metrics@1.0.0 // why skill-graph
Everything you expect from a modern registry — resolution, versioning, search, reproducibility — purpose-built for the way agents consume skills.
Skills depend on skills. skill-graph resolves the full transitive closure, detects cycles and dangling edges, and installs leaves-first — the npm model, for agents.
Every skill is a plain SKILL.md folder per the agentskills.io standard. skill-graph is strictly additive — it never rewrites your content or nests folders.
Skills are addressed by @scope/name coordinates. Your scope is stamped from your identity server-side — you can only ever publish as yourself. Versions never change.
The registry indexes the description from each skill’s frontmatter, so you find skills by what they do — not just what they’re called.
Skills land flat in .claude/skills/. Hand-written or private skills already there are left untouched — install only ever manages what it installed.
A manifest of intent and a lockfile of the resolved graph live at your project root. Commit them and anyone rebuilds the exact same skills — like npm ci.
// the CLI
Search and install with no account at all — sign in only when you want to publish your own. A scriptable, non-interactive surface that runs clean for humans and agents alike.
skill-graph search <kw> find skills by name or description skill-graph install @scope/name resolve the closure into .claude/skills/ skill-graph ls print the installed dependency tree skill-graph ls @scope/name inspect a coordinate before installing skill-graph init <dir> bring a SKILL.md under management skill-graph publish <dir> publish a graph of managed skills skill-graph whoami show the @scope you publish under skill-graph register create an account (password via stdin) skill-graph login sign in and store an API key skill-graph logout remove the stored key // get started
Install, and you’re installing skills in seconds — no setup. Log in to publish your own. Works for humans at a terminal and agents in a loop.
# install the CLI$ npm i -g skill-graph# find & install a skill — zero config$ skill-graph install @acme/pdf-tools# sign in & publish your own$ skill-graph login --email you@example.com$ skill-graph publish ./skillspublished @you/pdf-tools@1.0.0