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

agentkit-pi-port

v1.1.0

Published

One-shot port ALL AgentKit assets (~/.claude) → Pi agent (~/.pi/agent). Local bridge — never downloads AgentKit content from the internet.

Readme

agentkit-pi-port

One-shot port of ALL AgentKit assets (~/.claude/) → Pi agent (~/.pi/agent/).

Hard constraint: AgentKit MUST be installed at ~/.claude/ before running. This tool is a local bridge — it never downloads AgentKit content from the internet, and it never modifies ~/.claude/.

Quick Start

# 1. Install AgentKit on your machine (prerequisite)
# 2. Install this tool
npm install -g agentkit-pi-port

# 3. Run the port
agentkit-pi-port

# 4. Use Pi with full AgentKit capabilities
pi
/ak-cook

What It Ports

| Asset | Action | |-------|--------| | Skills | Added to Pi's native skills path + registered as /ak-* commands via a generated extension | | Agents | Copied to ~/.pi/agent/agents/ for pi-sub-agent (tools:/model: frontmatter stripped — see below) | | Hooks | Bridged to Pi lifecycle events via generated hooks-bridge.ts, or documented as skipped | | Rules | Merged into ~/.pi/agent/AGENTS.md (a user-owned AGENTS.md is never overwritten) | | Settings | effortLeveldefaultThinkingLevel (Claude model aliases are not valid Pi model IDs and are not ported) |

MCP configs are not ported. Pi has first-class MCP support: pi install npm:pi-mcp-adapter, then /mcp setup imports existing host configs (including Claude Code's).

Options

agentkit-pi-port              # Full port
agentkit-pi-port --dry-run    # Preview only
agentkit-pi-port --force      # Overwrite existing (incl. user-owned AGENTS.md)
agentkit-pi-port --uninstall  # Remove everything
agentkit-pi-port --verbose    # Detailed output

How It Works

  1. Prerequisite check — verifies ~/.claude/ exists with skills and agents
  2. Discovery — catalogs all skills, agents, hooks, rules, settings
  3. Install depspi install npm:pi-sub-agent for subagent support (skipped if a local subagent extension is already present)
  4. Copy agents — agent .md files → ~/.pi/agent/agents/, stripping tools: and model: frontmatter (Claude tool names would intersect to an empty Pi tool allowlist; Claude model aliases are invalid Pi model IDs)
  5. Create AGENTS.md — merges all rules with Pi adaptations; refuses to overwrite a file it didn't create
  6. Setup skills — adds ~/.claude/skills to Pi's skills setting (Pi's documented pattern for Claude Code skills)
  7. Install skill overrides — Pi-compatible SKILL.md variants → ~/.pi/agent/ak-skill-overrides/ (never into ~/.claude/)
  8. Install extensions — three self-contained extensions into ~/.pi/agent/extensions/:
    • ak-commands.ts — discovers skills at session start, registers /ak-* commands (overrides take precedence)
    • ask-user.tsask_user tool for AgentKit's "ask_user capability"
    • hooks-bridge.ts — runs Claude Code .cjs hooks on Pi events + 3 native guards (sensitive-file blocking, descriptive filenames, exploration rate-limiting)
  9. Port settings — effort level only, never overwriting existing Pi settings
  10. Generate report~/.pi/agent/docs/agentkit-port-report.md
  11. Verify — checks every artifact above; a failed check fails the port

Idempotent

Safe to re-run. Only rewrites files that changed (SHA-256 hash checked). Use --force to overwrite everything. New skills in ~/.claude/skills/ are picked up automatically at the next Pi session — the command extension discovers them at session start.

Uninstall

agentkit-pi-port --uninstall

Removes everything the tool created: extensions, ported agents, AGENTS.md (only if created by this tool), skill overrides, settings references, and pi-sub-agent. Also restores any SKILL.md.ak-original backups left in ~/.claude/skills/ by versions ≤1.0.0 (which incorrectly modified AgentKit skills in place — running any ≥1.1.0 command heals this automatically).

Testing

npm test

Runs the integration suite against a throwaway HOME fixture: full port, idempotent re-run, user-owned AGENTS.md guard, legacy-damage healing, and uninstall.

Requirements

  • Node.js >= 18
  • AgentKit installed at ~/.claude/
  • Pi CLI installed (npm install -g --ignore-scripts @earendil-works/pi-coding-agent)