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

@yusukeshib/pi-stash

v0.3.1

Published

A personal stash of reusable prompt fragments for the Pi coding agent. Push prompts you think of mid-task, then pop them into the editor when you need them.

Readme

pi-stash

A per-session stash of reusable prompt fragments for the Pi coding agent.

Jot a prompt down whenever you think of it mid-task, then pop it into the editor when you actually need it. Think of it as a stack-like scratchpad for prompts — the ad-hoc, mutable companion to static prompt templates.

pi-stash pop menu

Why

You're deep in a task and a thought hits you: "oh, I should also have it rename that module" or "remember to ask for tests after this."

What do you do with that thought right now?

  • Queue it as a follow-up? Too eager — follow-ups fire automatically the moment the current turn ends, whether or not you're ready, and in an order you don't fully control.
  • Keep it in your head? You'll forget it the second the agent comes back with something interesting.
  • Paste it into a scratch file? Now you're juggling another window.

Sometimes you just want to park a prompt somewhere and then pull it out whenever you feel like it — on your own timing, by hand. Not auto-run, not queued the instant the turn ends, just stashed and waiting until you decide it's time.

That's the whole point of pi-stash:

  • Push the thought the moment it strikes, so you don't lose it or break flow.
  • Pop it back into the editor at exactly the moment you want it — not a second sooner.
  • Pick any one, in any order. Your stash is a menu, not a queue. Pop the third thing first, skip the rest, come back for them later — follow-ups can't do that.

You stay in control of what gets said, when, and in what order.

Install

pi install npm:@yusukeshib/pi-stash

Commands

| Command | Action | |---------|--------| | /stash <text> | Push — save the given text onto the stash. | | /stash | Pop — pick a saved entry, insert it into the editor, and remove it from the stash. Run repeatedly to stack several fragments together. | | /stash-clear | Delete every stashed entry in this session (with confirm). |

Shortcut

| Key | Action | |-----|--------| | Alt+S | If the editor has text, push it onto the stash and clear the editor. If the editor is empty, pop a saved entry into it. |

Alt+S is the one-key way to do what /stash does: park the prompt you're halfway through typing, or pull one back — without typing the command. Rebind it in ~/.pi/agent/keybindings.json if it clashes with another shortcut.

While the stash is non-empty, a red stash:N badge is shown in the footer so you never forget you have prompts parked.

How it works

pi-stash is not a set of predefined /name templates. It is a backlog you build up by hand during real work:

  1. While working, you think "I should also ask it to update the docs" — instead of derailing now, run /stash update the docs and changelog.
  2. Later, when you're ready, run /stash, pick that entry, and it drops into the editor. The entry is popped (removed) so the stash stays current.
  3. Pop multiple entries in a row to compose a larger prompt from fragments.

Storage

Entries are stored inside the session itself as custom session entries — each Pi session has its own independent stash. It survives restarts and /resume, and follows branching (/fork, /clone) correctly: a forked session sees the stash as it was at the fork point.

Nothing is written outside the session file, and the stash does not participate in the LLM context.

License

MIT © yusukeshib