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

toga-harness

v1.0.0

Published

TOGA Technology Team Claude Knowledge System — shared AI coding harness with skills, knowledge base CLI, and project installer for Claude Code.

Readme

claude

Shared Claude Code skills, configuration, and the team knowledge base for TOGA Technology projects.

Skills

| Skill | Description | |-------|-------------| | kickoff | Start of session. Asks what you're working on (framework 1.0/2.0/both, front/back/hybrid, repo/project, client) and loads the matching coding standards, framework-core architecture, repo knowledge, and client knowledge from knowledge/. | | capture | End of session. Figures out what you worked on, matches it against existing knowledge, and proposes create/update/retire changes for one-tap approval — then writes them and keeps registry.json, frontmatter, and INDEX files consistent. | | create-elastic-beanstalk | Interview for a new Elastic Beanstalk environment, then emit a ready-to-paste CloudShell create-environment command. |

The knowledge base (knowledge/)

The team's feature, workflow, client, and architecture knowledge lives under knowledge/, managed entirely by the kickoff and capture skills. Developers never hand-edit these files — run kickoff to start a session and capture to finish one.

  • Framework partitions everything: 1.0/ (the App_ framework, core repo library) and 2.0/ (the _underscore framework, core repo _underscore). Each owns its apps/ and standards/.
  • App folders are keyed by repo name (2.0/apps/worker2/, …); the project name lives in registry.json and doc frontmatter.
  • Clients are shared at the top level (clients/<client>/), each doc tagging its framework.
  • registry.json maps repo ↔ project ↔ framework ↔ role ↔ dependsOn. Every repo implicitly depends on its framework core; dependsOn adds more.
  • See knowledge/CONVENTIONS.md for the full structure spec (the same spec is embedded in both skills).

knowledge.js

A dependency-free Node helper that keeps the mechanical parts deterministic (the skills call it):

node knowledge.js search --framework= --repo= --project= --client= --file= --q=   # find docs
node knowledge.js index                                                            # rebuild all INDEX.md
node knowledge.js deps --repo=<repo>                                               # resolve load set (core + deps)
node knowledge.js validate                                                         # integrity check

validate enforces that registry.json, the folder layout, and every doc's frontmatter agree, and runs after every capture write.

Where local paths live

Absolute repo paths are machine-specific and are not stored in this repo. The skills keep them in Claude memory (reference entries team-repo-path and repo-path-<repo>), resolved lazily and asked for by repo name only when a session needs them. The first time a developer references a repo on a new machine, the skill asks "What is the path to the <repo> repository?" and remembers the answer.

How skills are deployed

Claude Code loads skills from .claude/skills/ at the project root. The skills in this repo are the source of truth — run the sync script to copy them into that directory.

Syncing skills

After pulling new skills from this repo, run:

node claude/sync-skills.js

Works on Mac and PC. Run it from anywhere inside the project.

Adding a skill

  1. Create a directory under skills/ with your skill name.
  2. Add a SKILL.md with YAML frontmatter (name, description) and the instructions.
  3. Run node claude/sync-skills.js to deploy it.
  4. Update the table above.