Armin's personal Pi Coding Agent package: reusable skills, extensions, prompt commands, themes, and a few supporting utilities that I use across projects.
The package is published to npm as mitsupi. The Pi package manifest in package.json exports:
extensionsas Pi extensionsskillsas agent skillsthemesas Pi themescommandsas prompt commands
Most items are tuned for my workflow and environment, so expect to adjust paths, credentials, or defaults before reusing them elsewhere.
Prompt commands live in commands:
/discuss- Planning interviewer mode. It inspects the project first, asks focused questions in short rounds, and stops once the plan is clear enough to implement.
Skills live in skills. Each skill has a SKILL.md plus any helper scripts it needs.
/anachb- Query Austrian public transport via VOR AnachB: station search, real-time departures, routes, and disruptions./apple-mail- Search and read Apple Mail's local storage, including raw messages and attachment extraction./commit- Guidance for making concise git commits with good subjects and bodies./frontend-design- Create distinctive, production-ready frontend UI with strong visual direction./ghidra- Run Ghidra headless analysis for binaries, functions, strings, symbols, call graphs, and decompilation./github- Use theghCLI for GitHub issues, pull requests, runs, and API queries./google-workspace- Access Drive, Docs, Calendar, Gmail, Sheets, Slides, Chat, and People APIs through local helper scripts./librarian- Cache and refresh remote git repositories under~/.cache/checkouts/<host>/<org>/<repo>./native-web-search- Trigger native web search with concise summaries and source URLs./oebb-scotty- Plan Austrian rail journeys and check ÖBB Scotty station departures, arrivals, trips, and disruptions./openscad- Create/render OpenSCAD models, preview angles, extract parameters, validate syntax, and export STL files./pi-share- Fetch and parse shared Pi session transcripts from pi-share URLs./sentry- Fetch and analyze Sentry issues, events, transactions, and logs./summarize- Convert URLs or local documents to Markdown withuvx markitdown, optionally summarizing them./tmux- Remote-control tmux sessions for interactive CLIs by sending keystrokes and scraping pane output./update-changelog- Guidance for updating changelogs with notable user-facing changes./uv- Preferuvfor Python projects, scripts, dependencies, and builds./web-browser- Automate Chrome/Chromium through the Chrome DevTools Protocol.
Pi extensions live in extensions:
answer.ts-/answerplusctrl+.to extract questions from the last assistant message and answer them in an interactive Q&A flow.btw.ts-/btwside-chat popover for quick tangential questions, with thread restore/reset behavior.control.ts- Session control sockets,/control-sessions, and thesend_to_session/list_sessionstools for communicating with other live Pi sessions.files.ts-/filesbrowser with git status and session references, plus shortcuts to browse, reveal, and Quick Look referenced files.goal.ts-/goallong-running objective mode with automatic continuation and theget_goal,create_goal, andupdate_goaltools.multi-edit.ts- Enhancededittool supporting single edits, batchmultiedits, and Codex-style patches with preflight validation.no-sleep.ts-/no-sleepmacOScaffeinateintegration to prevent sleep while an agent or session is active.notify.ts- Native terminal desktop notification when the agent finishes and is ready for input.prompt-editor.ts-/mode,ctrl+shift+m, andctrl+spaceprompt-mode selector with persistence and shortcuts.review.ts-/reviewand/end-reviewfor reviewing uncommitted changes, branches, commits, PRs, or folder snapshots.session-breakdown.ts-/session-breakdownTUI for 7/30/90-day session usage, token, model, and cost analysis.split-fork.ts-/split-forkto branch the current session into a new Pi process in a right-hand Ghostty split.todos.ts-/todosTUI plustodotool for file-backed tasks in.pi/todosorPI_TODO_PATH.trust-github-repos.ts- Automatically trusts GitHub checkouts owned byearendil-worksormitsuhiko.uv.ts- Replaces the bash tool with auv-aware version that injects Python command shims and blocks common non-uvworkflows.whimsical.ts- Replaces the default thinking/status text with random whimsical phrases.
Custom themes live in themes:
dayowl.json- Light Day Owl-inspired theme.modern-dark.json- Dark orange/blue-gray theme.nightowl.json- Night Owl-inspired theme.
intercepted-commands- Shell shims forpip,pip3,poetry,python, andpython3. These are used byextensions/uv.tsto nudge agents towarduv.analyze-edits.py-uv runscript for analyzingedittool usage in Pi session JSONL files..github/workflows/npm-publish.yml- Publishes the npm package on semver tags when the tag matchespackage.json.
Install dependencies with npm:
npm installRelease notes for this repository are in CHANGELOG.md. The package currently relies on Pi to load TypeScript extensions directly from the paths declared in package.json.