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

@howaboua/pi-auto-reasoning-tool

v0.1.7

Published

Pi package that gives agents a change_reasoning tool for adjusting reasoning level when substantial work is likely.

Downloads

1,066

Readme

pi-auto-reasoning-tool

A small Pi package that lets agents adjust their own reasoning level with a change_reasoning tool.

The tool is intentionally minimal: the agent directly chooses low, medium, or high, and the extension calls Pi's setThinkingLevel API. No scoring rubric, no UI, no commands.

After every successful/non-retryable agent run, the extension restores reasoning to the session's starting level. Retryable transport/provider failures keep the current level so Pi's auto-retry does not accidentally drop the agent back to the baseline.

Why

Pi already supports reasoning levels. This package exposes a narrow agent-callable tool so the agent can raise or lower its budget when a prompt or in-progress discovery actually needs it, while returning to the user's starting level afterward.

The prompt is conservative: agents are told to use the tool sparingly and preferably in parallel with other useful tool calls, avoiding standalone reasoning-change turns.

Install

pi install npm:@howaboua/pi-auto-reasoning-tool

Or add it to your Pi settings:

{
  "packages": ["npm:@howaboua/pi-auto-reasoning-tool"]
}

Then restart Pi or run /reload.

Tool

Registers one tool:

change_reasoning

Parameters:

level: low | medium | high

Behavior:

  1. Agent chooses level.
  2. Extension calls pi.setThinkingLevel(level).
  3. Tool result reports the previous and applied level.
  4. If Pi clamps the requested level because of model capability, the result says so.
  5. On the first agent_start, the extension captures the session's starting reasoning level.
  6. On agent_end, the extension restores reasoning to that starting level unless the last assistant message is a retryable error.

Agent-facing prompt copy

Description:

Set your reasoning level for the current task.

Prompt snippet:

Set reasoning level sparingly: low default/simple/back-and-forth/cleanup; medium complex single task or feature planning; high multiple tasks, architecture-spanning work, or unexpectedly hard issues.

Guidelines:

Use change_reasoning sparingly; it is often unnecessary because low is the default operating mode.

Prefer calling change_reasoning in parallel with other useful tool calls so you do not waste a turn only changing reasoning.

Use low for single simple tasks, back-and-forth conversations, or simple cleanup after harder tasks.

Use medium for complex single tasks or planning features.

Use high for handling multiple tasks in one turn, work spanning different architecture elements, or unexpected hard-to-solve issues during a turn.

Parameter:

level

Reasoning level to use for this task: low, medium, or high.

Development

npm install
npm run check
pi -e ./src/index.ts

Publish

npm publish --access public

License

MIT