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

Open-source launch playbook for OSS LLM and local AI projects
An open-source playbook addresses discoverability issues for LLM and local AI projects by providing structured guidance on pre-launch preparation, launch-day execution, and post-launch follow-up. It includes templates and strategies for community distribution, creator outreach, and SEO optimization.

Setting Up MCP Servers in llama-server Web UI: A Practical Guide
A Reddit user shares specific steps to configure MCP servers in llama-server's web UI, including installing uv, creating a config.json file with server definitions, running mcp-proxy, and modifying URLs for proper integration.

Treating OpenClaw Subagents as Stateless Functions Instead of Persistent Team Members
A developer shares their experience shifting from treating OpenClaw subagents as persistent team members with personalities to viewing them as stateless function calls with specialized purposes.

Claude Code Workflow Visual: Memory Hierarchy, Skills, Hooks, and Loop
A Reddit post shares a workflow visual for Claude Code covering CLAUDE.md memory layering (global → repo → scoped), skills as reusable patterns in .claude/skills/, and a suggested workflow loop (plan → describe → accept → commit).