@yusukeshib/pi-stash

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.

Packages

Package details

extension

Install @yusukeshib/pi-stash from npm and Pi will load the resources declared by the package manifest.

$ pi install npm:@yusukeshib/pi-stash
Package
@yusukeshib/pi-stash
Version
0.1.0
Published
Jun 6, 2026
Downloads
not available
Author
yusukeshib
License
MIT
Types
extension
Size
383.5 KB
Dependencies
0 dependencies · 1 peer
Pi manifest JSON
{
  "extensions": [
    "extensions/index.ts"
  ],
  "image": "https://raw.githubusercontent.com/yusukeshib/pi-stash/main/assets/demo.png"
}

Security note

Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.

README

pi-stash

A personal 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 (with confirm).

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 live in a single global JSON file, shared across every Pi session on the machine (not per-project, not per-session):

~/.pi/agent/prompt-stash.json

Override the location with the PI_STASH_PATH environment variable:

export PI_STASH_PATH="$HOME/.config/pi/stash.json"

Note: the store is read-modify-written on each command. If two sessions edit the stash at the exact same moment, the last write wins.

License

MIT © yusukeshib