Prime Agent
- getHarness
- getHarness("prime-agent")
- binary
- prime-agent
- invoke modes
- 4 of 6 · official
- model listing
- native
- mcp config
- json · prime
- agents file
- ~/.prime/agent/AGENTS.md
Prime Agent is Pi underneath, with ~/.prime/agent/ in place of ~/.pi/agent/ and, less obviously, .prime/agent/ as the project directory rather than .prime/. PRIME_AGENT_CODING_AGENT_DIR moves the whole thing. Sessions are one flat directory of <uuidv7>.jsonl files whose header carries the working directory, and each root session gets a session-artifacts/<id>/ next to it with the pickled Python kernel state, scheduled jobs, harness state and the transcripts of every subagent it spawned.
The model gets exactly one built-in tool, ipython. Files, shell, MCP servers and subagents are all code it runs in that REPL, which is why there is no read-only recipe here: an allowlist with a single Python tool restricts nothing, and the kernel is a process boundary, not a sandbox. --no-tools does take everything away, so the advisor mode is real. --mode json works on both. Models come from prime-agent model list, the same table Pi prints, and --list-models now only tells you it was removed.
Skills load from .prime/agent/skills/ and from .agents/skills/ in the cwd and its ancestors up to the repository root, plus the user twins of both. MCP servers sit under mcpServers in the user settings.json in the standard shape, except that stdio env values have to be {"env": "NAME"} references, which is why the registry gives it its own prime dialect: a master value of ${NAME} is written as that reference and read back the same way, and a literal is refused up front rather than left as a server that fails on its first connection. Detection is by PRIME_AGENT_KERNEL_OWNER_PID, which reaches the shells the REPL spawns but not stdio MCP servers, those get a trimmed environment. The harness is registered ahead of Pi on purpose, because the fork still exports PI_CODING_AGENT and would otherwise be reported as Pi.
Capabilities and invocation
mcp: yesvision: yesaudio: novideo: notools: yesstreaming: yes
Binary prime-agent, evidence official. Add --mode json for structured event output. No read-only mode: the only built-in tool is a Python REPL and the worker and kernel processes are not a security sandbox. Model selection appends --model {model}.
advisor
{}
-p --no-tools {prompt}advisor · json
{ structured: true }
-p --no-tools --mode json {prompt}read-only
{ readOnly: true }
read-only · json
{ readOnly: true, structured: true }
agent
{ tools: true }
-p {prompt}agent · json
{ tools: true, structured: true }
-p --mode json {prompt} Model listing runs prime-agent model list and model list {search} with a filter. Lists models with configured provider authentication; accepts an optional fuzzy search. --list-models was removed.
Paths
Templates as the registry stores them. ~, ${HOME} and %VAR% expand in resolve(); entries tagged with a platform are dropped on the others. Open in the explorer to see them expanded for a home directory of your choice.
config
~/.prime/agent/settings.jsonuser · official · allConfig dir overridable with PRIME_AGENT_CODING_AGENT_DIR..prime/agent/settings.jsonproject · official · all
sessions
~/.prime/agent/sessions/<session-id>.jsonldata · official · allFlat directory of JSONL transcripts whose header records the working directory; session ids are UUIDv7. Overridable with PRIME_AGENT_SESSION_DIR or --session-dir.~/.prime/agent/session-artifacts/<session-id>/data · official · allPer-session Python kernel state, scheduled jobs, harness state and child session transcripts under sub-<id>/.
instructions
AGENTS.mdproject · official · allLoaded from parent directories and cwd; CLAUDE.md accepted as an alternative..prime/agent/SYSTEM.mdproject · official · allReplaces the default system prompt; APPEND_SYSTEM.md appends instead.~/.prime/agent/AGENTS.mduser · official · allGlobal user-level instructions; CLAUDE.md accepted as an alternative.~/.prime/agent/SYSTEM.mduser · official · allGlobal system prompt replacement; APPEND_SYSTEM.md appends instead.
skills
.prime/agent/skills/project · official · all.agents/skills/project · official · allAlso scanned in ancestor directories up to the Git repository root; root .md files are ignored there.~/.prime/agent/skills/user · official · allGlobal user-level skills.~/.agents/skills/user · official · allShared skills directory; root .md files are ignored there.
commands
.prime/agent/prompts/project · official · allPrompt templates invoked as slash commands.~/.prime/agent/prompts/user · official · allGlobal user-level prompt templates.
empty
hooks No known location. That is not the same as the feature being missing.
MCP servers
~/.prime/agent/settings.jsonuser · json · prime · mcpServersDetection
envVars
PRIME_AGENT_KERNEL_OWNER_PID
projectMarkers
.prime/agent
Persistence
- JSON - Settings, auth, telemetry, model cache and session artifact state files. (official)
- JSONL - Session transcripts, the RLM spawn ledger and structured logs. (official)
- dill - Pickled Python REPL state (kernel-state.dill) in session artifacts. (official)
syncAgentsFiles links ~/.prime/agent/AGENTS.md to the master bundle.