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

@diegopetrucci/pi-contrarian

v0.1.1

Published

A read-only contrarian subagent extension for pi that stress-tests plans, designs, assumptions, and conclusions.

Downloads

269

Readme

contrarian

A read-only contrarian subagent for pi.

It adds a contrarian tool that spins up a separate pi subprocess to stress-test plans, designs, assumptions, bug hypotheses, review conclusions, and product directions by steelmanning the strongest credible opposing case.

This is adapted from the TLH contrarian subagent prompt into a standalone pi extension.

What it does

  • creates an isolated read-only subprocess
  • prefers a strong model on the opposite model family/provider when available, then falls back to the best available model
  • requests high reasoning by default for reasoning models, then clamps to the model-supported thinking level
  • defaults to read,grep,find,ls, with optional non-mutating bash inspection
  • renders the contrarian response with model, thinking level, timing, and usage info
  • shows a live contrarian status line and widget while the subprocess is running

Install

Standalone npm package

pi install npm:@diegopetrucci/pi-contrarian

Collection package

pi install npm:@diegopetrucci/pi-extensions

GitHub package

pi install git:github.com/diegopetrucci/pi-extensions

Then reload pi:

/reload

Usage

Ask pi normally, for example:

  • Use the contrarian to stress-test this refactor plan.
  • Ask contrarian for the strongest opposing case before we commit to this design.
  • Have contrarian review my bug hypothesis and identify what evidence could disprove it.

The main agent can call the tool directly.

User defaults

Use /contrarian to set persisted defaults that apply to future contrarian tool calls, including calls the agent launches automatically without per-call overrides.

/contrarian status
/contrarian model anthropic/claude-opus-4-8
/contrarian thinking high
/contrarian thinking auto
/contrarian clear model
/contrarian clear thinking
/contrarian clear

Use /contrarian-model inside pi to see what it would pick right now.

Tool-call parameters still win over these defaults. auto clears the configured default and restores the built-in selection behavior. Preferences are saved under pi's agent directory in extensions/contrarian.json.

Tool parameters

  • task - required prompt for the contrarian
  • includeBash - optional, adds bash for non-mutating inspection
  • model - optional explicit model override; falls back to the /contrarian model default, then auto-selection
  • thinkingLevel - optional reasoning/thinking override; falls back to the /contrarian thinking default, then built-in defaults
  • cwd - optional working directory override

Notes

  • The contrarian is intentionally read-only.
  • It never implements fixes or produces patches.
  • Its output separates confirmed objections, plausible concerns, and unresolved unknowns.
  • It is best for adversarial review before committing to a plan, design, or conclusion.