@esauflores/pi-agent-prompts

Coding profiles: inject a prompt file as a persistent system-prompt mode

Packages

Package details

extension

Install @esauflores/pi-agent-prompts from npm and Pi will load the resources declared by the package manifest.

$ pi install npm:@esauflores/pi-agent-prompts
Package
@esauflores/pi-agent-prompts
Version
0.1.1
Published
Oct 4, 2026
Downloads
327/mo · 8/wk
Author
esauflores
License
MIT
Types
extension
Size
15.3 KB
Dependencies
0 dependencies · 2 peers
Pi manifest JSON
{
  "prompts": [],
  "extensions": [
    "./src/index.ts"
  ]
}

Security note

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

README

@esauflores/pi-agent-prompts

Turn any markdown file in prompts/ into a slash command that injects it as a persistent coding profile.

/coding-full      activate (press again to switch off)
/coding-plan
/coding-review
/coding-solo

The profile rides in a system-prompt section, so it outranks turn history: it applies to every request until you toggle it off, instead of being a one-shot message that later turns erode. The active profile shows in the footer as ◈ coding-solo.

Install

pi install npm:@esauflores/pi-agent-prompts

Add your own profiles

Drop a .md file into prompts/ and run /reload. The filename becomes the command name:

prompts/
├── coding-full.md     →  /coding-full
├── coding-plan.md     →  /coding-plan
├── coding-review.md   →  /coding-review
└── coding-solo.md     →  /coding-solo

Add foo.md, get /foo — no registration, no config. The first heading or line of the file becomes the command description in the menu. Names must be [a-z][a-z0-9-]*; other files are ignored.

Install into a project instead

To keep profiles with a repository, copy the extension into the project and point at it:

{ "packages": ["./.pi/pi-agent-prompts"] }

Behavior

  • Running the active profile's command again turns it off.
  • The choice is stored as a branch-local session entry, so /tree navigation and forks see the profile belonging to that branch, not the last one you picked.
  • It survives /reload and session resume; the state is restored on both session_start and session_tree.

Limits

  • Profiles are added to the system prompt, so a large one costs context on every request.
  • Only the newest profile entry on the current branch is active; activating another replaces it rather than stacking.