Personal pi configuration — agents, skills, extensions, and prompts that shape how pi works.
This is a fork of HazAT/pi-config. The original repo is tracked as upstream for easy syncing.
mkdir -p ~/.pi
git clone git@github.com:vchavkov82/pi-config ~/.pi/agent
cd ~/.pi/agent && ./setup.shOption B: Via brain repo (recommended)
pi-config is tracked as a git submodule at .agents/pi-config. On a new machine:
git clone --recurse-submodules git@github.com:vchavkov82/brain ~/.config/brain
brain setup # symlinks ~/.pi/agent -> .agents/pi-config
cd ~/.pi/agent && ./setup.sh- Checks that
piis installed (fails with a hint if missing) - Seeds a default
settings.jsonif none exists - Installs all pi packages (subagents, extensions, tools)
- Installs extension npm dependencies
- Warns if
auth.jsonis missing
Create ~/.pi/agent/auth.json:
{
"anthropic": "sk-ant-...",
"openai-codex": {
"type": "oauth",
"access": "...",
"refresh": "...",
"expires": 0
}
}auth.json is gitignored and will not be committed.
Pick up all config changes by restarting pi.
cd ~/.pi/agent && git pullThis fork tracks HazAT/pi-config as upstream. To pull in upstream changes:
# One-time: add upstream remote if not already set
git remote add upstream git@github.com:HazAT/pi-config.git
git fetch upstream
git checkout main
git merge upstream/mainResolve any conflicts, then push to your fork:
git push origin mainThis config uses subagents — visible pi sessions spawned in cmux terminals. Each subagent is a full pi session with its own identity, tools, and skills. The user can watch agents work in real-time and interact when needed.
- Subagents — visible cmux terminals running pi. Autonomous agents self-terminate via
subagent_done. Interactive agents wait for the user. - Agent definitions (
agents/*.md) — one source of truth for model, tools, skills, and identity per role. - Plan workflow —
/planspawns an interactive planner subagent, then orchestrates workers and reviewers. - Iterate pattern —
/iterateforks the session into a subagent for quick fixes without polluting the main context.
Specialized roles with baked-in identity, workflow, and review rubrics. Most agents ship with the pi-interactive-subagents package; local overrides live in agents/.
| Agent | Source | Purpose |
|---|---|---|
| spec | package | Interactive spec agent — clarifies WHAT to build (intent, requirements, ISC) |
| planner | package | Interactive planning — takes a spec and figures out HOW to build it |
| scout | package | Fast codebase reconnaissance — gathers context without making changes |
| worker | package | Implements tasks from todos, commits with polished messages |
| reviewer | package | Reviews code for quality, security, correctness |
| visual-tester | package | Visual QA — navigates web UIs via Chrome CDP, spots issues, produces reports |
| claude-code | package | Delegates autonomous tasks to Claude Code |
| researcher | local | Deep research using parallel.ai tools + Claude Code for code analysis |
| autoresearch | local | Autonomous experiment loop — runs, measures, and optimizes iteratively |
Loaded on-demand when the context matches.
| Skill | When to Load |
|---|---|
| commit | Making git commits (mandatory for every commit) |
| code-simplifier | Simplifying or cleaning up code |
| frontend-design | Building web components, pages, or apps |
| github | Working with GitHub via gh CLI |
| iterate-pr | Iterating on a PR until CI passes |
| learn-codebase | Onboarding to a new project, checking conventions |
| session-reader | Reading and analyzing pi session JSONL files |
| skill-creator | Scaffolding new agent skills |
| write-todos | Writing clear, actionable todos from a plan |
| self-improve | End-of-session retrospective — surfaces improvements and creates todos |
| cmux | Managing terminal sessions via cmux |
| presentation-creator | Creating data-driven presentation slides |
| add-mcp-server | Adding MCP server configurations |
| Extension | What it provides |
|---|---|
| answer/ | /answer command + Ctrl+. — extracts questions into interactive Q&A UI |
| cmux/ | cmux integration — notifications, sidebar, workspace tools |
| cost/ | /cost command — API cost summary |
| execute-command/ | execute_command tool — lets the agent self-invoke slash commands |
| todos/ | /todos command + todo tool — file-based todo management |
| Command | Description |
|---|---|
/plan <description> |
Start a planning session — spawns planner subagent, then orchestrates execution |
/subagent <agent> <task> |
Spawn a subagent (e.g., /subagent scout analyze the auth module) |
/iterate [task] |
Fork session into interactive subagent for quick fixes |
/answer |
Extract questions into interactive Q&A |
/todos |
Visual todo manager |
/cost |
API cost summary |
Installed via pi install, managed in settings.json. In this repo, external Pi packages are checked in as git submodules under .agents/_pi/packages/ and loaded via local relative paths from ~/.pi/agent/settings.json.
| Package | Description |
|---|---|
../_pi/packages/pi-interactive-subagents |
Submodule for subagent tools + agent definitions + /plan, /subagent, /iterate commands |
../_pi/packages/pi-parallel |
Submodule for parallel web search, extract, research, and enrich tools |
../_pi/packages/pi-smart-sessions |
Submodule for AI-generated session names |
../_pi/packages/pi-diff-review |
Submodule for interactive diff review UI |
../_pi/packages/chrome-cdp-skill |
Submodule for Chrome DevTools Protocol CLI visual testing |
../_pi/packages/pi-mcp-adapter |
Submodule for MCP adapter integration |
../_pi/packages/glimpse |
Submodule for Glimpse UI support |
../_pi/packages/pi-autoresearch |
Submodule for autoresearch workflows |
There's an issue with the selected model (claude-sonnet-latest). It may not exist or
you may not have access to it. Run /model to pick a different model.
What this means:
The default model configured in settings.json (e.g. claude-sonnet-latest or claude-opus-4-6) is either:
- Not available under your current API credentials or subscription tier
- Temporarily unavailable from the provider
- A model alias that has been deprecated or renamed
How to fix:
- Run
/modelinside pi to open the model picker - Select any model shown as available
- Optionally update
defaultModelin~/.pi/agent/settings.jsonto a model you have confirmed access to - If Anthropic models still fail, verify the local proxy at
http://localhost:6655/anthropicis running
Notes:
- Access to specific Claude models depends on your Anthropic API key and the local Anthropic-compatible proxy configuration
- If using another provider (OpenAI Codex, etc.), make sure the matching credentials are present in
auth.json - If you have access to multiple providers, switching provider via
/modelmay resolve the issue without changing auth
Original config by HazAT.
Extensions from mitsuhiko/agent-stuff: answer, todos
Skills from mitsuhiko/agent-stuff: commit, github
Skills from getsentry/skills: code-simplifier