Isolated workspace
Aria lives in ~/agents/aria/ โ her own files, memory, and state. She canโt accidentally read or modify other agentsโ data.
You donโt need to understand AI deeply to build a useful agent. You need three things: a personality file, a workspace, and a schedule. Thatโs it. Letโs do it in 10 minutes.
A personal assistant agent named โAriaโ that:
~/agents/aria/)SOUL.md)npm install -g openclawopenclaw --version # Verify: should print 1.x.x or higher# Run inside WSL2 Ubuntunpm install -g openclawopenclaw --versionThen configure your API keys:
openclaw init# Follow the prompts:# - Anthropic API key (required)# - Telegram bot token (optional but recommended)# - Default model (press Enter for claude-opus-4 default)This creates ~/.openclaw/config.json โ the global config all agents share.
Every agent lives in its own directory. This isolation keeps agents from stepping on each other and makes them easy to back up or share.
mkdir -p ~/agents/ariacd ~/agents/aria
# Create the memory directory structuremkdir -p memory/entities/{people,companies,projects}mkdir -p stateYour workspace structure will look like:
~/agents/aria/โโโ SOUL.md โ Personality & purpose (you'll write this)โโโ MEMORY.md โ Long-term curated memory (starts empty)โโโ AGENTS.md โ Workspace rules (optional but useful)โโโ memory/โ โโโ 2026-03-27.md โ Daily logs (auto-created)โ โโโ entities/ โ Structured facts about people/companiesโโโ state/ โโโ current.md โ Active context (survives compaction)SOUL.md is the single most important file. It defines who your agent is โ its values, communication style, and what it cares about. Agents without a SOUL.md are generic. Agents with one are memorable.
Create ~/agents/aria/SOUL.md:
# SOUL.md - Aria's Personality
## Who I Am
I'm Aria, a personal research and briefing assistant.My job is to keep you informed without drowning you in noise.
## Core Values
**Be concise.** No padding, no filler. If something can be said in10 words instead of 30, use 10.
**Be curious.** When I find something interesting, I say so. I haveopinions about ideas, not just neutral summaries.
**Be proactive.** I flag things before you ask. If I see somethingrelevant, I surface it โ even if you didn't request a report.
## Communication Style
- Short paragraphs, no walls of text- Use bullets for lists, prose for narrative- Never say "Great question!" or "I'd be happy to help!"- Include a bottom-line-up-front (BLUF) when summarizing
## What I Focus On
- AI and technology news- Business and strategy insights- Anything directly relevant to your current projects
## What I Ignore
- Celebrity news, sports, entertainment- Clickbait or sensationalism- Anything I've already reported in the last 7 daysOpenClaw needs to know Aria exists. Edit your main OpenClaw config at ~/.openclaw/openclaw.json (or ~/clawd/openclaw.json if youโre using the standard setup):
{ "agents": { "main": { "workspace": "~/clawd", "model": "anthropic/claude-opus-4", "description": "Main personal assistant" }, "aria": { "workspace": "~/agents/aria", "model": "anthropic/claude-haiku-4", "description": "Daily research briefing agent", "channel": "telegram" } }}Key fields explained:
workspace: Where the agentโs files live (absolute or ~/ paths work)model: Which LLM to use. Haiku is 10ร cheaper than Opus for scheduled tasksdescription: Human-readable label โ shows up in dashboards and logschannel: Where the agent sends output by defaultCron schedules let agents run automatically. Add Ariaโs morning briefing to your cron config:
{ "agents": { "aria": { "workspace": "~/agents/aria", "model": "anthropic/claude-haiku-4", "description": "Daily research briefing agent", "channel": "telegram", "crons": [ { "schedule": "0 8 * * *", "prompt": "Read SOUL.md and memory/MEMORY.md. Then search the web for the top 3 AI and technology stories from the last 24 hours. Write a concise morning briefing (3-5 bullets, 1-2 sentences each) and send it to the telegram channel. Log what you sent in memory/YYYY-MM-DD.md.", "model": "anthropic/claude-haiku-4", "timeout": "5m" } ] } }}โโโโโโโโโ minute (0-59)โ โโโโโโโ hour (0-23)โ โ โโโโโ day of month (1-31)โ โ โ โโโ month (1-12)โ โ โ โ โ day of week (0-6, 0=Sunday)โ โ โ โ โ0 8 * * * โ Every day at 8:00 AM0 9 * * 1 โ Every Monday at 9:00 AM*/30 * * * * โ Every 30 minutes0 8,17 * * * โ 8 AM and 5 PM dailyBefore trusting the cron, test manually:
# Trigger Aria directlyopenclaw run aria --prompt "Quick test: search the web for 1 AI news story from today and send it to me on Telegram"
# Or open an interactive sessionopenclaw chat ariaYou should see Aria respond in Telegram within 30-60 seconds. If you donโt:
# Check logsopenclaw logs aria --tail 50
# Verify configopenclaw status ariaCommon issues:
openclaw.json# List scheduled jobsopenclaw crons list
# Output:# aria 0 8 * * * Daily briefing Next: 2026-03-28 08:00:00To test the cron fires correctly without waiting until 8 AM:
openclaw crons trigger aria# Fires the cron immediately with its configured promptIsolated workspace
Aria lives in ~/agents/aria/ โ her own files, memory, and state. She canโt accidentally read or modify other agentsโ data.
Defined personality
SOUL.md gives Aria a consistent voice and scope. Every session, she reads it first and stays in character.
Memory across sessions
Daily memory files mean Aria remembers what she reported yesterday. No duplicate briefings.
Automated schedule
The 8 AM cron runs without you touching anything. Aria works whether your laptop is open or not (if running on a server).
Now that Aria is running, extend her:
# Add to the cron prompt to prevent repeats:"Before searching, read memory/YYYY-MM-DD.md from the last 3 days.Skip any stories you've already reported."
# Add a second cron for evening summary:{ "schedule": "0 17 * * 1-5", "prompt": "Check my calendar for tomorrow's events and send a 3-bullet prep note."}Ready to build something more complex? Check out Multi-Agent Orchestration: CEO Pattern to learn how agents can delegate to each other.
About the author: JD Davenport builds AI agent systems at OpenClaw. Follow on LinkedIn for updates on building AI agents for business.