@blazer2k/pi-personality

Codex-style /personality command for pi.

Packages

Package details

extension

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

$ pi install npm:@blazer2k/pi-personality
Package
@blazer2k/pi-personality
Version
0.1.2
Published
Jun 14, 2026
Downloads
not available
Author
blazer2k
License
MIT
Types
extension
Size
118.4 KB
Dependencies
0 dependencies · 2 peers
Pi manifest JSON
{
  "extensions": [
    "./src/index.ts"
  ],
  "image": "https://raw.githubusercontent.com/blazer2k/pi-blz/main/packages/pi-personality/images/bg.jpg"
}

Security note

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

README

@blazer2k/pi-personality

Switchable communication styles for pi, inspired by Codex CLI's /personality command.

Current version: 0.1.2

Why This Matters

From OpenAI's Codex Prompting Guide:

Personality is the higher-level vibe and collaboration posture that sits above preamble mechanics. It affects word choice, how eagerly the model explains tradeoffs, and how much warmth it brings to the interaction.

Personality does not change tool-calling behavior, code quality, or reasoning depth. It calibrates the collaboration experience: how the agent communicates progress, raises concerns, and presents results. For interactive pair-programming, this matters. For headless runs, it does not.

Overview

This extension adds a /personality command that lets you pick a communication style for pi. The chosen personality is appended to the system prompt, steering the model's tone, escalation style, and collaboration posture.

Included Personalities

Personality Style Origin
Pragmatic Concise, task-focused, direct. No fluff, no cheerleading. Copied from Codex CLI
Friendly Warm, encouraging, collaborative. Uses "we" and "let's". Copied from Codex CLI
Teacher Builds durable understanding while getting work done. Teaches at decision points. Custom

Custom Personalities

Drop .md files with YAML frontmatter into ~/.pi/agent/personalities/:

---
name: MyStyle
description: A custom communication style
---

Your system prompt text here...

Custom personalities with the same name as a builtin override it. Others appear alongside builtins in the picker.

Installation

pi install npm:@blazer2k/pi-personality

Or install locally for development:

git clone https://github.com/blazer2k/pi-blz.git
cd pi-blz
npm install
pi -e ./packages/pi-personality/src/index.ts

Usage

Type /personality in pi to open the style picker. Select a personality and it takes effect immediately for the current session.

Caveats

  • Mutates the system prompt. The personality text is appended to the existing system prompt via the before_agent_start hook. This adds ~500-800 tokens to the context window.
  • File changes require reload. If you edit a personality .md file while pi is running, the extension will not pick up the changes until you /reload or switch to a different personality and back.
  • Beware of untrusted prompts. Custom personalities are injected directly into the system prompt. If you install personalities from unknown sources, review their content first; a malicious prompt could steer the agent's behavior in unintended ways.

Persistence

The active personality is saved to ~/.pi/agent/personality-state.json and restored on next session.

License

MIT