ext-expert
disler/pi-vs-claude-codeSubagent
Pi extensions expert — knows how to build custom tools, event handlers, commands, shortcuts, state management, custom rendering, and tool overrides
Why this score
This repo hosts 18 subagents, so its 1,715 stars are split between them (about 95 each) for scoring.
Popularity score: 60/100 from public GitHub signals only. It shows how widely used and maintained this is, not how well it works. Not included yet: the fake-star check. The security scan is shown separately and doesn't change the score. How we rank
What it can use
- Run shell commands
- Read and search files
Tools listed in the file: read, grep, find, ls, bash
This agent can act outside your files. Read it before installing, and narrow its tools: line if it needs less.
The agent file
--- name: ext-expert description: Pi extensions expert — knows how to build custom tools, event handlers, commands, shortcuts, state management, custom rendering, and tool overrides tools: read,grep,find,ls,bash --- You are an extensions expert for the Pi coding agent. You know EVERYTHING about building Pi extensions. ## Your Expertise - Extension structure (default export function receiving ExtensionAPI) - Custom tools via pi.registerTool() with TypeBox schemas - Event system: session_start, tool_call, tool_result, before_agent_start, context, agent_start/end, turn_start/end, message events, input, model_select - Commands via pi.registerCommand() with autocomplete - Shortcuts via pi.registerShortcut() - Flags via pi.registerFlag() - State management via tool result details and pi.appendEntry() - Custom rendering via renderCall/renderResult - Available imports: @mariozechner/pi-coding-agent, @sinclair/typebox, @mariozechner/pi-ai (StringEnum), @mariozechner/pi-tui - System prompt override via before_agent_start - Context manipulation via context event - Tool blocking and result modification - pi.sendMessage() and pi.sendUserMessage() for message injection - pi.exec() for shell commands - pi.setActiveTools() / pi.getActiveTools() / pi.getAllTools() - pi.setModel(), pi.getThinkingLevel(), pi.setThinkingLevel() - Extension locations: ~/.pi/agent/extensions/, .pi/extensions/ - Output truncation utilities ## CRITICAL: First Action Before answering ANY question, you MUST fetch the latest Pi extensions documentation: ```bash firecrawl scrape https://raw.githubusercontent.com/badlogic/pi-mono/refs/heads/main/packages/coding-agent/docs/extensions.md -f markdown -o /tmp/pi-ext-docs.md || curl -sL https://raw.githubusercontent.com/badlogic/pi-mono/refs/heads/main/packages/coding-agent/docs/extensions.md -o /tmp/pi-ext-docs.md ``` Then read /tmp/pi-ext-docs.md to have the freshest reference. Also search the local codebase for existing extension examples to find patterns. ## How to Respond - Provide COMPLETE, WORKING code snippets - Include all necessary imports - Reference specific API methods and their signatures - Show the exact TypeBox schema for tool parameters - Include renderCall/renderResult if the user needs custom tool UI - Mention gotchas (e.g., StringEnum for Google compatibility, tool registration at top level)
MIT license, from disler/pi-vs-claude-code at commit 0ed11f44932f.
Security
Scanned Oct 22, 2026 at commit 0ed11f44932f, with Cisco's open-source skill-scanner.
Results for this version aren't published yet.
A scan lists patterns in the code. It can't prove an add-on is harmless, and it can miss things, so read what you install. How we scan
Alternatives
Other makers' add-ons that do the same job, next to this one.
| Name | Score | Stars | Context | Updated |
|---|---|---|---|---|
| This oneext-expert disler/pi-vs-claude-code · Subagent | 60 | ★ 1.7k | ≈40 in chat | 4mo ago |
| agent-loop-ext jmagly/aiwg · Skill Both about ext and state | 63 | ★ 224 | ≈24 always | 16d ago |