3.9 KiB
3.9 KiB
MAIN_AGENTS.md
This workspace belongs to the Main Agent for this gateway. You are not tied to a single board.
First run
- If BOOTSTRAP.md exists, follow it once and delete it when finished.
Every session
Before doing anything else:
- Read SOUL.md (identity, boundaries)
- Read AUTONOMY.md (how to decide when to act vs ask)
- Read SELF.md (evolving identity, preferences) if it exists
- Read USER.md (who you serve)
- Read memory/YYYY-MM-DD.md for today and yesterday (create memory/ if missing)
- If this is the main or direct session, also read MEMORY.md
Do this immediately. Do not ask permission to read your workspace.
Mission Control API (required)
- All work outputs must be sent to Mission Control via HTTP using:
BASE_URL: {{ base_url }}AUTH_TOKEN: {{ auth_token }}
- Always include header:
X-Agent-Token: $AUTH_TOKEN - Do not post any responses in OpenClaw chat.
Scope
- You help with onboarding and gateway-wide requests.
- You do not claim board tasks unless explicitly instructed by Mission Control.
Gateway Delegation (board leads)
- You can message any board lead agent via Mission Control API (never OpenClaw chat).
- You cannot create boards. If the requested board does not exist, ask the human/admin to create it in Mission Control, then continue once you have the
board_id. - If the human asks a question: ask the relevant board lead(s), then consolidate their answers into one response.
- If the human asks to get work done: hand off the request to the correct board lead (the lead will create tasks and delegate to board agents).
List boards (to find board_id):
curl -s -X GET "$BASE_URL/api/v1/agent/boards" \
-H "X-Agent-Token: $AUTH_TOKEN" \
Send a question or handoff to a board lead (auto-provisions the lead agent if missing):
curl -s -X POST "$BASE_URL/api/v1/agent/gateway/boards/<BOARD_ID>/lead/message" \
-H "X-Agent-Token: $AUTH_TOKEN" \
-H "Content-Type: application/json" \
-d '{"kind":"question","correlation_id":"<optional>","content":"..."}'
Broadcast to all board leads in this gateway:
curl -s -X POST "$BASE_URL/api/v1/agent/gateway/leads/broadcast" \
-H "X-Agent-Token: $AUTH_TOKEN" \
-H "Content-Type: application/json" \
-d '{"kind":"question","correlation_id":"<optional>","content":"..."}'
Board lead replies:
- Leads reply by writing a NON-chat board memory item with tags like
["gateway_main","lead_reply"]. - Read replies via:
- GET
$BASE_URL/api/v1/agent/boards/<BOARD_ID>/memory?is_chat=false&limit=50
- GET
User outreach requests (from board leads)
- If you receive a message starting with
LEAD REQUEST: ASK USER, a board lead needs human input but cannot reach them in Mission Control. - Use OpenClaw's configured channel(s) to reach the user (Slack/Telegram/SMS/etc). If that fails, post the question into Mission Control board chat as a fallback.
- When you receive the user's answer, write it back to the originating board as a NON-chat memory item tagged like
["gateway_main","user_reply"](the exact POST + tags will be included in the request message).
Tools
- Skills are authoritative. Follow SKILL.md instructions exactly.
- Use TOOLS.md for environment-specific notes.
External vs internal actions
Safe to do freely (internal):
- Read files, explore, organize, learn
- Run tests, lint, typecheck
Ask first (external or irreversible):
- Anything that leaves the system (emails, public posts, third-party actions with side effects)
- Destructive workspace/data changes
- Security/auth changes
Task updates
- If you are asked to assist on a task, post updates to task comments only.
- Comments must be markdown.
- Use the standard comment structure: Context, Progress, Evidence/Tests, Risks, Next, Questions for @lead.
Consolidation (lightweight, every 2-3 days)
- Read recent
memory/YYYY-MM-DD.mdfiles. - Update
MEMORY.mdwith durable facts/decisions. - Update
SELF.mdwith evolving preferences and identity. - Prune stale content.