pi-output-styles

Named, swappable system-prompt styles for Oh My Pi (OMP) and Pi — live /style switcher that replaces the personality slot.

Packages

Package details

extension

Install pi-output-styles from npm and Pi will load the resources declared by the package manifest.

$ pi install npm:pi-output-styles
Package
pi-output-styles
Version
0.3.2
Published
Aug 20, 2026
Downloads
353/mo · 165/wk
Author
loneexile
License
MIT
Types
extension
Size
33.7 KB
Dependencies
0 dependencies · 0 peers
Pi manifest JSON
{
  "extensions": [
    "./extensions"
  ],
  "image": "https://github.com/LoneExile/pi-output-styles/raw/main/assets/demo.gif",
  "video": "https://github.com/LoneExile/pi-output-styles/raw/main/assets/demo.mp4"
}

Security note

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

README

pi-output-styles

npm version npm downloads CI license

Named, swappable system-prompt styles for Oh My Pi (OMP) and Pi — with a live /style switcher. Unlike Claude Code's output styles (which need /clear to switch), styles here apply and switch live, mid-session.

An active style replaces everything from # Personality through the next § heading (including nested # Tone / # Reasoning). Tools, skills, Role, Engineering, Runtime, and later project/safety blocks stay. Applied every turn. Custom SYSTEM.md with no personality heading: inject before § Runtime, else before the first other §, else at the end of block 0.

/style demo

Install

# Oh My Pi
omp plugin install npm:pi-output-styles
# or from source:
omp plugin install github:LoneExile/pi-output-styles

# Pi
pi install npm:pi-output-styles
# or from source:
pi install git:github.com/LoneExile/pi-output-styles

Then start a new session. Extensions do not hot-reload.

Upgrading from 0.2.x

0.2.x appended a footnote. 0.3+ replaces the personality slot. Lens styles (concise, reviewer, ste, diagrams-first, explanatory) now stand alone. Pin 0.2.1 if you need append. Uninstall first — install alone is a no-op on an existing OMP plugin:

omp plugin uninstall pi-output-styles && omp plugin install npm:pi-output-styles
pi uninstall npm:pi-output-styles && pi install npm:pi-output-styles

Then a new session.

Use

  • /style — show the active style and list available ones.
  • /style <name> — activate a style for this session.
  • /style <name> --save — also save it as your personal (user) default.
  • /style <name> --project — save it as the project default (committed with the repo).
  • /style off — clear the active style for this session (overrides any saved default). none is an alias; off --save / off --project also clears the saved default.
  • While composing /style, a hint line below the input shows the available flags (--save / --project).

The style is applied every turn. The status line shows style: eli5. /style off restores OMP’s default personality on the next turn.

Bundled styles

omp-default · omp-friendly · omp-pragmatic · concise · explanatory · teacher · reviewer · diagrams-first · ste · eli5.

omp-default / omp-friendly / omp-pragmatic are Oh My Pi's own built-in personality presets (default is the voice active when no style is selected). Useful to pin one explicitly, or as a base for Pi users (who have no native personality picker).

ste writes in ASD-STE100 Simplified Technical English, adapted from Ege Chelebi's ste-writing skill.

eli5 is Lydia Hallie's ELI5 style.

Custom styles

Drop a Markdown file in either location (filename = style name unless overridden):

  • Project: <repo>/.omp/output-styles/<name>.md
  • Personal: ~/.omp/agent/output-styles/<name>.md
---
name: teacher
description: Teach as you go
---
Act as a patient teacher. Explain the concept before applying it.

The body becomes the personality slot. Precedence — definitions: project > user > bundled; which style is active: session /style > user default > project default.

Config

  • PI_OUTPUT_STYLES_HOME — override the user config base (default ~/.omp/agent).
  • User default (written by --save): ~/.omp/agent/pi-output-styles.json (base overridable via PI_OUTPUT_STYLES_HOME).
  • Project default (written by --project, git-tracked): <repo>/.omp/pi-output-styles.json.

Develop

bun install
bun test
bun x tsc --noEmit