dot314
Extensions, skills, and themes for the Pi coding agent. Several of the extensions are designed to facilitate integration of Pi and RepoPrompt CE.
This collection is tailored to my workflow and preferences. I may introduce breaking changes without notice. While most of the extensions are original or modified, some that were authored by others are republished here unmodified, and those may lag well behind their upstream versions. Extensions published as Pi packages receive my active maintenance.
Provenance key
| Symbol | Meaning | |--------|-------------------------| | ● | original | | ◐ | forked & modified | | ○ | republished unmodified |
Quick start
pi install git:github.com/w-winter/dot314 # install the package
pi config # enable/disable individual extensions and themes
Or try it for a single run without installing:
pi -e git:github.com/w-winter/dot314
Installation
Install as a Pi package
Requires Pi 0.86.0+ (see packages.md)
Install from git:
pi install git:github.com/w-winter/dot314
(or with the raw URL)
pi install https://github.com/w-winter/dot314
Project-local install (writes to .pi/settings.json):
pi install -l git:github.com/w-winter/dot314
After installing, use pi config to enable or disable individual extensions, skills, and themes. You can also filter in settings.json, as in this example:
{
"packages": [
{
"source": "git:github.com/w-winter/dot314",
"extensions": [
"./extensions/anycopy/index.ts",
"./extensions/branch-out/index.ts",
"./extensions/command-center/index.ts",
"./extensions/editor-enhancements/index.ts",
"./extensions/ephemeral-mode.ts",
"./extensions/files-touched.ts",
"./extensions/grounded-compaction/index.ts",
"./extensions/model-aware-compaction/index.ts",
"./extensions/move-session.ts",
"./extensions/repoprompt-mcp/src/index.ts",
"./extensions/session-ask/index.ts",
"./extensions/session-switch/index.ts"
]
}
]
}
Use !path to exclude specific extensions, or list only the ones you want. See package filtering for the full syntax.
Notes:
pi install ...runsnpm installin the package root automatically- Some extensions store optional per-user config under
~/.pi/agent/extensions/(e.g./... poly-notify,sandbox,tools,rp-native-tools-lock). These files are not part of the package install and are created on-demand or are optional.
Install individual extensions from npm
Many extensions are also published as standalone npm packages (see the npm column below). They can be installed with:
pi install npm:<package-name>
For example, pi install npm:pi-repoprompt-mcp.
See packages/ for all available npm packages.
Extensions
See extensions/README.md for more detailed descriptions.
Included in the Pi package
| | Extension | npm | Description |
|---|---|---|---|
| ● | anycopy/ | pi-anycopy | /tree with live syntax-highlighted preview + copy |
| ● | assistant-provenance/ | pi-assistant-provenance | Gives models awareness of mid-session model switches |
| ◐ | branch-out/ | pi-branch-out | Fork session into split pane or new tab with layout policies and optional model/message queuing |
| ● | command-center/ | pi-command-center | /command palette widget |
| ◐ | editor-enhancements/ | | File picker, shell completions, raw paste, double-esc and slash command remapping |
| ● | ephemeral-mode.ts | pi-ephemeral | Delete session on exit |
| ◐ | files-touched.ts | | Files read/modified widget with path normalization and tracking coverage of Pi-native tools, RepoPrompt, recognized bash/exec_command shell operations, and apply_patch |
| ● | fork-from-first.ts | pi-fork-from-first | Quickly fork session from first message to establish parent-child lineage in a blank new session |
| ● | grounded-compaction/ | pi-grounded-compaction | Compaction summarizer with model presets, custom prompts, shared files-touched tracking, and cross-provider checkpoint summaries |
| ◐ | handover/ | | Handover draft with files-touched → fork-from-first → prefill editor |
| ◐ | image-url-broker/ | | Publishes inline images as stable HTTPS URLs for supported providers |
| ● | md.ts | pi-md-export | Export session branch or last N turns to Markdown file or clipboard |
| ● | model-aware-compaction/ | pi-model-aware-compaction | Per-model compaction thresholds |
| ● | model-sysprompt-appendix/ | pi-model-sysprompt-appendix | Per-model system prompt additions |
| ● | move-session.ts | pi-move-session | Move current active session to a new cwd |
| ◐ | pi-claude-bridge/ | | Claude Agent SDK bridge for ToS-compliant Claude subscriptions usage in Pi |
| ◐ | pi-queue-steer/ | | Editable steering and follow-up queues with RepoPrompt-aware interruption events |
| ● | protect-paths/ | | Blocks .git/ access and node_modules/ writes (reads allowed), brew installs, and asks before deletes or piped shells. Pair with @aliou/pi-guardrails for .env protection |
| ● | repoprompt-mcp/ | pi-repoprompt-mcp | RepoPrompt MCP proxy with adaptive diff rendering, collapsed outputs, read-cache, and branch-safe binding |
| ● | reverse-thinking.ts | | Backward thinking-level cycling on shift+alt+tab |
| ◐ | sandbox/ | | OS-level sandboxing |
| ● | session-ask/ | pi-session-ask | Query "pre-historical" context (post-compaction, post-fork/handoff) via subagent |
| ◐ | session-switch/ | | /resume-style session picker with live preview, plus pi --switch-session startup relaunch |
| ◐ | screenshots-picker/ | | Screenshot picker with sent-image previews and Orca support |
| ● | skill-templates/ | pi-skill-templates | Nunjucks-templated SKILL.template.md skills rendered from invocation args, options, and flags, and composed from other skills |
| ◐ | stash/ | | Shortcut-driven editor draft stash, restore, and swap |
| ◐ | tool-horizon/ | | Hides older tool activity before a chosen session-tree horizon while retaining file provenance |
| ◐ | tools/ | | UI for enabling/disabling active Pi tools |
Also included
These extensions are tracked in the repository but not exported by the Pi package.
| | Extension |
|---|---|
| ● | brave-search/ |
| ◐ | btw/ |
| ○ | code-actions/ |
| ◐ | cmux/ |
| ● | codex-compaction-coordinator/ |
| ● | computer-use-toggle.ts |
| ● | context-limit-fallback/ |
| ◐ | extension-stats.ts |
| ● | inline-shell.ts |
| ○ | interactive-shell.ts |
| ● | iterm-tab-color.ts |
| ● | orca-session-tab-title/ |
| ◐ | plan-mode.ts |
| ● | pi-codex-apply-patch-display/ |
| ● | poly-notify/ |
| ○ | preset.ts |
| ● | repoprompt-cli/ |
| ● | roam/ |
| ● | rp-native-tools-lock/ |
| ● | subagent-bridge/ |
| ○ | titlebar-spinner.ts |
| ○ | todos.ts |
Other recommended extensions
These other extensions have also improved my QoL in Pi, so I recommend checking them out.
| Extension | Description | Install |
|---|---|---|
| bookmark (badlogic) | /bookmark to label the last message in the session tree | Copy to ~/.pi/agent/extensions/ |
| diff (badlogic) | /diff shows git-changed files and opens selected file in VS Code's diff view | Copy to ~/.pi/agent/extensions/ |
| loop (mitsuhiko) | /loop starts a follow-up loop with a breakout condition | Copy to ~/.pi/agent/extensions/ |
| pi-codex-conversion (IgorWarzocha) | Codex-shaped tools for openai-codex models, plus Responses compaction, model verbosity controls, cached transport, and other niceties | pi install npm:@howaboua/pi-codex-conversion |
| pi-codex-goal (fitchmultz) | Codex-style /goal tracking with model-callable goal tools, token and time accounting, and automatic continuation until the goal is complete | pi install npm:pi-codex-goal |
| pi-computer-use (injaneity) | Desktop app observation and interaction tools for macOS, Windows, and Linux | pi install npm:@injaneity/pi-computer-use |
| pi-guardrails (aliou) | .env file protection + AST-based dangerous command gates | pi install npm:@aliou/pi-guardrails |
| pi-interactive-subagents (HazAT) | Spawn, orchestrate, and manage async subagent sessions in multiplexer cmux panes; main agent keeps working while subagents run in the background | pi install git:github.com/HazAT/pi-interactive-subagents |
| pi-intercom (nicobailon) | Direct 1:1 messaging between Pi sessions; augments subagents nicely | pi install npm:pi-intercom |
| pi-interview (nicobailon) | Interactive form-based input gathering with native window support | pi install npm:pi-interview |
| pi-invisible-continue (monotykamary) | /continue resumes the agent loop without adding prompt text to the LLM context | pi install npm:pi-invisible-continue |
| pi-model-sort (monotykamary) | Sorts model lists by recent usage and restores per-model thinking levels | pi install npm:pi-model-sort |
| pi-nvim (aliou) | Bidirectional Neovim integration: nvim_context tool, LSP diagnostics at turn end, file reload after edits, visible-splits injection | Neovim plugin; see setup instructions |
| pi-prompt-template-model (nicobailon) | Adds model, skill, and thinking frontmatter to pi prompt templates and chained prompt template execution | pi install npm:pi-prompt-template-model |
| pi-retry (monotykamary) | Automatically retries most errors with capped backoff and continues after output-token limits | pi install https://github.com/monotykamary/pi-retry |
| pi-rewind-hook (nicobailon) | Records exact rewind points for files, allowing restoration during /tree navigation and across resumed and forked sessions | pi install npm:pi-rewind-hook |
| pi-rtk-optimizer (MasuRii) | Rewrites bash commands to their RTK equivalents and compacts noisy tool output to save tokens | pi install npm:pi-rtk-optimizer |
| pi-token-burden (Whamp) | Token usage breakdown and context burden analysis | pi install npm:pi-token-burden |
| pi-tool-display (MasuRii) | Compact tool call rendering with diff visualization | pi install npm:pi-tool-display |
| pi-web-access (nicobailon) | Gemini-powered web search with AI-synthesized overviews and citations | pi install npm:pi-web-access |
| whimsical (mitsuhiko) | Whimsical messages while the agent is working | Copy to ~/.pi/agent/extensions/ |
Themes
| | Theme |
|---|---|
| ● | violet-dawn.json |
| ● | violet-dusk.json |
Skills
The Pi package does not export skills. See skills/README.markdown for full descriptions.
| | Skill | Notes |
|---|---|---|
| ● | prose-review/ | |
| ● | rp/ | |
| ● | rp-deep-build/ | Requires pi-codex-goal |
| ◐ | text-search/ | |