Home / Subagents / ext-expert

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

ScannedSubagentSource: GitHub
1,715 stars +6 this week Updated 4mo ago License MIT Context ≈40 tokens in your chat
60popular

Why this score

Stars14/35
Usage (forks)6/15
Upkeep15/25
License15/15
Owner history10/10

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.

NameScoreStarsContextUpdated
This oneext-expert disler/pi-vs-claude-code · Subagent 60★ 1.7k≈40 in chat4mo ago
agent-loop-ext jmagly/aiwg · Skill Both about ext and state 63★ 224≈24 always16d ago