An operating system for agentic development
How we turn AI models into reliable, persistent collaborators — with plain files, clear boundaries, and structured memory.
Large language models are remarkably capable. But on their own, they have serious limitations that compound over time:
At 90% accuracy per step, a 5-step task only succeeds 59% of the time. Structure fixes this.
Every task is separated into three concerns. Each layer has one job.
Reliability comes from pushing repeatable steps into deterministic scripts — while keeping human intent readable and the AI focused on reasoning.
The workspace is organized by function, not by project or person. Dependencies flow downward only.
Your secrets, notes, and local overrides. Never versioned, never shared. The private second brain.
The shared operating system. Canonical skills, directives, executions, and context. Changes require a PR.
Your personal extensions. Experiment freely, push while working. Mature tools graduate to the team library.
The workbench. Each project is its own repo with standardized docs, specs, and source code.
This is what the workspace actually looks like. Every directory has a purpose.
agents/
└── rowan-anicca/
├── identity.md
├── memory/
│ ├── MEMORY.md
│ └── *.md
└── adapters/
personal/ layer 0 ├── notes/ ├── preferences/ ├── scratch/ └── secrets/
team-lib/ layer 1 ├── context/ │ ├── global/ │ └── indexed/ ├── directives/ ├── executions/ ├── harnesses/ ├── integrations/ ├── personas/ ├── registry/ │ ├── workspace.yaml │ ├── skills.yaml │ ├── executions.yaml │ └── ...manifests └── skills/
my-lib/ layer 2 ├── archive/ ├── backlog/ ├── context/ │ ├── global/ │ └── indexed/ ├── directives/ ├── executions/ ├── harnesses/ ├── integrations/ ├── personas/ ├── registry/ │ ├── skills.yaml │ ├── executions.yaml │ └── ...manifests ├── runtime/ └── skills/
projects/ layer 3 ├── my-app/ │ ├── docs/ │ │ ├── specs/ │ │ ├── adrs/ │ │ └── context/ │ └── src/ │ └── another-app/ ├── docs/ └── src/
Each directory type in the workspace has a distinct role in the agentic workflow:
What to do — intent and constraints
What to know — persistent knowledge
Who to be — identity and behavior
How to do it — reusable capabilities
Do the work — deterministic scripts
Connect outside — CLIs, MCPs, APIs
Run sessions — the agent's main()
Definition of done — acceptance criteria
The workspace solves context amnesia with a layered memory system. Each tier has a different lifetime and loading strategy.
The agent's identity, memory, and behavioral context live in a git-backed repository — not inside any vendor's directory.
Agents don't guess file paths or scan directories heuristically. Every skill, directive, execution, and context file is registered in a YAML manifest.
Load order is deterministic: shared first, then personal overrides, then project-specific context. No ambiguity.
Integrations bridge the workspace to external services. Each one has its own authentication, documentation, and invocation interface.
gws, Restish
Playwright, Baserow
Apps Script, n8n
The agent automatically adjusts its behavior based on where it's working. Each directory has a constitution file that sets the rules.
Different layers have different rules — strict where it matters, loose where velocity matters.
The workspace prevents entropy by making the right thing easy and the wrong thing hard — without slowing anyone down.
No vendor lock-in. No magic. Just files and folders that work across VS Code, Obsidian, Git, and any AI agent.
Full reference: workspace-reference.md • Editor setup: editor-setup-guide.md • Project docs: project-docs-standard.md