by pulseaiclub
a coding Agent, rpc plugin, sub-agents, hashline edits, and mcp
# Add to your Claude Code skills
git clone https://github.com/pulseaiclub/phiLast scanned: 8/13/2026
{
"issues": [
{
"file": "README.md",
"line": 41,
"type": "remote-install",
"message": "Install command (remote install script piped to a shell — review the source before running): \"curl -fsSL https://raw.githubusercontent.com/pulseaiclub/phi/main/scripts/instal\"",
"severity": "low"
}
],
"status": "PASSED",
"scannedAt": "2026-08-13T05:41:49.552Z",
"npmAuditRan": true,
"pipAuditRan": true,
"promptInjectionRan": true
}See how phi compares with popular alternatives.
phi is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by pulseaiclub. a coding Agent, rpc plugin, sub-agents, hashline edits, and mcp. It has 364 GitHub stars.
Yes. phi 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/pulseaiclub/phi" and add it to your Claude Code skills directory (see the Installation section above).
phi is primarily written in Go. It is open-source under pulseaiclub 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 phi against similar tools.
No comments yet. Be the first to share your thoughts!
⚠️ Third-Party Software Notice
This skill is third-party open-source software developed and hosted independently on GitHub. SkillsLLM is an informational directory and does not control or maintain the underlying repository.
Any security checks, ratings, or warnings displayed by SkillsLLM are automated and limited in scope. They do not constitute a security certification or guarantee that the software is safe, error-free, or free from malicious code, vulnerabilities, compromised dependencies, or prompt-injection risks.
Review the source code, permissions, dependencies, and configuration before installing or running any third-party skill. Use is at your own risk. To the maximum extent permitted by applicable law, SkillsLLM is not liable for losses arising from third-party software.
A lean, high-performance terminal coding agent harness in Go — a sibling to Pi.
Docs: pulseaiclub.github.io
@file path#TAG plus line LINE#HASH anchors (same idea as oh-my-pi): the model points at anchors instead of rewriting whole files; stale tags/hashes are rejected so over-edits and silent corruption stop heremcp_list / mcp_inspect / mcp_call) to discover and call on demand. Same Gate / Ask / Hooks path as built-in tools. See MCPext/go) and Rust (ext/rust): LLM tools, slash commands, event intercepts, confirm dialogs — no reflection; JSON at the SDK edges via serde_json. See Extensions/diff opens a full-screen git review (working tree / staged / HEAD): syntax-highlighted hunks, line notes, then a sends notes to the agent. See Diff review


Install the latest release (macOS / Linux):
curl -fsSL https://raw.githubusercontent.com/pulseaiclub/phi/main/scripts/install.sh | bash
Windows (PowerShell 5.1+):
irm https://raw.githubusercontent.com/pulseaiclub/phi/main/scripts/install.ps1 | iex
First launch needs a model. Open the config editor (creates ~/.phi layout
and writes ~/.phi/config.yaml):
phi config
Or set env vars for a one-off run:
export PHI_MODEL=gpt-4o
export PHI_API_KEY=sk-...
Then start the TUI:
phi
Or build from source (Go 1.26.3+, see go.mod):
make build # produces ./phi
make install # build and install into $GOBIN
On first start, phi automatically creates ~/.phi/{bin,skills,hooks,session}. Search
tools (fd, rg) download into ~/.phi/bin in the background when missing.
The TUI gives the model four core tools — read, write, edit, and
bash — plus grep, find, and ls. The model uses these to
fulfill your requests. External HTTP fetch is available via MCP when configured.
Lean is not enough — phi is built to feel instant and stay cheap under load.
phi numbers are a stripped release build (CGO_ENABLED=0, -ldflags="-s -w")
on macOS arm64. Other harnesses use published Linux PSS / interactive PTY
figures.
| Metric | phi |
|---|---|
| Release binary | ~15 MB |
| Idle RSS (1 session) | ~21 MB |
| 10 idle sessions (total RSS) | ~221 MB |
| Time to first frame | ~31 ms (26–49 ms) |
Cold go build (empty GOCACHE) |
~5.5 s |
| Warm rebuild | ~0.7 s |
| Go source (excl. tests) | ~22k LOC / 107 files |
| Go packages | 32 |
| Direct module deps | 6 (15 modules total) |
| Linked runtimes | system libs only (no Node / Electron / Python) |
phi reads ~/.phi/config.yaml (standard YAML). Environment variables
override it for one-off runs. phi config opens an HTML editor for the same
file in your browser.

# ~/.phi/config.yaml
models:
- name: gpt-4o # model name; "claude-*" routes to the Anthropic API
api_key: sk-... # or set PHI_API_KEY
base_url: https://api.openai.com/v1 # default; PHI_BASE_URL overrides
context_window: 128000 # optional
default: true # the model used at startup; first entry wins if absent
- name: claude-sonnet-4-20250514 # extra models; switchable at runtime
api_key: sk-ant-...
base_url: https://api.anthropic.com
context_window: 200000
skill_path: ~/.phi/skills # where SKILL.md files are loaded from
agents:
enabled: true # default; set false to disable agent_* sub-agent tools
models: # optional per-role defaults; omit → inherit parent model
explore: cheap-model
review: strong-model
worker: coding-model
permissions:
mode: interactive # interactive | readonly | autopilot | headless-strict
bash:
default: ask # ask | allow | deny
allow:
- "go test ./..."
deny:
- "rm -rf *"
phi + DeepSeek Flash — the best pairing: grounded, low hallucination, cache hit rates near 100%.
Measured data:
39 LLM rounds, same session — prompt 16k→40k, hit rate 95–100% (avg 98.7%).
| Round | Prompt tokens | Cached tokens | Cache hit |
|---|---|---|---|
| 1 | 16,176 | 15,872 | 98.1% |
| 10 | 20,163 | 20,096 | 99.7% |
| 20 | 27,604 | 26,624 | 96.4% |
| 30 | 35,245 | 35,072 | 99.5% |
| 39 | 39,794 | 39,552 | 99.4% |
xychart-beta
title "Cache hit % (39 rounds)"
x-axis [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39]
y-axis "Hit %" 95 --> 100
line [98.1, 98.8, 97.5, 98.1, 98.1, 98.8, 99.1, 99.9, 98.7, 99.7, 99.5, 99.5, 96.3, 99.4, 97.0, 99.7, 99.9, 99.3, 98.3, 96.4, 98.9, 98.7, 97.2, 99.8, 95.0, 99.7, 99.2, 98.9, 99.3, 99.5, 99.5, 99.4, 99.2, 98.6, 99.4, 99.6, 100.0, 97.8, 99.4]
Environment overrides:
| Variable | Overrides |
|---|---|
PHI_API_KEY |
models[].api_key (default model) |
PHI_MODEL |
models[].name (default model) |
PHI_BASE_URL |
models[].base_url (default model) |
PHI_SKILL_PATH |
skill_path |
Provider routing: a base URL containing anthropic or a model name starting
with claude uses the Anthropic Messages API; everything else uses the
OpenAI-compatible /chat/completions path.
~/.phi/
├── config.yaml # global configuration
├── bin/ # downloaded search tools (fd, ripgrep)
├── skills/ # SKILL.md skill directories
├── extensions/ # PXB binaries + phi.yaml
├── jobs/ # sub-agent job artifacts (meta, logs, result.md)
└── session/ # persisted sessions, one dir per working directory
└── <encoded-cwd>/
phi (or phi tui) starts the TUI: a chat transcript on top, an editor at
the bottom, and a footer with the current activity. When a newer release is
available, the footer shows a hint like 0.2.0 available · phi update.
Assistant output is rendered as Markdown (CommonMark/GFM): headings, emphasis,
strikethrough, links, blockquotes, lists, task checkboxes, and tables are
styled with the active theme; fenced code blocks get a muted language caption and per-language
syntax highlighting. Structural markers (#, `, *) are stripped.
The editor supports:
@ — fuzzy file mention picker (type @ and start typing a path)/ — slash command picker (/sessions, /resume, /clear, /diff)? — shortcut help picker (lists /, !, @, and key bindings; Esc closes)!command — run a shell command locally and stream its output into the
transcript (see Commands)Ctrl+K — command palette: settings → model / theme