Setup walkthrough

30 minutes, start to working agent

Nine steps. Each step shows you what file you're filling in, why it matters, and a prompt you can paste into any AI (Claude, ChatGPT, Ea, whichever) to generate the file. Copy → paste → answer the questions → save.

01
Step

Install + clone

You need an agent harness that can load markdown context files. OpenClaw is the one I (Todd) use. Any harness with similar capabilities works.

Install OpenClaw (or your harness of choice). Then clone the template into ~/clawd:

git clone https://github.com/todddickerson/clawd-template.git ~/clawd
cd ~/clawd
bash

You should see BOOTSTRAP.md, AGENTS.md, SOUL.md, and the rest of the templated files. Open the folder in your editor.

02
Step

BOOTSTRAP.md

Your agent's birth certificate. It tells the agent to ask you three questions and write its initial identity files based on your answers. Deletes itself when done.

Start your agent (in OpenClaw, open the workspace at ~/clawd). The agent reads BOOTSTRAP.md, asks you:

  1. What should I call you?
  2. What should I call myself? (Name, vibe, emoji.)
  3. What do you actually do? Companies, projects, people in your orbit, tools you live in.

Answer naturally. The agent writes USER.md, IDENTITY.md, and an updated SOUL.md from your answers, then deletes BOOTSTRAP.md.

Don't have an agent running yet? Skip ahead — for steps 03–06 you can paste the prompts into Claude, ChatGPT, or any other AI and let it generate the files manually.
03
Step

USER.md

Who the agent is helping. Name, role, projects, comms style, key people. The richer this file is, the less the agent has to ask you to repeat yourself.

If you skipped BOOTSTRAP or want to refine USER.md, paste this into any AI:

Prompt
I'm setting up a personal AI assistant. Help me fill in my USER.md profile. Ask me questions one at a time about: my name and what to call me, my timezone, my professional context, the daily tools I use, the projects I work on, my communication-style preferences, and the key people in my life. Then output the complete USER.md as a markdown file using clear section headers (Basics, Professional Identity, Daily Tools & Workflow, Current Active Projects, Interests & Personal, Family / Close People, Work Style & Preferences, Email Filters).

Save the output as USER.md in ~/clawd.

04
Step

IDENTITY.md

Name, vibe, emoji. Short and specific. You'll grow into it.

Prompt
Help me name my personal AI assistant. Ask me: (1) what kind of personality I want — playful, serious, curious, blunt, etc; (2) what archetypes I find appealing (executive assistant, sidekick, librarian, engineer, oracle, etc); (3) any references I like (mythology, fiction, history); (4) one emoji that captures the vibe. Then suggest 3-5 names with a one-line characterization for each, and let me pick. Output the chosen name, creature, vibe, and emoji as a populated IDENTITY.md file.
05
Step

SOUL.md

The persona scaffold — who the agent is. Core truths, boundaries, vibe. The default is generic; this prompt makes it yours.

Prompt
The default SOUL.md in clawd-template is a generic persona scaffold. Read it back to me, then ask me three questions about my preferred working style with an AI assistant: (1) what level of formality I want; (2) what kind of opinions/pushback I want from it; (3) what to be especially careful about (privacy, tone, anything else). Then rewrite SOUL.md to match my answers while keeping the same section structure (Core Truths, Boundaries, Vibe, Continuity). Keep it concise.
06
Step

TOOLS.md skeleton

Your local notes. Account IDs, paths, conventions. The shape of the file matters more than the content — it's where your agent learns the layout of your specific setup.

Prompt
I want to fill in my TOOLS.md — local notes about the services and conventions my AI agent should know. Ask me which categories apply to me from this list: browser profile preferences, default coding agent + model, deployment hosts (Vercel/Netlify/Cloudflare/Render/Fly), domain registrar + DNS API, LLM/AI services I use, error monitoring + observability. For each one I say yes to, ask 2-3 questions about my setup (account name, env var names for keys, default commands). Output a populated TOOLS.md with placeholders for any secret values referenced by env var name only — never paste raw keys.
07
Step

First HEARTBEAT.md

The proactive check pattern. Small. Tiered. Heavy work goes to sub-agents, not inline.

Prompt
Help me draft my first HEARTBEAT.md — the file my AI agent reads on every heartbeat poll (every ~30 minutes) to know what to check proactively. Ask me: (1) what apps/services I want it to health-check (give me their URLs); (2) what daily rituals I want it to handle (emails, calendar, content briefings, etc); (3) what observability tools to monitor (Sentry, AppSignal, etc); (4) my "stay quiet" hours. Then output a tiered HEARTBEAT.md with Tier 0 housekeeping, Tier 1 production health, Tier 2 active monitoring, Tier 3 reactive (only-if-changed), Tier 4 daily rituals, Tier 5 weekly. Keep it small — every line costs tokens since this loads on every heartbeat.
08
Step

Wire it up

Tell your harness to load these files automatically on every session.

For OpenClaw, edit ~/.openclaw/openclaw.json and enable an active-memory plugin that loads the right files on every turn:

{
  "plugins": {
    "entries": {
      "active-memory": {
        "config": {
          "workspace": "~/clawd",
          "files": ["AGENTS.md", "SOUL.md", "USER.md"],
          "dailyNote": "memory/{date}.md",
          "mainSessionExtras": ["MEMORY.md"]
        }
      }
    }
  }
}
json

(Adjust to whatever your harness's plugin config actually looks like — this is the shape.)

09
Step

Schedule the heartbeat

A cron job that pings your agent every 20-30 minutes is what makes it proactive instead of reactive.

Set up a recurring task in your harness that sends this message to your agent every 20-30 minutes:

Read HEARTBEAT.md if it exists. Follow it strictly.
Do not infer or repeat old tasks from prior chats.
If nothing needs attention, reply HEARTBEAT_OK.
text

That's it. Your agent now has identity, memory, and a proactive loop. The compounding starts from here.

Done. Now ship it.

Once your agent is running, the most important habit is trajectory tips — append a line to memory/trajectory-tips.mdafter every non-trivial task, especially failures. That's how the system stops repeating mistakes.