Workspace Review
A self-audit process to verify workspace files follow OpenClaw conventions and haven't drifted into non-standard patterns.
When to Run
- •Periodically (weekly or after major changes)
- •When asked to "review", "audit", or "check" workspace
- •After bootstrap or significant reorganization
- •During heartbeat maintenance cycles
Review Process
1. Structure Check
Verify expected files exist in correct locations:
~/.openclaw/workspace/ ├── AGENTS.md ← Operating instructions (REQUIRED) ├── SOUL.md ← Persona/tone (REQUIRED) ├── USER.md ← User profile (REQUIRED) ├── IDENTITY.md ← Agent name/vibe/emoji (REQUIRED) ├── TOOLS.md ← Local tool notes (REQUIRED) ├── HEARTBEAT.md ← Heartbeat checklist (optional) ├── MEMORY.md ← Curated long-term memory (optional) ├── BOOT.md ← Runs on gateway restart (optional, boot-md hook) ├── BOOTSTRAP.md ← One-time first-run ritual (delete after use) ├── memory/ ← Daily logs + reference docs (vector-indexed) │ └── YYYY-MM-DD.md └── skills/ ← Workspace-specific skills (optional)
Note on BOOT.md vs BOOTSTRAP.md:
- •
BOOT.md— Persistent; runs every gateway restart (ifboot-mdhook enabled) - •
BOOTSTRAP.md— One-time; agent follows it on first run, then deletes it
Check: Run ls -la on workspace root. Flag missing required files.
2. File Purpose Audit
Each file has ONE job. Check for scope creep:
| File | Should Contain | Should NOT Contain |
|---|---|---|
| AGENTS.md | Operating instructions, memory workflow, behavior rules | Personal memories, daily logs, tool configs |
| SOUL.md | Persona, tone, boundaries, identity philosophy | Task lists, technical details, credentials |
| USER.md | User profile, preferences, how to address them | Agent memories, system config |
| IDENTITY.md | Name, emoji, vibe, external identities (wallets, handles) | Instructions, memories |
| TOOLS.md | Environment-specific notes (camera names, SSH hosts, voices) | Skill instructions, operating procedures |
| HEARTBEAT.md | Short checklist for periodic checks | Long procedures, full documentation |
| MEMORY.md | Curated lessons, key context, important people/projects | Daily logs, raw notes |
| memory/*.md | Daily logs, raw notes, session summaries | Long-term curated memories |
Check: Skim each file. Flag content in wrong location.
3. Memory Hygiene
- • Daily files use
YYYY-MM-DD.mdorYYYY-MM-DD-slug.mdformat - • Hook-generated session files (
session-memoryhook createsYYYY-MM-DD-slug.md) reviewed periodically - • Reference docs use descriptive names (not dates):
project-notes.md,api-guide.md - • MEMORY.md contains curated insights, not raw logs
- • No duplicate information across MEMORY.md and daily files
- • Old daily files reviewed and distilled to MEMORY.md periodically
- • No sensitive data (API keys, passwords) in memory files
Automatic Memory Flush: OpenClaw triggers a silent agent turn before session compaction to write durable memories. The agent receives a prompt to flush important context to memory/YYYY-MM-DD.md. This is automatic — no action needed, but be aware your context WILL be compacted after ~180k tokens.
4. Vector Search Alignment
- • Only
MEMORY.mdandmemory/**/*.mdare indexed by default - • Daily logs use
YYYY-MM-DD.md; reference docs use descriptive names - • Files outside
memory/can be indexed viamemorySearch.extraPathsin config
Session Memory (Experimental): If memorySearch.experimental.sessionMemory = true, session transcripts are also indexed and searchable via memory_search.
5. Git Status
⚠️ This workspace is PRIVATE. Never push to GitHub or any public remote.
cd ~/.openclaw/workspace && git status
- • No remote configured (or only private backup)
- • No untracked files that should be tracked
- • No tracked files that should be gitignored
- • No uncommitted changes lingering for days
- • .gitignore excludes secrets (*.key, .pem, .env, secrets)
6. Rogue Files Check
Look for files that don't fit the standard layout:
ls -la ~/.openclaw/workspace/
Flag anything that:
- •Duplicates bootstrap file purposes (e.g., README.md alongside AGENTS.md)
- •Stores credentials in workspace (should be in ~/.openclaw/credentials/)
- •Creates non-standard directories without clear purpose
Note: Only MEMORY.md and memory/**/*.md are vector-indexed. Files outside memory/ can be added via memorySearch.extraPaths in config.
7. Size Check
Bootstrap files should be lean (loaded every session):
- •AGENTS.md: < 500 lines ideal, < 1000 max
- •SOUL.md: < 200 lines ideal
- •USER.md: < 100 lines ideal
- •IDENTITY.md: < 50 lines ideal
- •HEARTBEAT.md: < 100 lines (token burn concern)
wc -l AGENTS.md SOUL.md USER.md IDENTITY.md HEARTBEAT.md TOOLS.md MEMORY.md 2>/dev/null
8. Skills Check
If skills/ exists:
- • Each skill has SKILL.md with valid frontmatter (name, description)
- • No duplicate skills (workspace vs managed)
- • Skills follow progressive disclosure (lean SKILL.md, references for details)
Output Format
After review, report:
## Workspace Review — YYYY-MM-DD ### ✅ Passing - [list what's correct] ### ⚠️ Warnings - [list minor issues] ### ❌ Issues - [list things that need fixing] ### 📋 Recommendations - [specific actions to take]
References
- •references/openclaw-conventions.md — Full workspace file specifications
- •references/checklist.md — Quick-reference checklist