New to Claude Skills? Learn how to install them →

k-dense-ai on GitHub

Pi Agent

Free

A terminal coding harness for building and operating Pi.

Get this skill

Free · Opens the source repo

What Pi Agent does

Pi Agent is designed for developers and designers who want to leverage the Pi terminal coding harness for various tasks. It provides a comprehensive framework for installing, configuring, and extending Pi through TypeScript. Users can create custom skills, extensions, and packages, as well as manage environment variables and settings. The skill supports multiple integration modes, including RPC and JSON event streams, allowing for flexible interaction with Pi and its ecosystem.

The skill is particularly useful for those looking to build upon Pi's capabilities. It offers a structured approach to developing custom tools, managing local models, and integrating with external services. Users can easily set up and authenticate providers, configure API keys, and utilize various cloud services. The documentation includes detailed references for day-to-day usage, extension development, and security practices, ensuring that users can effectively navigate the complexities of the Pi environment.

For developers working on AI-related projects, Pi Agent facilitates the integration of local models and the llama.cpp router, enabling users to run models efficiently. The skill also includes features for creating terminal UI components and handling sessions, making it suitable for building interactive applications. With its focus on modularity and extensibility, Pi Agent is an ideal choice for those looking to enhance their coding workflows and create custom solutions within the Pi framework.

When to use it

Use Pi Agent when you need to build custom extensions or skills for Pi, or when you want to manage and configure Pi environments effectively.

When not to use it

This skill may not be suitable for users looking for a simple, standalone coding tool without the need for extensive customization or integration.

What you can build with it

Building Custom Skills

Developers can create tailored skills for Pi, enhancing its functionality to meet specific project needs.

Integrating External Services

Use Pi Agent to set up and authenticate connections to various cloud providers and APIs, streamlining workflows.

Creating Terminal UI Components

Design interactive terminal interfaces using the TUI components supported by Pi Agent, improving user experience.

How to install Pi Agent

View source

1. Install with the skills CLI

npx skills add k-dense-ai/scientific-agent-skills/pi-agent --agent claude-code

2. Or install it manually

Download the skill folder and drop it into ~/.claude/skills/ for all projects, or .claude/skills/ to scope it to one repo. Restart Claude Code so it picks up the new skill.

Anthropic's agentic coding CLI, and the reference implementation of Agent Skills. Drop a skill folder into ~/.claude/skills and Claude Code loads it automatically whenever a task matches the skill's description. Claude Code docs

Inside SKILL.md

Written by k-dense-ai

Pi Agent

Use this skill when the user wants to operate Pi or build on top of Pi. Pi is a minimal terminal coding harness extended through TypeScript extensions, skills, prompt templates, themes, packages, custom models/providers, SDK integrations, RPC mode, JSON event streams, and TUI components.

First Decision

Pick the reference before answering or coding:

User intentRead
What Pi is, docs map, install methodsreferences/overview.md
Install, authenticate, first runreferences/quickstart.md
Day-to-day CLI usage, commands, modes, flags, project trustreferences/usage.md
Provider auth, API keys, cloud provider setupreferences/providers.md
Custom model entries, local models, proxies, compat flagsreferences/models.md
Local llama.cpp router, /llama, model download/loadreferences/llama-cpp.md
Settings keys and defaultsreferences/settings.md
PI_* and other environment variablesreferences/environment-variables.md
Extension development, custom tools, events, commandsreferences/extensions.md
Custom provider implementation, OAuth, custom streamingreferences/custom-provider.md
Embed Pi in Node/TypeScriptreferences/sdk.md
Integrate from another process/languagereferences/rpc.md
Consume JSONL event outputreferences/json.md
Build terminal UI componentsreferences/tui.md
Package extensions/skills/prompts/themesreferences/packages.md
Delegate to subagents, chains, parallel runs, orchestrationreferences/pi-subagents.md
Connect MCP servers, MCP tool discovery/configreferences/pi-mcp-adapter.md
Interactive interview forms, structured user inputreferences/pi-interview.md
Web search, URL/PDF/repo fetching, video understandingreferences/pi-web-access.md
Author Pi skillsreferences/skills.md
Prompt templates or themesreferences/prompt-templates.md, references/themes.md
Sessions, branching, compaction, parsing JSONLreferences/sessions.md, references/compaction.md, references/session-format.md
Security, sandboxing, trustreferences/security.md, references/containerization.md
Keyboard or terminal issuesreferences/keybindings.md, references/terminal-setup.md, references/tmux.md, references/windows.md, references/termux.md, references/shell-aliases.md
Working on Pi itselfreferences/development.md

Build-On-Pi Defaults

Prefer the SDK for Node/TypeScript apps that need type safety, direct state access, in-process custom tools/extensions, or custom resource loading. Use createAgentSession() for a single stable session; use createAgentSessionRuntime() when the app must replace sessions through new/resume/fork/clone/import flows. Auth and model lookup go through ModelRuntime.create().

Prefer RPC mode when the client is not Node.js, needs process isolation, or wants a language-agnostic JSONL protocol. Start with pi --mode rpc --no-session for stateless subprocess integration, then add session flags when persistence matters. Split records on \n only — Node readline is not protocol-compliant.

Prefer JSON mode for one-shot command-line pipelines that only need streamed events, not bidirectional control: pi --mode json "prompt".

Use extensions for Pi-native behavior: custom tools, command handlers, event hooks, provider registration, custom compaction, path protection, project trust policy, UI prompts, widgets, and TUI components.

Use packages when sharing or installing reusable extensions, skills, prompt templates, or themes across machines or projects.

Safety Defaults

Pi is local and not sandboxed by default. Treat extensions, packages, skills, shell commands, and project-local .pi resources as code with the permissions of the Pi process. Project trust only guards which project inputs load — it is not a sandbox. For untrusted repos or unattended automation, isolate with Docker, OpenShell, Gondolin, a VM, or a remote sandbox.

Do not store secrets in project files. Prefer env vars, ~/.pi/agent/auth.json, OAuth via /login, or command-backed secret lookups in models.json/provider config.

Common Commands

npm install -g --ignore-scripts @earendil-works/pi-coding-agent
pi
pi -p "Summarize this codebase"
pi --mode json "List files"
pi --mode rpc --no-session
pi --provider anthropic --model claude-sonnet-4-5
pi --model sonnet:high "Solve this complex problem"
pi --tools read,grep,find,ls -p "Review this repository"
pi install npm:pi-subagents
pi update --all

Source Coverage

These references summarize the Pi documentation at https://pi.dev/docs/latest and every docs page found under it as of this skill version, plus the package pages for pi-subagents, pi-mcp-adapter, pi-interview, and pi-web-access at https://pi.dev/packages/. Package details were cross-checked against the published npm READMEs (pi-web-access 0.14.0, pi-mcp-adapter 2.15.0, pi-subagents 0.37.0, pi-interview 0.9.0). When exact API behavior matters, prefer the cited reference page and inspect installed TypeScript definitions under node_modules/@earendil-works/pi-coding-agent/dist/ and node_modules/@earendil-works/pi-ai/dist/.

Frequently asked questions about Pi Agent

Similar skills