Use case · teams & onboarding

Stop re-explaining your team's decisions to every new hire — and every agent.

Your team's hardest-won asset is its institutional memory — the decisions, the conventions, the “why we don't do it that way” — and it lives in a few people's heads, leaking out one Slack reply at a time. PriorStates is the layer where that knowledge accumulates once and is recalled by everyone: across teammates via sync, and across every AI tool via one shared store. Onboard a new person — or a new agent — with a pack, not a week of asking around.

Individual memory is solved. Team memory isn't.

A local store fixes one person's recall. The valuable, hard version — shared recall across people and tools — has no good home today.

📄

Rule files don't travel

CLAUDE.md and Cursor rules are per-tool, per-repo, and injected into every session. Ten people's conventions become fifty standing instructions no agent can use well.

🗄️

Wikis rot and aren't recalled

A wiki page is written once, never searched mid-task by an agent, and drifts out of date. The knowledge that matters is oral and bursty — and it evaporates.

How a team's memory compounds, in five moves

The individual loop — recall, record — but the record is shared, so one person's lesson becomes everyone's starting point.

  1. 1

    Someone learns it

    A teammate makes a decision, hits a gotcha, or rules out an approach — the dense, hard-won knowledge that usually stays in their head.

  2. 2

    Record it once

    One journal_add / memory_add in whatever tool they're using. No separate wiki to update, no context-switch.

  3. 3

    Sync to the team

    priorstates sync converges the shared store across everyone's machines — the same store the team's ChatGPT connector reads.

  4. 4

    Everyone recalls it

    The next teammate — in Claude Code, Cursor, Copilot, anywhere — recalls it the moment it's relevant. Decided once, known by all.

  5. 5

    Onboard with a pack

    Export the team's decisions as a checksummed .pspack. A new hire imports it and their first session is already warm.

A new hire's first session, warm

Day one, before anyone explains anything. Same question, before and after the onboarding pack.

Before — a blank slate. The new engineer's agent knows nothing about how your team works:

$ memory_search "auth, deploys, conventions"

 (no results — fresh machine, empty store)

So it guesses — confidently, and often wrong — and the new hire spends a week asking around to fill the gaps.

After — one pack import. priorstates import onboarding.pspack, and the same search returns the team's hard-won rules:

$ memory_search "auth, deploys, conventions"

 decision   Auth is validated in the gateway, never in services
 decision   Ship to staging before main — always
 gotcha     Billing service clock is UTC; everything else is local
 loser      Evaluated a monorepo in Q1 — rejected, here's why

Hours of “why is it like this?” collapse into a recall — and as the new hire learns more, they record it back and the next hire starts further ahead.

Four kinds of team knowledge worth keeping

Each a plain Markdown file with provenance — who recorded it, when, and the evidence — semantically searchable by everyone.

⚖️

Decision

A standing choice the team made. “Staging before main — always.” Stops every new session from re-litigating it.

⚠️

Gotcha

A trap that bit someone once. “Billing's clock is UTC.” The new hire avoids it without first falling in.

🪦

Loser

An approach already evaluated and rejected. “The monorepo, Q1.” So it isn't re-proposed every six months.

🧭

Reference

Where the truth lives. “On-call runbook, escalation path.” Pointers the whole team recalls on demand.

Shared — but scoped, not dumped

A ten-team bucket recalls worse as it grows. The primitives keep each team's knowledge dense and let it cross boundaries on purpose.

🗂️

Areas

Scope memory by team or subsystem so recall stays dense — research notes don't dilute an ops query. One workspace per area.

📦

Packs

Export a scope as a checksummed, provenance-stamped .pspack. Crossing a boundary is an explicit export → review → import, not a bleed.

🔄

Sync

The shared store converges across machines. Imports don't auto-pin, so one team's “always” never silently becomes everyone's standing instruction.

You don't run any of this by hand

Once installed, your team's agents do it on their own.

priorstates init gives a repo or area its own memory and journal and wires the recall / record protocol into Claude Code, Codex, Gemini, Copilot and Cursor. priorstates sync shares it across the team; priorstates export turns a scope into an onboarding pack. Secrets never go in memory — those belong in a vault.

Give your team a memory.

Free, open source, and yours to run.