npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@locusgraph/claude-locus-skills-plugin

v1.0.3

Published

Claude Code plugin — reach a locus graph from a session

Downloads

56

Readme

locus-skills — Claude Code plugin

Reaches the user's locus graph from a session: a request goes in, the few sections that answer it come back.

.claude-plugin/marketplace.json    at the REPO ROOT — a marketplace manifest
                                   must sit there, not inside the plugin
packages/claude-plugin/
  .claude-plugin/plugin.json       the manifest Claude Code reads
  skills/locus/SKILL.md            when to reach for the graph, and how
  commands/                        /compile /skills /install /publish
  hooks/session-start.sh           reports whether the CLI is usable, and what the graph holds

Installing

The catalog is hosted, so nothing here needs to be cloned:

/plugin marketplace add https://skills.locusgraph.com/marketplace.json
/plugin install locus-skills@locus-skills

That entry installs @locusgraph/claude-locus-skills-plugin from npm. A marketplace is not optional — every Claude Code install path resolves a plugin through one — but it does not have to be a repository you can clone, which is why this one is served over HTTPS and sources the plugin from the registry.

To script it, or to install without the interactive panel:

claude plugin marketplace add https://skills.locusgraph.com/marketplace.json
claude plugin install locus-skills@locus-skills

The plugin drives the locus CLI, so that has to be present and signed in:

npm i -g @locusgraph/locus-skills-cli
locus login

npx @locusgraph/locus-skills-cli login works too if you would rather not install it globally, but the plugin calls a bare locus, so a global install is what makes the slash commands work.

Developing this plugin

The repo is its own marketplace, sourcing the plugin from the working tree rather than the registry:

/plugin marketplace add ./

What it ships

One skill. skills/locus/SKILL.md teaches Claude when a task is likely to match something the user has written down, and to pass their request through verbatim — retrieval matches on the words they used, and rewriting the request is the most common reason a lookup misses.

Four commands. /compile <request> fetches a skill for one turn. /skills lists what the graph holds. /install <request> pins a compiled skill into .claude/skills. /publish greps for leftover TODOs, lints and seeds the skills under library/.

The skill also carries what the CLI's usage text does not: the eight archetypes, the rules a publish is refused or degraded on (a knowledge or generative skill's sibling file, scaffold placeholders left in place, trigger length), and the write-back operators — learn add, append and update — with suggest and forget for the two ends of a skill's life.

One hook, deliberately read-only, and quick. SessionStart reports whether the CLI is installed and signed in, then prints every skill in the graph with the phrases that fetch it, so a skill published today fires tomorrow without anyone running a command. It prints from a cache the CLI keeps beside its credentials (~/.config/locus/skills-cache.json) and refreshes that in the background, so the session starts in well under a tenth of a second instead of waiting a few seconds on the graph; the heading says how old the list is. locus publish rewrites the cache on success, so a skill published mid-session is listed at the very next start. Under 50 skills every phrase prints; from 50 up each skill shows its first three, because the phrases are what make a skill fire and the count per skill is what gives, never the phrases altogether. The full list is always one command away: locus skills --brief, the hook's last line. It writes nothing under .claude. .claude/skills/<slug>/SKILL.md is where locus compile --install pins a compiled skill, and a hook that wrote there on every session would silently revert the user's pin — so this one only reports.

Why the plugin ships no skills of its own

A plugin is static content installed from a git repo; a locus graph is per-user. Bundling this repo's own skills would hand every installer our library rather than connecting them to theirs, and would lose on-demand compilation entirely — twelve sections where three were asked for. So the plugin ships the bridge, and the skills stay in the graph.