Your AI,
with a memory.
PAL is a persistent, cross-agent layer that sits inside Claude Code, opencode, Cursor and Codex — giving them identity, modes, a 5-phase algorithm, hooks, skills, and a memory that compounds across every session.
bun add -g portable-agent-layerWatch your AI grow up.
Each scroll adds one capability to the same session. Start with bare vanilla on the left, finish with a fully-PAL'd assistant on the right.
Vanilla AI
Drop a prompt in. The model replies. Each new session starts blank — no identity, no method, no recollection of what worked yesterday.
A name. A voice. A start.
PAL gives your assistant a stable identity — the name is yours to pick — and a session-start ritual. Every conversation begins where the last one left off, not from zero.
Right effort for the task.
Every reply is classified — minimal for greetings, native for quick work, algorithm for everything that demands structure. No more 600-word answers to a typo fix.
Five phases. Verifiable criteria.
Complex work runs through Observe → Plan → Execute → Verify → Learn. Atomic criteria, anti-criteria, evidence required. No more rubber-stamping a half-finished task as done.
It remembers you.
Tracked opinions, crystallized principles, daily relationship notes, failure digests, signal trends. The assistant arrives already knowing how you like to work — and gets sharper every session.
Wired into the lifecycle.
SessionStart loads context. PreToolUse blocks dangerous commands before they run. Stop captures learnings and writes the next reflection. The harness watches every event so you don't have to.
One engine.
Any agent.
PAL lives in ~/.pal — your home directory, not the tool's. Memory, skills, hooks, telos, all portable. Switch agents on Tuesday and your assistant still knows you on Wednesday.
- 01
Claude Code
CLI · IDE
- 02
opencode
TUI
- 03
Cursor
IDE
- 04
Codex
CLI
- 05
your own
if it has hooks
[ runs anywhere bun runs ]
Give your AI a self.
One install. Your assistant picks up an identity, a method, a memory — in every agent, on every machine, for every session that follows.
bun add -g portable-agent-layer && pal cli init