pi-mono-extensions is a pnpm workspace that collects installable extensions for the pi coding agent. Each package under extensions/ adds a focused capability to pi: new tools, slash commands, TUI panels, workflow automation, security guards, design/product integrations, or bundled skills.
You can install the full bundle with one command, or install only the extensions you need. This README is the top-level catalog; each extension section links to its own README for deeper usage, configuration, and development details.
Install all extensions and bundled skills at once:
pi install npm:pi-mono-allOr install individual extensions by package name from the sections below.
Load an extension temporarily for local testing:
pi -e /path/to/pi-extensions/extensions/btw/index.tsFull details: extensions/ask-user-question/README.md.
Registers the ask_user_question tool so agents can ask structured questions with interactive TUI controls — radio buttons, checkboxes, and multi-line text inputs — instead of plain-text follow-up questions.
pi install npm:pi-mono-ask-user-questionUse the ask_user_question tool when a task needs structured user input:
ask_user_question
- radio: choose one option
- checkbox: choose many options
- text: free-form input
Example prompts agents can satisfy with this tool:
- “Ask me which implementation option to use.”
- “Let me pick multiple files/features before continuing.”
- “Collect a short free-form requirement before editing code.”
Full details: extensions/auto-fix/README.md.
Runs language-appropriate fixers such as eslint, prettier, and black on files written during a turn. Fixes are applied silently and summarized once at agent_end.
pi install npm:pi-mono-auto-fixInstall it and keep working normally. When the agent writes supported files, auto-fix queues and runs the matching fixer automatically.
Examples:
Ask pi to edit TypeScript, JavaScript, Python, or formatted text files.
auto-fix applies available project fixers after writes.
See the extension README for supported fixer rules and configuration examples.
Full details: extensions/btw/README.md.
Adds Claude Code-style /btw behavior for asking a quick side question while pi is busy with the main task. Answers appear in a passive widget and are kept out of the visible transcript and future LLM context.
pi install npm:pi-mono-btw/btw What does this error mean?
/btw Give me a shorter name for this function
/btw Summarize the current approach in one paragraph
You can also press Ctrl+Shift+B to ask the current editor text as a side question.
- Works while pi is idle or busy.
- Uses the active model and current session transcript as context.
- Stores question/answer metadata as hidden session entries.
Full details: extensions/clear/README.md.
Adds a /clear command that starts a fresh session, similar to the built-in /new command.
pi install npm:pi-mono-clear/clear
Or press Ctrl+Shift+L.
- If the agent is busy,
/clearwaits for it to finish before switching sessions. - Creates a new session via
ctx.newSession(). - Shows a warning if the new-session request is cancelled and an error notification if clearing fails.
Full details: extensions/context/README.md.
Adds a Claude Code-style /context command that prints current context-window usage, estimated category breakdown, extension allocation, session stats, and active tool/command sections without adding the report to future LLM context.
pi install npm:pi-mono-context/context
The printed report is display-only and filtered from future LLM context.
Full details: extensions/context-guard/README.md.
Keeps pi sessions lean by intercepting tool calls before they execute and reducing repeated or unbounded context-heavy output.
pi install npm:pi-mono-context-guardInstall it and keep working normally. The extension automatically:
- injects a default
limitof120onreadcalls that omit a limit - blocks duplicate unchanged
readcalls with the same path, offset, and limit - appends
| head -60to unboundedrgusage insidebashcommands
The read dedup cache is session-scoped and invalidates when file mtimes change.
Full details: extensions/figma/README.md.
Registers native Figma tools for design context, node summaries, rendered screenshots, implementation guidance, text extraction, asset extraction, component hints, Code Connect lookup, and raw JSON debugging escape hatches. It also bundles a Figma skill for design-to-code workflows.
pi install npm:pi-mono-figmaAuth is read from FIGMA_TOKEN or ~/.pi/agent/auth.json at .figma.token.
For masked token setup or update, use:
/figma-auth --force
Agents can also use the figma_configure_auth tool when authentication is missing, expired, invalid, or explicitly requested.
Explain a Figma node:
figma_parse_url
figma_render_nodes
figma_explain_node
Implement a design:
figma_parse_url
figma_find_nodes_by_name or figma_find_nodes_by_text
figma_get_implementation_context
figma_extract_assets
Useful tools include:
figma_get_design_contextfigma_get_node_summaryfigma_extract_textfigma_get_component_implementation_hintsfigma_find_code_connect_mapping
Rendered/generated image files default to OS temp directories unless outputDir is explicitly provided.
Full details: extensions/linear/README.md.
Registers native Linear tools for workspace metadata, issue search, issue details, create/update/comment operations, projects, cycles, labels, users, documents, file uploads, and Markdown description image reading for issue screenshots. It also bundles a Linear workflow skill.
pi install npm:pi-mono-linearAuth is read from LINEAR_API_KEY or ~/.pi/agent/auth.json at .linear.key.
For masked key setup or update, use:
/linear-auth --force
Agents can also use the linear_configure_auth tool when authentication is missing, expired, invalid, or explicitly requested.
Find and inspect issues, including Markdown screenshots in issue descriptions when the active model supports image input:
linear_workspace_metadata
linear_search_issues
linear_get_issue
Update or comment on an issue:
linear_get_issue
linear_update_issue
linear_create_comment
Upload a file to an issue comment:
linear_get_issue
linear_upload_file_to_issue_comment
Full details: extensions/loop/README.md.
Adds a /loop command that runs a prompt or slash command immediately and then repeats it on a recurring interval.
pi install npm:pi-mono-loop/loop [interval] <prompt>
/loop list
/loop stop
/loop stop <id>
Examples:
/loop 5m /review
/loop 30m check the deploy
/loop 1h run the tests and report failures
/loop check the deploy # defaults to 10m
/loop check the deploy every 20m # trailing "every" clause
/loop list
/loop stop loop-1
/loop stop
- Supports
s,m,h, anddinterval suffixes. - Defaults to
10mwhen no interval is given. - Minimum interval is 10 seconds.
- Loops auto-expire after 7 days.
- If the agent is busy when a timer fires, the prompt is queued as a follow-up.
Full details: extensions/multi-edit/README.md.
Replaces the built-in edit tool with an enhanced version that supports classic single edits, batch edits across multiple files, and Codex-style patch payloads, all validated against a virtual filesystem before real writes occur.
pi install npm:pi-mono-multi-editClassic edit:
edit(path, oldText, newText)
Batch edit:
edit(multi: [
{ path, oldText, newText },
{ path, oldText, newText }
])
Patch edit:
edit(patch: "*** Begin Patch ... *** End Patch")
- preflight validation
- atomic multi-file rollback
- same-file positional ordering
- quote-normalized matching for classic edits
- redundant edit detection
- diff generation
Full details: extensions/review/README.md.
Adds /review and /review-tui for reviewing GitHub pull requests or GitLab merge requests and submitting selected comments through an interactive review UI.
pi install npm:pi-mono-review/review https://github.com/org/repo/pull/123
/review https://gitlab.com/group/project/-/merge_requests/45
/review-tui
- Detects GitHub vs GitLab from the URL.
- Fetches the diff using the appropriate CLI.
- Runs review with a scoped
report_findingtool when supported, with JSON fallback. - Prints a compact P0–P3 findings summary.
- Stores the review for
/review-tui, where findings can be approved, dismissed, edited, and submitted.
Full details: extensions/sentinel/README.md.
Adds content-aware security guards that pre-scan reads for secret patterns, track write/execute correlation, gate risky bash/write/edit operations, and provide a local token vault for $TOKEN_name placeholders without exposing secret values to the LLM.
pi install npm:pi-mono-sentinelInstall it and keep working normally. sentinel automatically guards supported tool calls.
Examples of guarded behavior:
- blocks or warns on reads that appear to contain secrets
- asks for confirmation before indirectly executing newly written files
- lets agents reference stored credentials by placeholder rather than raw secret value
Full details: extensions/simplify/README.md.
Adds a /simplify command that reviews git-changed files for code reuse, quality, and efficiency, then fixes any issues found.
pi install npm:pi-mono-simplify/simplify
/simplify <additional focus>
Examples:
/simplify
/simplify focus on performance and memory usage
/simplify pay extra attention to React re-renders
- Runs
git difforgit diff HEADto identify changed files. - Launches parallel review agents for code reuse, code quality, and efficiency.
- Aggregates findings, applies fixes directly, and summarizes changes.
- Appends any extra text after
/simplifyas additional review focus.
Full details: extensions/status-line/README.md.
Adds a configurable footer with basic and expert modes. Basic mode shows a compact two-line layout with token stats; expert mode adds a visual context gauge, enhanced git status, session cost, and subscription usage indicators.
pi install npm:pi-mono-status-lineInstall it and start pi normally. Configure the mode with PI_STATUS_LINE_MODE or ~/.pi/agent/status-line.json.
Examples:
PI_STATUS_LINE_MODE=expert pi{
"mode": "basic"
}Full details: extensions/team-mode/README.md.
Adds flat peer-agent orchestration: named, addressable workers spawned as isolated pi subprocesses with resumable context, task notifications, continuation via send_message, and a shared TODO board with CAS version counters.
pi install npm:pi-mono-team-modeAgents can spawn and coordinate teammates with tools such as:
agent
send_message
task_create
task_update
task_list
Typical workflow:
agent(description: "Research API", name: "api-researcher", prompt: "...")
# wait for <task-notification>
send_message(to: "api-researcher", message: "Follow up with ...")
- Supports isolated worktrees for worker edits.
- Supports teammate role specs from
.pi/teammates/or.claude/teammates/. - Supports delegate groups and live progress.
Full details: extensions/usage/README.md.
Adds a /usage command that aggregates local pi session files and renders an inline dashboard for usage, cost drivers, provider/model breakdowns, and environmental footprint estimates.
pi install npm:pi-mono-usage/usage
Inside the dashboard:
Tabor arrows cycle the period: Today, This Week, Last Week, All Time.vor1/2/3switch views.qorEsccloses the panel.
- Summary — totals, top providers, and footprint estimate.
- Providers — per-provider table with expandable per-model rows.
- Patterns — cost-driver insights.
Full details: extensions/web-search/README.md.
Registers native web_search and web_read tools for online research. Search uses DuckDuckGo result pages, and page reading extracts readable article text with Mozilla Readability plus a lightweight HTML fallback.
pi install npm:pi-mono-web-searchSearch the web:
web_search(query: "pi coding agent extensions", maxResults: 5)
Read a result or known URL:
web_read(url: "https://example.com/article")
Typical workflow:
web_search
web_read
summarize or cite findings
web_search— returns titles, URLs, and snippets.web_read— fetches a URL and returns cleaned readable content.