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

@next-starters/skill-skill-channel-rollout

v1.0.1

Published

Replicates next-starters' own multi-channel skill distribution wiring (pnpm workspace + per-skill npm packages via Changesets, private-by-default with a committed public/private allowlist, a…

Readme

skill-channel-rollout

Replicates next-starters' own multi-channel skill distribution pattern — a pnpm workspace of per-skill npm packages published via Changesets (private-by-default, gated by a committed allowlist), a self-hosted Claude Code plugin marketplace, and the CI that ties them together — into another repo. It never publishes anything itself; that's a hard boundary, not a default.

What it does

Given a target repo path:

  1. Checks the package manager. Reads packageManager / lockfiles; if it isn't pnpm, or there's no package.json yet, it stops and asks instead of silently choosing.
  2. Checks for a stale "workspaces" field. @manypkg/get-packages (which Changesets uses for discovery) checks package.json's workspaces field before falling back to pnpm-workspace.yaml — a leftover field would silently win. Surfaced, not auto-removed.
  3. Asks two questions, one at a time (AskUserQuestion): the target repo's npm scope, and its plugin command prefix.
  4. Scaffolds, write-if-absent: pnpm-workspace.yaml, two package.json release scripts, packages/.gitignore, the five bin/*.mjs pipeline scripts, .changeset/config.json, docs/published-skills.json (seeded empty), and .github/workflows/skills-release.yml.
  5. Runs a reference-normalization check against the target's skills/*/metadata.json, surfacing anomalies — never fixing them.

What it never does

Invoke npm publish, changeset publish, or --publish. Every package this skill scaffolds starts private: true; the published-skills allowlist starts empty. Enabling and actually releasing a package is a separate, deliberate, human-run step in the target repo, outside this skill's scope.

Use it

Read SKILL.md for the 7 invariants (one verifiable todo each) and the red flags. The references/*.mjs scripts are self-contained — copy them verbatim into the target repo's bin/; they don't depend on next-starters' own bin/ directory being present.

  • references/pnpm-workspace.yaml, references/package-json-scripts-patch.jsonc, references/packages-gitignore.txt — the workspace + footprint files.
  • references/generate-skill-package-json.mjs, references/sync-skill-content.mjs, references/sync-metadata-version.mjs, references/validate-skill-package.mjs, references/generate-marketplace.mjs — the five pipeline scripts.
  • references/changeset-config.json, references/published-skills.seed.json — the Changesets config (privatePackages.version: false) and the empty allowlist seed.
  • references/skills-release.workflow.yml — the CI job skeleton (pnpm/action-setup before actions/setup-node, pinned changesets/action@v1, token-absent guard).
  • references/check-reference-normalization.mjs — the anomaly scanner run against the target repo's own skill metadata.

Companion

Implements step 14 of the multi-channel skill distribution plan this repo's own release pipeline (bin/generate-skill-package-json.mjs and siblings, .github/workflows/skills-release.yml) was built from. Run this skill's scaffold, then follow its own SKILL.md invariants 1-6 to verify the target repo's pipeline before ever touching invariant 7's boundary.