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

fe-skills

v0.2.0

Published

Portable FE-namespaced agent skills and their optional management CLI.

Readme

FE Skills

A public collection of independent agent skills under the fe- namespace, plus an optional TypeScript CLI for installation, configuration, validation, and diagnosis.

The repository contains no personal defaults or memory data. Each skill can be installed and used without the CLI.

Requirements

  • Node.js 22 or newer
  • npx for skills.sh installation
  • one or more supported harnesses: Claude Code, Codex, or OpenCode
  • uvx only when configuring the Basic Memory-backed fe-memory capability

Development uses Bun, but users of the published CLI do not need Bun.

Install a skill directly

Use skills.sh when no configuration workflow is needed:

npx --yes skills@latest add farhadeidi/skills \
  --skill fe-coordinate-herdr \
  --agent codex \
  --global

Available skills:

  • fe-coordinate-herdr: execute an approved multi-agent workflow through Herdr.
  • fe-supervise-project: own a supervised project workflow and delegate execution to compatible backends.
  • fe-memory: use durable cross-session memory or guide explicit setup when the capability is missing.

Every skill is manual-only. Invoke it explicitly by name.

Use the optional CLI

Run the public CLI directly through npx; no global installation is required:

npx fe-skills

Running the CLI without a command opens an interactive menu for browsing, installing, removing, configuring, and diagnosing FE capabilities. Explicit commands remain available for repeatable workflows and automation.

For development from a checkout:

bun install
bun run build
node dist/cli.js list

The public command surface is:

npx fe-skills list
npx fe-skills install <skill>
npx fe-skills remove <skill>
npx fe-skills configure <capability>
npx fe-skills unconfigure <capability>
npx fe-skills doctor [capability]
npx fe-skills validate

Mutating commands preview their exact plan and ask before applying. Automation can use --dry-run, --yes, and --json:

npx fe-skills install fe-coordinate-herdr \
  --target codex,claude-code \
  --yes

npx fe-skills install fe-memory --target codex --yes

npx fe-skills configure fe-memory \
  --path ~/agent-memory \
  --target codex,claude-code \
  --create \
  --yes

npx fe-skills doctor fe-memory --json

npx fe-skills unconfigure fe-memory --yes

Machine-specific choices are stored in ~/.config/fe-skills/config.json. The repository never supplies a default memory directory.

fe-memory

fe-memory is a portable capability name backed by Basic Memory. Configuration does three scoped things:

  1. registers the chosen directory as a local Basic Memory project;
  2. adds the fe-memory MCP entry to selected harnesses; and
  3. records the chosen path, project name, and targets in local fe-skills configuration.

The default local project name is fe-memory; the storage directory is always chosen by the user. Existing projects are never silently repointed. OpenCode's JSONC configuration is edited structurally so comments and unrelated settings remain intact. Restart already-running harness sessions after configuration.

Unconfiguring removes only MCP entries that still match the configuration managed by fe-skills. It retains the memory directory and Basic Memory project; drifted harness entries are preserved and reported for manual review.

Memory data, credentials, and machine configuration are not committed to this repository. The routing policy lives with the independently installed skill.

OpenCode compatibility

OpenCode receives both a same-named slash-command adapter and the shared manual-skill permission adapter. Together they keep fe-* skills hidden from implicit model discovery while allowing explicit user invocation. See standards/opencode-compatibility.md.

Deprecated initializer

fe-init-project is no longer distributed. Existing installations can remove it with:

npx fe-skills remove fe-init-project \
  --target claude-code,codex,opencode \
  --yes

For creating or improving repository instructions, use the independent agents-md-guide. It is the canonical methodology and is intentionally not coupled to this toolkit.

Repository architecture

toolkit.json               public inventory and portable templates
skills/                    independently installable skills
standards/                 canonical shared contracts
mcp/                       portable MCP definitions and adapters
src/                       TypeScript CLI and side-effect adapters
test/                      unit, contract, and CLI integration tests
scripts/sync-references.sh generated-reference synchronization

The CLI follows one mutation path:

inspect → calculate plan → preview → approve → apply → verify

--dry-run returns the same plan without applying it. Local configuration is written atomically after external setup actions succeed.

Development

bun install
bun run typecheck
bun run test:coverage
./scripts/sync-references.sh --check
bun run src/cli.ts validate
npm pack --dry-run

The test suite uses temporary home directories and fake harness executables; it does not mutate the developer's installed agents or memory.

See the complete setup guide for operating-system notes, harness configuration surfaces, lifecycle commands, automation, and troubleshooting.

License

MIT