pi-customization
Pi coding agent customization — Themes, Keybindings, Prompt Templates, System Prompt overrides, and Settings. Use when configuring or modifying the visual appearance, UI colors, keyboard shortcuts, prompt templates, or the default system prompt behavior of the pi terminal agent. Use for "custom theme pi", "change keybindings", "modify system prompt", "SYSTEM.md", "APPEND_SYSTEM.md", "settings.json", "keybindings.json", "prompt template", even if pi-cli-workspace is already active.
How do I install this agent skill?
npx skills add https://github.com/romiluz13/pi-agent-skills --skill pi-customizationIs this agent skill safe to install?
- Gen Agent Trust Hubpass
The skill provides instructions for customizing the 'Pi' coding agent, including its themes, keybindings, and system prompt. It identifies mechanisms where the agent's core instructions can be overridden or modified by files within a project directory (e.g., .pi/SYSTEM.md). This feature represents a surface for indirect prompt injection, as the agent may adopt instructions from files provided in untrusted or third-party repositories.
- Socketpass
No alerts
- Snykpass
Risk: LOW · No issues
- ZeroLeakspass
Score: 93/100 · 2 sections analyzed
What does this agent skill do?
Pi Customization
Grounding
pi-mono/packages/coding-agent/docs/themes.md— theme JSON format (name, optionalvars, required 51colorstokens), locations (~/.pi/agent/themes/*.json,.pi/themes/*.json, packages, settings, CLI--theme), hot reload, color value formats.pi-mono/packages/coding-agent/docs/keybindings.md— customization via~/.pi/agent/keybindings.json, namespaced action IDs (tui.input.submit,tui.editor.cursorUp,app.interrupt, etc.), key format (modifier+key), full action tables.pi-mono/packages/coding-agent/docs/prompt-templates.md— Markdown snippets invoked via/name, locations (~/.pi/agent/prompts/*.md,.pi/prompts/*.md, packages), positional arguments ($1,$2,$@,${@:N}), YAML frontmatter with optionaldescription.pi-mono/packages/coding-agent/README.md— Context Files section for.pi/SYSTEM.md,~/.pi/agent/SYSTEM.md, andAPPEND_SYSTEM.md.pi-mono/packages/coding-agent/docs/settings.md— the overallsettings.jsonstructure for tying these together.
Invariants
- Theme Format: Themes define
name(required, unique), optionalvarsfor reusable color aliases, and all 51colorstokens. There is notype,ui,syntax, orborderstop-level key — everything is undercolors. Loaded from~/.pi/agent/themes/*.json(global) and.pi/themes/*.json(project). - Keybinding Config: Keybindings are configured in
~/.pi/agent/keybindings.json(notsettings.json). IDs are namespaced:tui.input.submit(submit),tui.editor.cursorUp,app.interrupt, etc. Run/reloadto apply changes without restarting. - Prompt Template Arguments: Templates use
$1,$2,$@,${@:N}positional syntax — not{variable}or<include>. The filename (minus.md) becomes the/namecommand. - System Prompt Override: Replace the default system prompt with
.pi/SYSTEM.md(project) or~/.pi/agent/SYSTEM.md(global). UseAPPEND_SYSTEM.mdto append instead of replace. Context files and skills are still appended after the override.
Workflows
- Create a Theme: Copy
dark.jsonfrompackages/coding-agent/src/modes/interactive/theme/, customize color values under thecolorskey, place it in~/.pi/agent/themes/, and select via/settingsorpi --theme <name>. - Override Keys: Create or edit
~/.pi/agent/keybindings.jsonmapping action IDs to key arrays (e.g.,"tui.input.submit": ["ctrl+enter"]). Run/reloadto apply. - Create a Prompt Template: Write a
.mdfile in~/.pi/agent/prompts/with optional YAML frontmatter (description); use$1,$@for arguments. Invoke with/filenamein the editor. - Override the System Prompt: Create
.pi/SYSTEM.mdin the project or~/.pi/agent/SYSTEM.mdglobally to replace the default system prompt. UseAPPEND_SYSTEM.mdat the same locations if you want to append custom instructions instead.
Anti-patterns
- Do not hardcode keybindings into agent component source code — use the configurable namespaces from
keybindings.md. - Do not put keybindings in
settings.json— keybindings have their own file (~/.pi/agent/keybindings.json). - Do not use
{variable}or<include src="...">syntax in prompt templates — the actual syntax is$1,$@,${@:N}.
How can the creator link this skill?
Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.
<a href="https://skillzs.dev/skills/romiluz13/pi-agent-skills/pi-customization">View pi-customization on skillZs</a>