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

@network-harness/protocol-skills

v0.2.0

Published

Part of the network harness: @network-harness/protocol-skills.

Readme

@network-harness/protocol-skills

Each node holds instruction documents, advertises some of them, and a peer can ask for one to be applied to something.

A skill is a markdown file with a little front matter, because a skill is something a human writes and edits, and the part that makes it useful -- the prose -- is not data the harness has any business parsing. The front matter is the whole of what a peer may learn about it; the body is the method, and in mode 1 it never leaves the node.

Two modes, and the difference is where the skill runs.

Mode 1 runs it here. The caller sends its input, the owner hands the skill to its own model, and the answer comes back over the session the caller opened. The skill body stays home -- which is why this mode needs no joint computation -- and the caller's input does not, which is why it cannot be used on data the caller will not disclose.

Mode 2 runs it in a box both sides verify and neither owns. The caller stakes its request and its own private sources, the owner stakes the skill, the model, and the key that pays for it, and each side gets back only what it is entitled to: the caller an answer, the owner the fact that a run happened. Neither node's material passes through the other, and this protocol holds none of it -- every step that touches material is an apply, and the box program is proposed byte for byte so both sides approve the same bytes. The program is the box's own canonical manifest, unchanged: it names which provider may see plaintext and how much output comes back, and renaming a field of it would mean proposing a program the box does not run.

| | | | --------- | ------------------------------------------------------------------------------------------------------ | | routes | POST /calls, GET /calls, GET /board, GET /skills | | payloads | call.request, call.reply, call.failed, call.accepted, call.session | | schedules | advertise 60s (presence), advance 2s (the box state machine), sweep 30s (terminate what stalled) | | needs | any source (a mode 2 caller stakes what it consents to), the jc.* operations, with jc.submit gated | | intents | skill -- picked only for something the board is offering right now |

library.ts is the skill files, calls.ts the durable records, index.ts the state machine. Driving it by hand: devtools/README.md.