Built on the open Agent Skills standard

npm, but for
agent skills.

Publish, version, and install AI-agent skills with full transitive dependency resolution. One command pulls a skill and its entire graph into .claude/skills/ — flat, standard-conformant, and ready for your agent.

$ npm i -g skill-graph

// why skill-graph

A package manager that understands
how skills depend on skills.

Everything you expect from a modern registry — resolution, versioning, search, reproducibility — purpose-built for the way agents consume skills.

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.

Open standard, no lock-in

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.

Scoped & immutable

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.

Search by name or description

The registry indexes the description from each skill’s frontmatter, so you find skills by what they do — not just what they’re called.

Non-destructive installs

Skills land flat in .claude/skills/. Hand-written or private skills already there are left untouched — install only ever manages what it installed.

Reproducible by lockfile

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 workflow

Author → publish → install

Three commands. The registry handles identity, versioning, and the graph.

  1. 01

    Author & onboard

    Write a standard SKILL.md, then bring it under management with one command. skill-graph adds a small node.json sidecar — your content is never rewritten.

    $ skill-graph init ./pdf-toolsinitialized skill-graph.node.json — now managed
  2. 02

    Publish

    Push the whole directory. skill-graph validates the graph, publishes leaves-first, and stamps your @scope from your identity — no scope to type, nothing to spoof.

    $ skill-graph publish ./skillspublished @you/[email protected]
  3. 03

    Install anywhere

    Anyone names the coordinate. skill-graph resolves the entire dependency closure and writes it flat into .claude/skills/, ready for the agent to discover.

    $ skill-graph install @you/pdf-toolsinstalled @you/pdf-tools (3 skills)

// under the hood

A registry built on the edge

skill-graph runs as a Cloudflare Worker backed by D1 and R2 — anonymous reads, authenticated writes, immutable versions. The CLI is a small, self-contained binary that talks to it over a typed contract.

  • Workers the registry API — typed, language-agnostic over HTTP
  • D1 the version index: what exists, immutable by construction
  • R2 artifact storage for every published SKILL.md
  • Better-auth API-key identity — your scope, resolved server-side
architecture diagram placeholder · 1200×900

// the CLI

One tool, the whole lifecycle

A scriptable, non-interactive surface — every command runs clean for humans and agents alike.

Consume
  • 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
Publish
  • 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
Account
  • 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 the CLI and
pull your first skill.

Point it at a registry, log in, and you’re publishing and installing in minutes. Works for humans at a terminal and agents in a loop.