pi-agent
Build with and use Pi, the minimal terminal coding harness. Use for installing Pi, configuring providers/models/settings, creating Pi skills/extensions/packages/themes/prompt templates, embedding Pi through the SDK, integrating over RPC or JSON event streams, parsing sessions, developing custom Pi providers and TUI components, or using ecosystem packages such as pi-subagents (delegation/orchestration), pi-mcp-adapter (MCP servers), pi-interview (interactive forms), and pi-web-access (web search, fetching, video understanding).
Author
Category
Development ToolsInstall
Hot:47
Download and extract to your skills directory
Copy command and send to AI Agent for auto-install:
Download and install this skill https://openskills.cc/api/download?slug=k-dense-ai-skills-pi-agent&locale=en&source=copy
Pi Agent - Minimal Terminal Encoder
Skill Overview
Pi Agent is an ultra-minimal terminal AI programming assistant. It is highly extensible through TypeScript extensions, skills, prompt templates, and custom providers, supporting local deployment and full-feature customization.
Use Cases
Suitable for developers to perform quick coding tasks in the terminal, including code reviews, project Q&A, and automation script writing. With the Pi CLI, you can invoke AI capabilities directly from the command line. It supports multiple work modes, including interactive sessions, single-command execution, and RPC integration.
Designed for developers who need to add custom tools, command handlers, event hooks, or UI components to Pi. Supports creating custom providers, OAuth integration, custom streaming, and building terminal UI components and widgets.
Suitable for scenarios where you want to embed AI capabilities into Node.js/TypeScript applications. Provides an SDK for in-process integration, supports RPC mode for cross-language integration, and offers JSON mode for processing command-line data streams.
Core Features
Pi delivers highly modular architecture via TypeScript extensions, supporting custom tools, command handling, event listeners, provider registration, path protection, project trust policies, UI prompts, and TUI components. Developers can package and share extensions, skills, prompt templates, and themes.
Offers three integration modes: SDK, RPC, and JSON. The SDK is for type-safe integration and state access in Node.js/TypeScript applications. RPC mode supports a language-agnostic JSONL protocol with process isolation. JSON mode is for one-shot command-line data stream pipelines.
Built-in support for multiple ecosystem packages, including pi-subagents (delegation/orchestration), pi-mcp-adapter (MCP server), pi-interview (interactive forms), and pi-web-access (web search, retrieval, and video understanding). Supports custom model entries, local models, agent configuration, and OAuth provider settings.
FAQ
What is Pi Agent? How do I get started?
Pi Agent is a minimal terminal coding encoder. You can install it globally via npm:
npm install -g @earendil-works/pi-coding-agent. After installation, run the pi command to start an interactive session. Before first use, configure at least one AI provider and an API key. It supports multiple providers including OpenAI, Anthropic Claude, and more.How do I create custom Pi skills and extensions?
Pi skills are defined using Markdown files under the
.pi/skills/ directory, including metadata, descriptions, and instructions. Extension development uses TypeScript, enabling custom tools, command handlers, event hooks, and UI components. For detailed development guidance, refer to the official documentation’s Extensions and Skills sections, or use the provided reference documents to get started quickly.What’s the difference between Pi’s RPC mode and SDK mode?
RPC mode is for scenarios with non-Node.js clients or when process isolation is required. It uses a language-agnostic JSONL protocol for communication. SDK mode is designed specifically for Node.js/TypeScript applications, providing type-safe features, direct state access, and in-process custom tools/extensions. When choosing, consider: if your client is Node.js and you need deep integration, choose the SDK; otherwise, choose RPC mode.