Clone

git clone git@git.secluded.site:pi-extensions.git

README

pi-extensions

Licensed under MutuaL-1.2 REUSE status scratchanitch.dev badge Liberapay donation status

A collection of Pi extensions.

@amolith/pi-handoff

pi-handoff on NPM

Get to the end of the thing you're doing, then use a subagent to extract relevant bits from the current session and create a new one from them with /handoff thorough goal description. You can tell Pi to hand something off because it has a handoff tool too.

After extraction, whether triggered by you or Pi, the draft handoff goes in the new session's prompt editor and an auto-submit countdown starts that's cancelled by pressing most any key.

pi install npm:@amolith/pi-handoff

More info in the package's README

Based on handoff.ts and session-query.ts by Petr Baudis, licensed MIT accordingly. Reworked so the subagent calls a tool instead of expecting it to produce well-formed JSON, added an auto-submit countdown, and made the extraction model configurable.

@amolith/pi-personas

pi-personas on NPM

Code with a grumpy senior today and work with a patient tutor tomorrow. Switch between them with /persona. The active one persists across sessions until changed. Setting a persona prior to startup appends it to the system prompt. Changing it mid-session sends the persona content as a steering message.

pi install npm:@amolith/pi-personas

More info in the package's README

All mine :)

Development

Prerequisites: mise (installs Node and npm automatically).

# Install dependencies
npm install

# Format, lint, and type-check everything
mise run check

Contributing

Patch requests are in amolith/llm-projects on pr.pico.sh. You don't need a new account to contribute, you don't need to fork this repo, you don't need to fiddle with git send-email, you don't need to faff with your email client to get git request-pull working...

You just need:

  • Git
  • SSH
  • An SSH key
# Clone this repo, make your changes, and commit them
# Create a new patch request with
git format-patch origin/main --stdout | ssh pr.pico.sh pr create amolith/llm-projects
# After potential feedback, submit a revision to an existing patch request with
git format-patch origin/main --stdout | ssh pr.pico.sh pr add {prID}
# List patch requests
ssh pr.pico.sh pr ls amolith/llm-projects

See "How do Patch Requests work?" on pr.pico.sh's home page for a more complete example workflow.