# Add to your Claude Code skills
git clone https://github.com/dimetron/pi-goLast scanned: 8/9/2026
{
"issues": [
{
"file": "README.md",
"line": 69,
"type": "remote-install",
"message": "Install command (remote install script piped to a shell — review the source before running): \"curl -fsSL https://raw.githubusercontent.com/dimetron/pi-go/main/scripts/install\"",
"severity": "low"
}
],
"status": "PASSED",
"scannedAt": "2026-08-09T05:04:01.097Z",
"npmAuditRan": true,
"pipAuditRan": true,
"promptInjectionRan": true
}pi-go is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by dimetron. Go implementation of AI coding agent. It has 121 GitHub stars.
Yes. pi-go passed SkillsLLM's automated security scan — a dependency vulnerability audit plus prompt-injection heuristics — with no high-severity issues. You can read the full report in the Security Report section on this page.
Clone the repository with "git clone https://github.com/dimetron/pi-go" and add it to your Claude Code skills directory (see the Installation section above).
pi-go is primarily written in Go. It is open-source under dimetron on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh pi-go against similar tools.
No comments yet. Be the first to share your thoughts!
A terminal-based coding agent built on Google ADK Go. It connects to multiple LLM providers, runs sandboxed tools, integrates LSP, and ships with a process-based subagent system.

os.Root./commit).SKILL.md instructions), and Model Context Protocol (MCP) serverspi audit)cmd/pi/ Entry point — CLI parsing, output mode selection
internal/
├── agent/ ADK agent setup, retry logic, runner
├── cli/ Cobra CLI flags, output modes (interactive, print, json, rpc)
├── config/ Global and project config (roles, hooks, MCP, themes)
├── audit/ Security scanner for skills (hidden Unicode, supply-chain threats)
├── extension/ Hooks, skills, MCP server integration
├── lsp/ LSP JSON-RPC client, language registry, manager, hooks
├── palace/ Memory Palace — drawers, layers, KG, miners, embedder, search
├── provider/ LLM providers implementing genai model interface
├── rpc/ Unix socket JSON-RPC 2.0 server
├── session/ JSONL persistence, branching, compaction
├── subagent/ Process spawner, orchestrator, concurrency pool
├── tools/ Sandboxed tools (read, write, edit, bash, grep, find, git, lsp)
└── tui/ Bubble Tea v2 UI, slash commands, commit workflow
User input → CLI → Agent → LLM provider → Tool calls → Sandbox → Response → TUI
↕ ↕ ↕
Session store Palace LSP servers
(JSONL events) (memory, (format, diagnostics)
KG, search)
See ARCHITECTURE.md for detailed documentation.
curl -fsSL https://raw.githubusercontent.com/dimetron/pi-go/main/scripts/install.sh | bash
This script detects your OS/arch, downloads the latest release binary, and installs it to /usr/local/bin (or ~/.local/bin if needed).
go install github.com/dimetron/pi-go/cmd/pi@latest
Make sure your GOPATH/bin is in your PATH. The binary will be installed as pi.
git clone https://github.com/dimetron/pi-go.git
cd pi-go
go install ./cmd/pi
Download the latest release for your platform from the Releases page.
Set the API key for your provider as an environment variable. The provider is inferred from the model name, so --model is usually the only routing you need.
| Provider | Model prefix | API key env var | Base URL env var |
|---|---|---|---|
| Anthropic | claude-* |
ANTHROPIC_API_KEY (or ANTHROPIC_AUTH_TOKEN) |
ANTHROPIC_BASE_URL |
| OpenAI | gpt-* |
OPENAI_API_KEY |
OPENAI_BASE_URL |
| Google Gemini | gemini-* |
GEMINI_API_KEY (or GOOGLE_API_KEY) |
GEMINI_BASE_URL |
| Mistral | mistral-*, magistral-* |
MISTRAL_API_KEY |
MISTRAL_BASE_URL |
| Azure OpenAI | azure/<deployment> |
AZURE_OPENAI_API_KEY |
— |
| OpenCode | opencode/<model> |
OPENCODE_API_KEY |
OPENCODE_BASE_URL |
| Ollama (local) | ollama/<model> |
none | OLLAMA_HOST (default http://localhost:11434) |
| Ollama Cloud | <model>:cloud |
OLLAMA_API_KEY |
https://api.ollama.com |
export ANTHROPIC_API_KEY="sk-ant-..."
export OPENAI_API_KEY="sk-..."
export GEMINI_API_KEY="..."
export OPENCODE_API_KEY="..."
export OLLAMA_API_KEY="..." # only for Ollama Cloud (:cloud suffix)
A name with no recognized prefix is rejected rather than guessed at — reach for the ollama/ prefix or the :cloud suffix to name an Ollama model explicitly.
make build # build the pi binary
make test # run unit tests
make lint # golangci-lint (vet, staticcheck, errcheck, …)
make e2e # run E2E integration tests
make clean # remove binary
# Default interactive mode
pi
# Select a model by prefix
pi --model claude:sonnet
pi --model openai:gpt-4o
pi --model gemini:gemini-2.5-pro
pi --model ollama/gemma4:12b-mlx
pi --model opencode/kimi-k3
pi --model minimax-m3:cloud # automatically detect ollama if :cloud
# Use model roles
pi --smol # fast, cheap model
pi --slow # most capable model
pi --plan # planning-oriented model
# Additional options
pi --continue # continue last session
pi --session <id> # resume specific session
pi --system "..." # custom system instructions
pi --url "..." # custom API endpoint URL
# Non-interactive modes
pi --mode print "explain this codebase"
pi --mode json "list all TODO comments"
pi --mode socket --socket /tmp/pi-go.sock # JSON-RPC 2.0 over a Unix socket
pi --mode rpc # pi-compatible NDJSON over stdio (for pi-acp)
| Command | Description |
|---|---|
/help |
Show available commands |
/model |
Switch model mid-conversation |
/session |
List and switch sessions |
/branch |
Create a conversation branch |
/commit |
Generate and apply a git commit |
/compact |
Compact session history |
/agents |
Show running subagents |
/history |
Show command history |
/plan |
Start a Plan-Driven Development (PDD) session (auto-resumes if a spec exists) |
/run |
Execute a spec with task agent |
/skill-create |
Create a new skill |
/skill-list |
List available skills |
/skill-load |
Reload skills from disk |
/memory |
Memory Palace commands (see below) |
/audit |
Scan skills for hidden Unicode threats |
/restart |
Restart pi-go |
/clear |
Clear conversation |
/exit |
Exit the agent |
A 4-layer contextual memory system that gives the agent persistent awareness across sessions.
Layers:
| Layer | Name | Description |
|---|---|---|
| L0 | Identity | Static identity file |
| L1 | Essential Story | Top-15 drawers by importance, injected into system prompt |
| L2 | On-Demand Recall | Context-filtered drawer chunks |
| L3 | Search | Semantic (embedding) or keyword (FTS5) search |
CLI commands:
# Setup
pi memory model download # download all-MiniLM-L6-v2 embedding model
pi memory model status # check model path and status
pi memory init [dir] # create palace.db + generate mempalace.yaml
# Ingest
pi memory mine <dir> # mine source files into drawers
pi memory mine --convos <dir> # mine conversation files (JSONL/text)
# Query
pi memory status # palace overview (drawers, wings, rooms, KG)
pi memory search <query> # semantic or keyword search
pi memory wake-up # print L0+L1 context for system prompt
pi memory recent [project] # recent memory observations
# Knowledge Graph
pi memory