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

@jalco/ap-sdk

v0.4.0

Published

Write a plugin once, ship it to every agent harness. Define skills, commands, and tools in one place and generate native plugin artifacts for Claude Code, Codex, Pi, and OpenCode.

Readme

@jalco/ap-sdk

Write an agent plugin once, ship it to every harness.

Each coding agent — Claude Code, Codex, Gemini CLI, Copilot, Cursor, Windsurf, Pi, OpenCode — has its own plugin system, file layout, and frontmatter rules. @jalco/ap-sdk lets you define a plugin once in TypeScript and compile it to the native installable artifacts each harness expects.

import { definePlugin, defineSkill } from "@jalco/ap-sdk";

export default definePlugin({
  id: "git-helper",
  description: "Helpers for reviewing and committing changes in a git repo.",
  skills: [
    defineSkill({
      name: "diff-review",
      description:
        "Summarize and risk-flag uncommitted changes. Use when the user asks what changed.",
      instructions:
        "Run `git diff HEAD` and summarize the changes in 2-4 bullets.",
    }),
  ],
});
ap-sdk build      # → .aps-out/{claude,codex,gemini,copilot,cursor,windsurf,pi,opencode}/
ap-sdk install    # → drops artifacts into your local harness dirs

Install

pnpm add -D @jalco/ap-sdk

What you can define

  • Instructions: always-on system or project guidance for every supported harness.
  • Skills: reusable skill documents with descriptions and instructions.
  • Commands: slash commands or prompt commands in harnesses that support them.
  • Subagents: named specialist agents with their own prompts, tools, and model hints.
  • Hooks: lifecycle hooks and scripts translated to each harness' event model.
  • MCP servers: MCP server config emitted in native JSON/TOML/YAML formats.
  • Shared tools: real TypeScript implementations with per-harness glue.
  • Companion files: files copied next to generated native artifacts.

See the support matrix for what each harness supports.

Already have a plugin?

Point ap-sdk port at an existing Claude Code, Cursor, Codex, Gemini, Copilot, Windsurf, Pi, or OpenCode layout and it generates a portable plugin.ts that loads your existing files instead of inlining them.

npx ap-sdk port ./my-plugin
npx ap-sdk check ./plugin.ts
npx ap-sdk install owner/repo

Read the porting guide, or install straight from GitHub with ap-sdk install owner/repo.

Links

License

MIT · Originally by Sahaj Jain, continued by Justin Levine.