your personal data kit for agents

Everything you've made, saved and said.

A private archive that keeps itself current, with one door for every agent.

~/my-commonplacebash
$ commonplace search "japan trip" 2026-09-28 txn bank:txn:7a3e9c1d (ANA Airlines $1,184.20) 2026-09-27 email gmail:msg:18f2c0a4b (Flight to Tokyo confirmed) 2026-09-21 post url:redd.it/1g4x2k (Japan in two weeks: what worked) 2026-09-19 video yt:video:kX9rT2mQ4bA (Tokyo on a budget, 10 days) 2026-09-18 message chat:imessage:c81f4e ("japan trip is on. april?") 2026-09-14 page url:japan-guide.com/jrpass (JR Pass, worth it?) $ commonplace timeline --since 2026-10-07 --limit 5 2026-10-08 prompted prompts:3e9a71c8 ("plan japan from my saves") 2026-10-08 watched yt:video:p7Lq0WnE3xY (Shinkansen timetables) 2026-10-08 paid bank:txn:9d02b6f1 (PG&E $142.60) 2026-10-07 sent chat:imessage:c81f4e ("landed. dinner?") 2026-10-07 saved url:x.com/i/status/18834920 (a thread on kerning) $ commonplace stats gmail latest 2026-10-08 31 snapshot(s) 48211 things 52904 events chrome latest 2026-10-08 31 snapshot(s) 39480 things 61117 events youtube latest 2026-10-08 31 snapshot(s) 12306 things 14872 events imessage latest 2026-10-08 31 snapshot(s) 9418 things 88250 events x latest 2026-10-08 31 snapshot(s) 7905 things 9131 events bank latest 2026-10-08 31 snapshot(s) 3266 things 3266 events github latest 2026-10-08 31 snapshot(s) 2521 things 1404 events reddit latest 2026-10-06 4 snapshot(s) 2140 things 2588 events instagram latest 2026-10-05 2 snapshot(s) 1972 things 1972 events prompts latest 2026-10-08 31 snapshot(s) 1170 things 1158 events kinds email 48211 · page 39480 · video 12306 · message 9418 · post 9877 · … verbs visited 61117 · received 52904 · sent 88250 · watched 14872 · saved 11204 … $

Ten sources in one archive. Three are built in today, the rest are coming or one ask away.

01 everything

Not just your GitHub. Everything.

Your texts, your mail, your card charges and bills, your browser and YouTube history, what you saved, what you liked, your notes and your calendar, every prompt you ever typed. All the small things that show what you pay attention to.

One shape for all of it: things, events, links. Same page saved in two apps is one record.

  1. charged$1,184.20 to ANA Airlines
  2. received"Your flight to Tokyo is confirmed"
  3. saveda thread on two weeks in Japan
  4. watcheda talk on structured concurrency
  5. sent"landed. dinner?"
  6. paidPG&E, $142.60
  7. visiteda page on commonplace books
  8. likeda post about kerning by hand
  9. prompted"make the sidebar follow the system theme"
  10. commentedon a review: "this allocates on every keystroke"
  11. searched"how did Locke index his notebook"
  12. savedan article about SQLite's write-ahead log

02 why

This is how an agent learns your judgment.

Your taste isn't in any one file. It's in what you saved, what you starred, what you rejected, and how you asked last time. An agent that can search that stops guessing what you mean.

claudemcp · commonplace
youplan the japan trip. same vibe as portugal, under $4k, mid april. agentsearch "portugal" · timeline --verb charged --since 2025-05 2025-05-12 txn bank:txn:2c7e40a9 (TAP Air Portugal $812.40) 2025-05-14 txn bank:txn:5b19f3d2 (Casa do Conto $698.00 · 4 nights) 2025-05-18 message chat:imessage:c81f4e ("that tiny hotel in porto was the best part") 2026-09-21 post url:redd.it/1g4x2k (Japan in two weeks: what worked) 2026-09-28 txn bank:txn:7a3e9c1d (ANA Airlines $1,184.20) agentPortugal was nine days, $3,120, one small hotel you loved and no tours. You already bought the ANA flight for April 14. A ryokan in Kyoto like the Porto place, and the Reddit itinerary you saved cut to ten days, lands at $3,860. Want the day-by-day?

The more an agent knows about you, the less you have to say, and the more you can hand it.

03 sources

Sources, by how much setup they need.

Three work the moment you sync. Four are on the way. Everything else is one ask away.

Built in

sourcewhatneeds
githubyour pull requests, issues and starsgh signed in
promptsevery prompt you typed into Claude Code and Codexnothing, read from disk
imessageyour conversationsmacOS, Full Disk Access

Coming built in coming

sourcewhatneeds
X archiveyour posts, likes, DMs and Grok chats, all of themthe archive from X's settings
Xnew posts, likes and bookmarks every dayan X developer app, cents a day
Google Takeoutsearches, YouTube, Maps, Chrome, Calendara Takeout export
Raindropbookmarks and collectionsa CSV export or API token

One ask away

Anything with an export, a local database, an API or a CLI. Ask your agent, and the add-source skill has it write the source: one file, usually under 80 lines.

Money
bank and card CSV exportsApple Cardreceipts in Gmail
Browsing
ChromeSafariFirefoxEdgeArcany other browser
Mail and calendar
Gmail via Takeoutany mboxany .ics
Chat
SlackDiscordTelegram exports
Saves
InstagramPinterestRedditReadwise
Notes
Obsidianany folder of markdownApple Notes
Media
YouTube via TakeoutLetterboxdGoodreadsSpotify
claudeskill · add-source
youadd my obsidian vault to commonplace agentwrote sources/obsidian.ts (61 lines) added it to commonplace.config.ts $ commonplace sync obsidian 2026-10-08 1,204 things 1,204 events

The skill works for any agent that reads files, not just Claude Code.

04 how it works

Three steps, one direction.

Fetch writes. Build reads snapshots. Agents read the database through one door. Nothing goes the other way.

your accountsGitHub, Claude Code, Codex, …
fetch: one dated snapshot per source per day
data/raw/read-only, kept forever, never in git
├ github/
│ ├ 2026-10-06/
│ ├ 2026-10-07/
│ └ 2026-10-08/
├ prompts/
│ └ 2026-10-08/
└ imessage/
  └ 2026-10-08/
build: replay every snapshot, redact as you go
commonplace.dbthings · events · links · search
commonplaceCLI ── search · timeline · show · stats└── mcpClaude Code, Codex, Claude Desktop, any MCP client
  1. Fetch.

    commonplace sync takes one snapshot per source per day into data/raw/<source>/<date>/. Each one is written through a .partial directory and made read-only, so a crash never leaves half a snapshot. The Claude Code plugin runs it whenever a session ends.

  2. Build.

    Every build starts from empty and replays every snapshot into one SQLite database. The same raw/ always gives the same database, so you can fix a source and rebuild years of history.

  3. Read.

    The CLI and the MCP server go through the same store, which shows a reader only the sources you allow. search, timeline, show, stats, and read-only sql for you.

05 privacy

What agents see is up to you.

Your data lives in data/, which never enters git. Agents never open the database. They go through the CLI or MCP server, which only show the sources you allow.

commonplace.config.tstypescript
export default defineConfig({ sources: [github, prompts, imessage], mcp: ["github", "prompts"], redact: (row) => row.type === "event" && /\b(password|api[_ -]?key|secret)\b/i.test(row.text ?? ""), });
  • is the list of sources any MCP client may read. The --sources github flag on commonplace mcp narrows it for one client. imessage is in sources but not in mcp, so your messages stay local until you add it.
  • rules keep rows out of the archive entirely. They're never written.
  • A reader sees a row only if it may read every source that contributed to it, so a hidden source can't leak through a merge.

06 yours

A template you own. Not an app you install.

About a thousand lines of TypeScript in your own repo, next to your own data. Read it in an afternoon. Change anything.

Read it.

src/ is eight files. One schema, one builder, one store, two doors.

src/schema.ts   things, events, links, verbs
src/build.ts    replays snapshots; the only writer
src/store.ts    every read, filtered by what you allow
src/cli.ts      one door
src/mcp.ts      the other

Change it.

A source is one file with two halves: fetch copies what the service gives, rows turns one snapshot into things, events and links.

export default defineSource({
  name: "bookmarks",
  fetch: async ({ dir }) => { … },
  rows: async function* ({ dir }) { … },
});

Keep it.

Your repo, your data, your rules. Updates to the template never touch data/ or your config.

my-commonplace/
  commonplace.config.ts   yours
  sources/                yours, plus ours
  data/                   yours, never in git

07 start

Start

You need Bun, and gh signed in for the GitHub source.

bash
$ gh repo create my-commonplace --template AVGVSTVS96/commonplace --private --clone $ cd my-commonplace $ bun install $ bun add -g "$PWD" $ commonplace sync

Then connect your agents:

agentsmcp
# Claude Code: MCP server, add-source skill, sync when a session ends /plugin marketplace add AVGVSTVS96/commonplace /plugin install commonplace@commonplace # Codex codex mcp add commonplace -- commonplace mcp # anything else that speaks MCP command: commonplace args: ["mcp"]

Then ask something only your history can answer. "What was I working on the week before my last trip?"