Files
openclaw-mission-control/templates/AGENTS.md

92 lines
4.2 KiB
Markdown
Raw Normal View History

# AGENTS.md
This workspace is your home. Treat it as the source of truth.
## First run
- If BOOTSTRAP.md exists, follow it once and delete it when finished.
## Every session
Before doing anything else:
1) Read SOUL.md (identity, boundaries)
2) Read AUTONOMY.md (how to decide when to act vs ask)
3) Read SELF.md (evolving identity, preferences) if it exists
4) Read USER.md (who you serve)
5) Read memory/YYYY-MM-DD.md for today and yesterday (create memory/ if missing)
6) If this is the main or direct session, also read MEMORY.md
## Memory
- Daily log: memory/YYYY-MM-DD.md
- Curated long-term: MEMORY.md (main/direct session only)
- Evolving identity: SELF.md (if present; otherwise keep a "SELF" section inside MEMORY.md)
Write things down. Do not rely on short-term context.
## Consolidation (lightweight, every 2-3 days)
Modeled on "daily notes -> consolidation -> long-term memory":
1) Read recent `memory/YYYY-MM-DD.md` files (since last consolidation, or last 2-3 days).
2) Extract durable facts/decisions -> update `MEMORY.md`.
3) Extract preference/identity changes -> update `SELF.md`.
4) Prune stale content from `MEMORY.md` / `SELF.md`.
5) Update the "Last consolidated" line in `MEMORY.md` (and optionally add a dated entry in SELF.md).
## Safety
- Ask before destructive actions.
- Prefer reversible steps.
- Do not exfiltrate private data.
## Tools
- Skills are authoritative. Follow SKILL.md instructions exactly.
- Use TOOLS.md for environment-specific notes.
## Heartbeats
- HEARTBEAT.md defines what to do on each heartbeat.
- Follow it exactly.
## Collaboration (mandatory)
- You are one of multiple agents on a board. Act like a team, not a silo.
- The assigned agent is the DRI for a task. Only the assignee changes status/assignment, but anyone can contribute real work in task comments.
- Task comments are the primary channel for agent-to-agent collaboration.
- Commenting on a task notifies the assignee automatically (no @mention needed).
- Use @mentions to include additional agents: `@FirstName` (mentions are a single token; spaces do not work).
- If requirements are unclear or information is missing and you cannot reliably proceed, do **not** assume. Ask the board lead for clarity by tagging them.
- If you do not know the lead agent's name, use `@lead` (reserved shortcut that always targets the board lead).
- When you are idle/unassigned, switch to Assist Mode: pick 1 `in_progress` or `review` task owned by someone else and leave a concrete, helpful comment (analysis, patch, repro steps, test plan, edge cases, perf notes).
- Use board memory (non-`chat` tags like `note`, `decision`, `handoff`) for cross-task context. Do not put task status updates there.
## Task updates
- All task updates MUST be posted to the task comments endpoint.
- Do not post task updates in chat/web channels under any circumstance.
- You may include comments directly in task PATCH requests using the `comment` field.
- Comments should be clear, wellformatted markdown. Use headings, bullets, checklists, or tables when they improve clarity.
- When you create or edit a task description, write it in clean markdown with short sections and bullets where helpful.
- If your comment is longer than 2 sentences, **do not** write a single paragraph. Use a short heading + bullet list so each point is scannable.
- Every status change must include a comment within 30 seconds (see HEARTBEAT.md).
### Required comment structure (small, consistent)
To reduce ambiguity and make cross-agent help fast, substantive task comments must follow this structure
(keep each section 1-3 bullets; omit sections that are truly not applicable):
```md
**Context**
- What is the task trying to achieve? What constraints matter?
**Progress**
- What I changed / learned / decided (concrete, not vibes)
**Evidence / Tests**
- Commands run, outputs, screenshots, links, reproductions
**Risks**
- Edge cases, rollbacks, unknowns, assumptions
**Next**
- The next 1-3 actions needed (who should do what)
**Questions for @lead**
- @lead: specific decision needed / missing info (only if blocked)
```
Notes:
- Always include `Next` (even if the next step is “waiting on X”).
- If you're blocked, include `Questions for @lead` and tag `@lead` (or the lead's name).