Skip to main content

Customization

Pi is designed to adapt to your workflow through prompt templates, skills, themes, and shareable packages. All customizations can be project-specific or global.

Prompt Templates

Reusable prompts as Markdown files with variable substitution.

Creating Templates

1

Create Template File

Create a .md file in:
  • ~/.pi/agent/prompts/ (global)
  • .pi/prompts/ (project-specific)
2

Use Template

Variable Substitution

Templates support bash-style argument substitution:
Usage:

Template Frontmatter

Loading Templates

Skills

On-demand capability packages following the Agent Skills standard.

Creating Skills

1

Create Skill Directory

2

Create SKILL.md

Bundled Resources

See ./test-templates/ for reusable test scripts.
Skills can reference bundled files using relative paths.

Skill Frontmatter

  • name: Lowercase, hyphens only, max 64 chars
  • description: Max 1024 chars, tells model when to use skill
  • disable-model-invocation: Prevents automatic loading (manual /skill:name only)

Using Skills

The model loads skills automatically when needed:

Skill Discovery

Skills are discovered from:
  1. ~/.pi/agent/skills/ (global)
  2. ~/.agents/skills/ (XDG standard)
  3. .pi/skills/ (project, from cwd upward)
  4. .agents/skills/ (project, XDG standard)
  5. Pi packages (see below)
Name collisions: Project skills override global skills.

Real-World Skill Example

Bundled Tools

Use ./scripts/test-migration.sh to validate migrations against test database.

Themes

Customize Pi’s appearance with theme files.

Built-in Themes

  • dark (default)
  • light

Creating Custom Themes

1

Create Theme File

2

Activate Theme

Hot Reloading

Themes hot-reload automatically. Modify the active theme file and see changes instantly in Pi.

Theme Locations

  • ~/.pi/agent/themes/ (global)
  • .pi/themes/ (project)
  • Explicit: pi --theme /path/to/theme.ts

Pi Packages

Bundle and share extensions, skills, prompts, and themes via npm or git.

Installing Packages

Managing Packages

Creating Packages

1

Initialize Package

2

Add Pi Manifest

3

Add Resources

4

Publish

Package Auto-Discovery

Without a pi field, Pi auto-discovers from conventional directories:

Finding Packages

Security Notice: Pi packages run with full system access. Extensions execute arbitrary code, and skills can instruct the model to perform any action. Review source code before installing third-party packages.

Package Storage

  • Global: ~/.pi/agent/git/ (git), global npm
  • Project: .pi/git/, .pi/npm/ (with -l flag)

Configuration Files

Global vs Project

~/.pi/agent/ - Applies to all projects

Environment Variables

Examples