AI Company Stack
Claude Code, Obsidian, ClickUp, Google Workspace and Gmail — unified into one application. Self-healing context modules for compounding AI productivity.
Sources → Wiki → Schema
The same knowledge in three states: raw capture → a graph of typed entities → a schema the agent reads like a map. Scroll to watch it form.
Raw capture: calls, emails, voice memos, notes. The knowledge exists — but it is scattered, unstructured, invisible to an agent.
A note has no type. An entity does.
Where does this go? There are exactly two legal answers: an entity that follows a schema, or a workspace folder with an expiry date. There is no third. The test is one sentence — will anyone edit this after the action ends? No → workspace. Yes → entity.
Knowledge
What the company knows, and what it is trying to close. Both carry a current-state section and a dated log, so the file describes now — not its own archaeology. A deal is the one type that switches contract mid-life: living-state while it is open, write-once the moment it is won or lost.
People
One card per person, in one folder — the only legal target of a person edge. Anything referring to someone points at that node, never at a name buried in a paragraph.
Record of time
A meeting, a dated event, a session log. Evidence that something happened — not a working document, and not the place where the current state lives.
Living-state
A state section updated in place, plus a dated log. A fact from a conversation is woven into the state — no (24.07: …) postscript at the end of the file, no ## Change History.
Write-once
Written once, then left alone. A dated event gets its own file, and it has to actually change the entity it points to — otherwise the fact stays in the meeting summary.
A MECE cascade settles the type — first match wins — so it is never a matter of taste, and a new file with no resolvable type fails the lint. The split separates the journal from the state: the journal swells and nobody reads it, the state stays short and that is exactly why it stays true.
A FAIL blocks the commit.
The write contract is not held up by a reminder in a prompt. Three lines of execution hold it up: the hook that runs after a write hands the error straight back to the agent, then pre-commit and CI keep a FAIL out of the repository.
Fields, edges, paths
A missing or unresolvable type:, a dated heading outside a log, a bare operational number where a dated pointer belongs, a person card created off the alias map — each one raises a FAIL, and a FAIL does not get committed. Parts of the contract are still inside a migration window and warn instead of failing until their cut-off date; that window sits in the schema, not in someone's head. Changing the schema changes how the system behaves, so it goes through review like code, not like a note.
Git counts it, not the frontmatter
updated: was a lie from week one: a human never refreshed it, an agent refreshed it selectively, and one mass operation zeroed the signal across a hundred files at once. Now a hook stamps it before the commit and staleness is read from repository history, per entity type. Mechanical batches carry a marker and drop out of the count.
Anthropic draws the line explicitly: A real guardrail needs to be deterministic, and the enforcement methods are hooks and permissions
(claude.com/blog). Here that applies to one thing precisely: the write contract, checked by the schema lint in those three places. Rules that reach past the repo — what gets sent, published or pushed where — stay owner decisions, not hooks.
Four layers. One operator.
The vault is not a note-taking app — it is the context Claude Code runs your company on. Each layer is a set of concrete skills that self-heal and compound in value.
The operator lives where the knowledge lives.
Real zsh terminals inside Obsidian — not a command runner. Claude Code or Codex as the provider.
Multi-terminal · up to 8 sessions
Single / side-by-side / 2×2 / 2×3 / 2×4. Every session gets its own geometric glyph.
Agent tracker
Each session's state: Working → To Review → Standby, with idle detection. You see which agent needs attention.
Smart Session Restore
On open, a modal sorts sessions (Needs attention / Idle / Archive) and auto-resumes Claude — no hidden skill re-runs.
Wiki-link autocomplete
[[ in the terminal searches your notes; drag-and-dropped files paste shell-escaped paths.
Knowledge graph
Force-directed graph of note dependencies — custom canvas physics, bloom-in, hover highlight.
Compact + fullscreen
48px sidebar for maximum space; a fullscreen overlay when the terminal should own the screen.
Repeatable multi-agent work is a graph, not a loop.
In a loop the intermediate results land in the context window and poison it. In a graph the plan sits in a script, the intermediate results sit in its variables, and the main session receives only the answer. The edges of an agent graph behave like the edges of a knowledge graph: each one carries a type and a contract.
Fan-out
One question, several agents working in parallel, one merge at the end. You buy breadth without paying for it in the main context.
Pipeline
Stage N+1 starts from stage N's artefact with a fresh window. The plan lives in the script, so it outlives a context that does not.
Adversarial verify
A second agent tries to break the first one's output before it ships. Nobody grades their own homework, and the reviewer starts clean.
Judge panel
Several graders score the same artefact against one rubric. The spread between them is the signal, not the average.
The brake: the main value of subagents is in preserving that valuable root context and managing token-heavy operations
— Simon Willison (simonwillison.net). Deterministic workflow tooling in Claude Code is one implementation of these four shapes; the architecture is the part that carries over to anything else. A prettier diagram is not a reason to add a stage.
/workflow-design
A wizard that turns these four shapes into a runnable graph: a short interview about priorities, a topology pick with ASCII previews, adversarial gates per stage — out comes a validated script. This very release shipped through workflows it designed.
Browse the skill on GitHub →A curated skills library. One click.
The gallery renders from the live registry.json — the exact library the plugin installs. Every skill is rated (quality, difficulty, scope), prerequisites visible.
Google Workspace MCP — 25 tools.
A bundled MCP server. The same operator that maintains the vault reads and acts on your inbox, calendar and documents. Multi-account, OAuth, encrypted.
The prompt gets thinner only because the contract got heavier.
rev 2.0 · aug 2026Shipped alongside native Workflows in Claude Code — the loop-era artefacts retired to the archive with it.
You cut — the procedure
- Steps and behaviour checklists
- Examples that narrow the search space
- Reminders restating what hooks already enforce
You keep — the contract
- Boundaries and scope
- Definition of done
- Goal and audience
- Hard rules — already a lint, not a paragraph
Anthropic removed more than 80% of Claude Code's own system prompt for the Claude 5 generation of models, and said it plainly: we were overconstraining Claude Code, both through our system prompt and in our CLAUDE.md files and skills
(claude.com/blog). Those are exactly the artefacts this methodology is made of.
Configure your modular context
Click through a few steps — archetype, goals, character, capabilities — and we assemble a ready setup prompt plus a preview of your vault.
First launch on macOS — read this (unsigned, adhoc)
The app is unsigned (adhoc) and not notarized. macOS Gatekeeper will block it on first launch — expected, not a bug. The mature install path is the plugin/BRAT; the DMG is a standalone preview.
- Right-click Modular Context.app → Open → in the dialog click Open again.
- If macOS (Sequoia+) hides right-click → Open, run in Terminal:
xattr -dr com.apple.quarantine "/Applications/Modular Context.app"
Verify the downloaded file:
shasum -a 256 ~/Downloads/ModularContext-arm64.dmg
SHA-256: <fill in after release>
The code is open-source (MIT) — you can verify and build it yourself.
Your data stays with you.
receptionOS's flagship open-source project.
MIT. Monorepo: Obsidian plugin, Google Workspace MCP server (v1.3.0), curated skill library. Desktop app (DMG) — preview, macOS arm64.
Karpathy LLM Knowledge Base + Gmail & G-Cal — multi-account MCP server for Claude Code. Encrypted, local-first. Built and maintained by the receptionOS team.