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

@directive-run/claude-plugin

v1.23.0

Published

Claude Code plugin for Directive — 12 skills covering modules, constraints, resolvers, derivations, AI orchestration, and adapters. Installable via Claude Code's plugin marketplace or consumable programmatically as an npm package.

Readme

@directive-run/claude-plugin

Claude Code plugin providing coding guidance for the Directive runtime. Delivers 12 skills that Claude automatically invokes when you're working with Directive code.

The package has two install paths: Claude Code's plugin marketplace for end users (the canonical path), and npm for tool authors who want to consume the skill bundles programmatically.

Install for Claude Code (canonical)

Two steps in a Claude Code session – first register the marketplace, then install the plugin:

/plugin marketplace add directive-run/directive
/plugin install directive@directive-plugins

After install, verify the plugin is active with /plugins – you should see directive in the list.

Install for tool authors (npm)

npm install @directive-run/claude-plugin

The npm package ships the pre-built skills/ directory and exposes it through a small programmatic API. Use this when you're building a custom skill registry, doc-generation pipeline, evals harness, or AI orchestrator that wants to expose Directive skills via its own routing layer.

import {
  listSkills,
  getSkill,
  getAllSkills,
  getSkillFile,
  type Skill,
} from "@directive-run/claude-plugin";

// All skill names, alphabetical
const names = listSkills();
// → ["building-ai-agents", "building-ai-orchestrators", ...]

// One skill – manifest + supporting files
const skill = getSkill("building-ai-orchestrators");
skill?.manifest;            // SKILL.md (with YAML frontmatter)
skill?.files.get("examples"); // examples.md contents

// All skills, keyed by name
const all = getAllSkills(); // Map<string, Skill>

// One supporting file
const ex = getSkillFile("building-ai-orchestrators", "examples");

The npm install path is not a replacement for the Claude Code plugin install – it does not register the skills with Claude Code itself. It only exposes the same skills/ directory as a typed module so other tools can read it.

What happens after install

Skills are model-invoked: Claude reads each skill's description and automatically loads the relevant skill when your task matches. There is nothing to invoke manually. You write code, Claude pulls in the right skill.

Each of the 12 skills bundles:

  • A concise SKILL.md with a decision tree and quick-reference patterns
  • Supporting knowledge .md files copied from @directive-run/knowledge
  • Working code examples extracted from the examples/ directory

When Claude invokes a skill, the skill name appears in the response (/<plugin>:<skill> namespaced). You can also call a skill directly:

/directive:writing-directive-modules
/directive:writing-directive-constraints
/directive:hardening-ai-systems

Skills

| Skill | Description | |-------|-------------| | getting-started-with-directive | Understand Directive fundamentals and mental model | | writing-directive-modules | Write modules with correct schema, type builders, naming | | writing-directive-constraints | Write constraints and resolvers with error boundaries | | building-directive-systems | Build multi-module systems with plugins and React | | testing-directive-code | Test with createTestSystem, mockResolver, time-travel | | building-ai-orchestrators | Build single and multi-agent AI orchestrators | | building-ai-agents | Create agents with streaming, adapters, communication | | hardening-ai-systems | Add guardrails, budgets, security to AI systems | | testing-ai-systems | Test AI systems with mock runners and evaluations | | reviewing-directive-code | Review code for anti-patterns and naming violations | | scaffolding-directive-modules | Generate module scaffolds with matching test files | | migrating-to-directive | Migrate from Redux, Zustand, XState, MobX to Directive |

Development

# Build skills from knowledge package
pnpm --filter @directive-run/claude-plugin build

# Run tests
pnpm --filter @directive-run/claude-plugin test

# Test locally with Claude Code
claude --plugin-dir packages/claude-plugin

Skills are built from @directive-run/knowledge + hand-authored templates in templates/. The build script (scripts/build-skills.ts) assembles the skills/ directories.

Not using Claude Code?

The same knowledge ships through @directive-run/cli as rules files for every other AI assistant. Run it from your project:

npx directive ai-rules init

Generates .cursorrules, .clinerules, copilot-instructions.md, windsurf.md, OpenAI Codex AGENTS.md, and CLAUDE.md files tuned to each assistant's ingestion conventions.

See /docs/ide-integration for the full decision tree across Claude Code, Cursor, Copilot, Windsurf, Cline, and Codex.