Personal pi coding agent customizations.
Inspired in part by Armin Ronacher's agent-stuff repository:
extensions/— TypeScript extensions (custom tools, commands, UI, event handlers)skills/— Skill definitions (SKILL.mdfolders or top-level.mdfiles)prompts/— Reusable prompt templates (.mdfiles, expand with/namein pi)themes/— Custom themes (.jsonfiles)
If you already have this repo locally, install it into pi with:
pi install ~/code/agent-stuffYou can also install from the current directory:
pi install .Then reload pi:
/reloadClone and install:
git clone https://github.com/curtisalexander/agent-stuff.git
cd agent-stuff
pi install .The PowerShell extension requires PowerShell Core to be installed and available as pwsh.
Check it with:
pwsh -NoLogo -NoProfile -Command '$PSVersionTable.PSVersion.ToString()'You can override the binary path with:
export POWERSHELL_BIN=/path/to/pwshThe CDP browser skill has a local Node dependency. Install it once after cloning:
cd skills/cdp-browser
npm install
cd ../..It also requires a Chromium-based browser with remote debugging enabled. The easiest way is:
node skills/cdp-browser/scripts/start.jsYou can then verify CDP is available with:
curl http://127.0.0.1:9222/json/versionAfter installing dependencies, reload pi if needed:
/reloadAdds a powershell tool plus a set of background-job tools (pwsh-start-job,
pwsh-get-job, pwsh-stop-job, pwsh-remove-job, pwsh-get-job-output) for:
- running PowerShell commands via
pwsh, with forced UTF-8 output - Windows-oriented shell workflows inside pi
- automatic
.cmd/.batretry viacmd.exe /cwhen pwsh fails on Windows - background processes (dev servers, watchers) that survive across tool calls
- streaming partial output to the TUI as commands run
- cross-platform PowerShell Core usage on macOS, Linux, and Windows
- automatically preferring PowerShell over
bashon Windows
The job-tool API shape is adapted from
@marcfargas/pi-powershell (MIT).
Implementation is Node-native rather than PowerShell's Start-Process.
Provides a CDP-powered browser skill for:
- inspired by ideas from Armin Ronacher's
agent-stuffCDP/web-browser skill - web search through a real Chromium browser session
- fetching rendered page contents
- handling JavaScript-dependent pages via Chrome DevTools Protocol