OpenClaw Workspace Configuration Lessons from Two Months of Use

An OpenClaw user shared detailed lessons after two months of using the AI coding agent, emphasizing that workspace configuration matters more than the tool itself. The developer found that a well-built workspace improves the experience by 5-10x compared to a standard setup.
SOUL.md Configuration
Generic instructions like "be helpful and professional" have minimal impact. Effective SOUL.md files should:
- Include specific behaviors like "lead with the answer, context after" or "if you don't know, say so, don't make things up"
- Stay between 50-150 lines maximum, as every line consumes context window tokens
- Focus on edge cases rather than normal scenarios: what the agent should do when it doesn't know something, when requests are out of scope, or when priorities conflict
- Test every line by asking: if deleted, does agent behavior change? If not, remove it
AGENTS.md as Standard Operating Procedure
This file should answer "how do you work" rather than "who are you" (which is SOUL.md's role). Key insights:
- The most valuable rule added: "before any non-trivial task, run memory_search first" to prevent guessing
- When the agent makes mistakes, add rules to prevent recurrence, with negative instructions ("never do X without checking Y") often working better than positive ones
- Rules in bootstrap files are advisory only—the model follows them because asked, not because they're enforced
- For rules that truly cannot be broken, use tool policy and sandbox configuration instead of relying on strongly worded markdown
MEMORY.md Management
This file loads every session, so it should contain only information that needs permanent retention:
- Include key decisions, user preferences, operational lessons, and rules learned from mistakes
- Daily information goes in memory/YYYY-MM-DD.md files that the agent searches when needed
- Hard limits: 20k characters per file, 150k total across all bootstrap files—exceeding causes silent truncation
- Instructions typed in chat do NOT persist once context compaction occurs
- Connect your workspace to git to recover accidentally overwritten MEMORY files from commit history
USER.md and Skills Optimization
The USER.md file is underrated—including background, preferences, timezone, and work context reduces repetition and saves tokens. For skills:
- Having 30 skills installed doesn't inject 30 full skills files into every prompt, but the skill list itself consumes context
- Reducing from 15+ skills to 5 noticeably improved output quality
- Test: if a skill disappeared tomorrow, would you notice? If not, uninstall it
Common Problems with Poor Setup
When persona setup isn't solid, these issues emerge quickly:
- Agent keeps drifting, requiring constant correction in an endless loop
- Tokens wasted on inefficient actions like opening a browser when a script would work
- Too many skills loaded, bloating context and preventing proper functionality
- Inconsistent output for the same task across different sessions
The developer, who works in e-commerce, created product sourcing and Shopify operations personas after finding most available personas inadequate. They noted that while every industry has workflows that could be packaged into personas, good resources are scattered across paid platforms, GitHub, random blogs, and old posts, with many "personas" being just single SOUL files that aren't usable out of the box.
📖 Read the full source: r/clawdbot
👀 See Also

Route Claude Code through Ollama and Cut Your Bill ~90%
Pair Claude Desktop with Ollama-backed Claude Code: strategic work stays on Anthropic, heavy tasks run on free open-source models like Gemma, Qwen, DeepSeek. Includes a copy-paste prompt that automates ~98% of the setup.

Splitting Agent Context into Three Layers to Solve the 700-Line Monolith Problem
A team building a 6-agent autonomous system solved context file bloat by separating agent context into three layers based on concern type and change frequency: CLAUDE.md for identity, BRIEFING.md for mission, and PLAYBOOK.md for operations. This approach prevents silent failures from argument limits and makes editing predictable.

Running OmniCoder-9B locally with llama.cpp configuration details
A developer achieved 96.7% average HumanEval score with OmniCoder-9B on mid-range hardware using specific llama.cpp flags including --reasoning-budget 0 to disable chain-of-thought output. The setup used a Q6_K quantized model running on an RTX 3080 with 10GB VRAM.

Practical OpenClaw Setup Insights from Docker/Windows Experience
A developer shares specific lessons from running OpenClaw on Docker with Windows 11/WSL2, covering persistence issues, Discord bot configuration, memory management approaches, and browser automation workarounds.