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

@rynfar/meridian-plugin-pi-scrub

v0.2.0

Published

Meridian plugin: strip pi-identifying fingerprints from the system prompt before it reaches Claude.

Readme

@rynfar/meridian-plugin-pi-scrub

A Meridian plugin that strips pi-coding-agent's identifying fingerprints from the system prompt before it reaches Claude.

Why

Pi's built-in default prompt opens with "You are an expert coding assistant operating inside pi, a coding agent harness..." and includes a multi-line "Pi documentation" block that references pi's SDK, extensions, themes, etc.

When Meridian routes pi → Claude Max with codeSystemPrompt: true, those pi-identity sections are:

  1. Redundant — Claude Code's preset already owns identity, tone, safety, and general tool-use guidance.
  2. A detection fingerprint — they give Anthropic's detection a clear "this isn't Claude Code" signal that can trigger Extra-Usage billing or rate-limit flags.

This plugin surgically removes those two blocks and replaces the identity paragraph with a neutral, generic coding-assistant framing. Everything else in pi's prompt (tools list, guidelines, date, cwd, any user- or harness-appended content, subagent-specific prompt body, project context, skills block) is preserved verbatim.

The scrub is idempotent — running it twice on the same string is a no-op.

Install

Option 1: Local clone (recommended for dev)

git clone https://github.com/rynfar/meridian-plugin-pi-scrub.git ~/repos/meridian-plugin-pi-scrub
cd ~/repos/meridian-plugin-pi-scrub
npm install
npm run build

Then point Meridian's plugin config at the built file:

mkdir -p ~/.config/meridian
cat > ~/.config/meridian/plugins.json <<'JSON'
{
  "plugins": [
    { "path": "/Users/YOU/repos/meridian-plugin-pi-scrub/dist/index.js", "enabled": true }
  ]
}
JSON

Restart Meridian (or curl -X POST http://localhost:3456/plugins/reload).

Verify at http://localhost:3456/plugins — you should see pi-scrub listed as active.

Option 2: Drop-in file

If you prefer auto-discovery, symlink or copy dist/index.js into ~/.config/meridian/plugins/:

ln -s ~/repos/meridian-plugin-pi-scrub/dist/index.js ~/.config/meridian/plugins/pi-scrub.js

Behavior

| Input | Output | |---|---| | No system prompt | unchanged | | System prompt without pi identity markers | unchanged (idempotent) | | Pi's default system prompt | identity line swapped for generic, Pi docs block removed, spacing normalized | | Pi prompt + harness/user additions | pi identity stripped, all additions preserved |

The plugin is scoped to adapters: ["pi"], so it has no effect on requests from OpenCode, Crush, Droid, ForgeCode, or the passthrough adapter.

Development

npm install
npm run build

The built plugin is a single ES module at dist/index.js with dist/index.d.ts for types.

License

MIT