The Agent Workspace Model defines a standard pattern for turning any Git repository into a persistent, context-aware AI workspace. This page documents the complete specification — the folder structure, conventions, and components that make it work.
Reference Repository: The full specification, validation schema, and examples live in the Claude Agent Workspace Model repo.
Point Claude at that repo and tell it to scaffold a workspace for your use case — it will generate the full structure automatically.
Every workspace moves through three stages:
The cloned template comes pre-populated with the structural mechanics (folders, CLAUDE.md, slash commands, MCP config) but is a blank page in terms of context. The /onboard command drives the Personalize stage.
Every Agent Workspace must contain these directories and a root CLAUDE.md:
This file is loaded with every prompt, so it must be kept lightweight. It should contain only:
Detailed instructions, environment specifics, and domain knowledge belong in context/for-agent/, not in CLAUDE.md.
| Path | Purpose | Created By |
|---|---|---|
project.md | Project name, description, goals | /onboard |
role.md | User's role and how it shapes the work | /onboard |
constraints.md | Boundaries, deadlines, preferences | /onboard |
for-agent/environment.md | User's environment details (OS, tools, paths) | /onboard |
for-agent/workflows.md | Detailed workflow instructions for the agent | Template or /onboard |
for-agent/*.md | Any detailed agent instructions too verbose for CLAUDE.md | Template, user, or agent |
Key principle: CLAUDE.md contains stubs; context/for-agent/ contains substance.
The agent creates a new entry for each day it operates. Each file is named YYYY-MM-DD.md.
There is always exactly one plan.md representing the current state. When the plan changes significantly, the agent records the pivot in pivots/.
Polished, user-facing documents: research summaries, decision frameworks, reference guides.
CLAUDE.md + context/ directory + working files.
Slash commands (.claude/commands/), shell scripts, context aliases.
MCP servers, external APIs, CLI tools. Configured via .mcp.json.
File operations, shell commands, tool calls.
CLAUDE.md exists at rootcontext/ directory existswork-log/ directory existsplanning/ directory existsuser-docs/ directory exists.claude/commands/onboard.md existscontext/project.md does not exist, prompt user to run /onboard