#Help me finish this
1 messages · Page 1 of 1 (latest)
"agents": {
"list": [
{
"id": "main",
"default": true,
"subagents": {
"allowAgents": [
"research",
"writer",
"coder"
]
}
},
{
"id": "research",
"agentDir": "~/.openclaw/agents/research",
"workspace": "~/.openclaw/workspace-research"
},
{
"id": "writer",
"agentDir": "~/.openclaw/agents/writer",
"workspace": "~/.openclaw/workspace-writer"
},
{
"id": "coder",
"agentDir": "~/.openclaw/agents/coder",
"workspace": "~/.openclaw/workspace-coder"
}
],
Paste the structure you already have (even just a tree -a output) and tell me what it’s for (repo? docs site? an OpenClaw “skill”?), and I’ll finish it exactly in that shape.
In the meantime, here’s a solid “default” repo/docs structure I can adapt, plus example contents for each .md file.
Suggested structure (generic project / library)
.
├─ README.md
├─ LICENSE.md
├─ CHANGELOG.md
├─ CONTRIBUTING.md
├─ CODE_OF_CONDUCT.md
├─ SECURITY.md
├─ SUPPORT.md
├─ docs/
│ ├─ index.md
│ ├─ getting-started.md
│ ├─ configuration.md
│ ├─ troubleshooting.md
│ └─ faq.md
└─ .github/
├─ ISSUE_TEMPLATE/
│ ├─ bug_report.md
│ └─ feature_request.md
└─ PULL_REQUEST_TEMPLATE.md
Example contents
README.md
# Project Name
One-line description of what this project does and who it’s for.
## What it does
- Bullet list of the main features
- Keep it outcome-focused (“automates X”, “helps you do Y”)
## Quick start
### Install
```bash
# replace with your real command
npm install project-name
Use
replace with your real command/example
project-name --help
Documentation
• Getting started: docs/getting-started.md
• Configuration: docs/configuration.md
• Troubleshooting: docs/troubleshooting.md
• FAQ: docs/faq.md
Contributing
See CONTRIBUTING.md
License
See LICENSE.md
LICENSE.md
MIT License
Copyright (c) <YEAR> <NAME>
Permission is hereby granted, free of charge, to any person obtaining a copy...
(If you tell me your preferred license, I’ll drop in the exact full text.)
CHANGELOG.md
# Changelog
All notable changes to this project will be documented in this file.
## Unreleased
- Initial structure
## 0.1.0 - YYYY-MM-DD
- First release
CONTRIBUTING.md
# Contributing
Thanks for helping!
## Development setup
1. Install dependencies:
```bash
npm install
- Run tests:```
npm test
Guidelines
• Keep PRs small and focused
• Add/update docs when behavior changes
• Add tests for bug fixes
Reporting bugs
Include:
• What you expected vs what happened
• Steps to reproduce
• Logs/stack traces (redact secrets)
### `CODE_OF_CONDUCT.md`
```md
# Code of Conduct
Be respectful. Assume good intent. No harassment.
## Our standards
- Be kind and constructive
- Welcome newcomers
- Focus on what’s best for the community
Enforcement
If you experience or witness unacceptable behavior, contact: <CONTACT METHOD>
`SECURITY.md`
Security Policy
Supported versions
- Only the latest release is supported.
Reporting a vulnerability
Please do not open a public issue.
Email: security-contact@example.com
Include:
- A description of the issue
- Steps to reproduce / PoC
- Impact assessment (if known)
`SUPPORT.md`
Support
Where to ask questions
- Discussions/Forum: <link>
- Chat/Discord: <link>
Before asking
- Check docs/troubleshooting.md
- Check docs/faq.md
- Include logs and version info (redact secrets)
`docs/index.md`
Documentation
Start here.
- Getting started: getting-started.md
- Configuration: configuration.md
- Troubleshooting: troubleshooting.md
- FAQ: faq.md
`docs/getting-started.md`
Getting started
Prerequisites
- Node >= X (or whatever applies)
- Optional: <tool>
Install
npm install project-name
First run
project-name init
project-name run
Next steps
• Configure: configuration.md
• Common issues: troubleshooting.md
### `docs/configuration.md`
```md
# Configuration
## Overview
Explain where config lives (file/env vars/flags) and precedence.
Example
{
"logLevel": "info",
"featureX": true
}
Options
| Key | Type | Default | Meaning |
| -------- | ------- | ------- | ----------------- |
| logLevel | string | "info" | Logging verbosity |
| featureX | boolean | false | Enables X |
### `docs/troubleshooting.md`
```md
# Troubleshooting
## “Command not found”
- Ensure it’s installed
- Verify PATH / use `npx`
## “Permission denied”
- Check file permissions
- Avoid running as root unless needed
## How to collect debug info
- Version: `project-name --version`
- Logs: `<where logs are>`
- Config (redacted)
`docs/faq.md`
FAQ
Why does X work this way?
Short explanation.
How do I do Y?
Step-by-step answer with a minimal example.
Two quick questions so I can tailor this to your “structure like this”
"agents": {
"list": [
{
"id": "main",
"default": true,
"subagents": {
"allowAgents": [
"research",
"writer",
"coder"
]
}
},
{
"id": "research",
"agentDir": "~/.openclaw/agents/research",
"workspace": "~/.openclaw/workspace-research"
},
{
"id": "writer",
"agentDir": "~/.openclaw/agents/writer",
"workspace": "~/.openclaw/workspace-writer"
},
{
"id": "coder",
"agentDir": "~/.openclaw/agents/coder",
"workspace": "~/.openclaw/workspace-coder"
}
],
1. Can you paste the structure you mean (screenshot or text tree)?
2. What is the project: a software repo, a documentation site, or an OpenClaw skill/package?
For a multi-agent setup like your agents.list snippet, there are two parallel “structures” to finish:
agentDir(state; OpenClaw-managed): auth profiles + per-agent config cacheworkspace(your editable files):AGENTS.md,SOUL.md,USER.md,MEMORY.md, etc.
Docs that describe this exactly:
- Multi-agent routing: https://docs.openclaw.ai/concepts/multi-agent
- Workspace files location (FAQ): https://docs.openclaw.ai/help/faq#where-should-agentsmd-soulmd-usermd-memorymd-live
- Subagents allowlist: https://docs.openclaw.ai/tools/subagents
1) Finish the agents.list config (example)
Important: agentDir should point at the .../<agentId>/agent folder (not just .../<agentId>), because that’s where auth-profiles.json lives. (Source: docs/concepts/multi-agent.md)
{
agents: {
list: [
{
id: "main",
default: true,
workspace: "~/.openclaw/workspace",
agentDir: "~/.openclaw/agents/main/agent",
// lets the main agent spawn sub-agents under these agent IDs
subagents: { allowAgents: ["research", "writer", "coder"] },
},
{
id: "research",
workspace: "~/.openclaw/workspace-research",
agentDir: "~/.openclaw/agents/research/agent",
},
{
id: "writer",
workspace: "~/.openclaw/workspace-writer",
agentDir: "~/.openclaw/agents/writer/agent",
},
{
id: "coder",
workspace: "~/.openclaw/workspace-coder",
agentDir: "~/.openclaw/agents/coder/agent",
},
],
},
}
(Routing inbound messages to specific agents is done with bindings, if/when you need it; see the multi-agent doc.)
2) What folders should exist on disk?
State dirs (mostly auto-created)
~/.openclaw/
└─ agents/
├─ main/
│ ├─ agent/ <-- agentDir (auth-profiles.json etc)
│ └─ sessions/
├─ research/
│ ├─ agent/
│ └─ sessions/
├─ writer/
│ ├─ agent/
│ └─ sessions/
└─ coder/
├─ agent/
└─ sessions/
Workspaces (you edit these)
Each agent workspace is where the Markdown “brain files” live:
~/.openclaw/workspace-<agentId>/
├─ AGENTS.md
├─ SOUL.md
├─ USER.md
├─ MEMORY.md
├─ HEARTBEAT.md # optional
├─ memory/
│ └─ 2026-02-15.md # optional daily notes
└─ skills/ # optional per-agent skills
(Source for “these files live in the agent workspace”: docs/help/faq.md section mentioned above.)
3) Example Markdown files (good starting templates)
AGENTS.md (per-agent “operating manual”)
Main (orchestrator) agent – ~/.openclaw/workspace/AGENTS.md
# AGENTS.md (main)
You are the main/orchestrator agent.
## What you do
- Handle the conversation and decide when to spawn sub-agents.
- Keep replies concise; delegate deep dives to the specialist agents.
## When to spawn sub-agents
- Research needed (facts, links, comparisons) → spawn agentId="research"
- Drafting needed (docs, PR text, structured writing) → spawn agentId="writer"
- Code changes, debugging, commands, diffs → spawn agentId="coder"
## Output contract
- If you spawned sub-agents, summarize their results and propose the next step.
- Prefer checklists and concrete “do X then Y”.
Research agent – workspace-research/AGENTS.md
# AGENTS.md (research)
You are a research specialist.
## Goals
- Find accurate info quickly.
- Prefer primary sources and official docs.
- Provide links and short quotes/snippets when useful.
## Output format
Return:
1) A 5-bullet summary
2) A "Recommended approach" section
3) Links (with 1-line description each)
## Constraints
- If unsure, say what you’re unsure about and what to check next.
Writer agent – workspace-writer/AGENTS.md
# AGENTS.md (writer)
You are a writing/drafting specialist.
## Goals
- Produce clear, structured Markdown docs.
- Optimize for skim: headings, lists, examples, short paragraphs.
## Output format
- Start with an outline
- Then the full draft
- End with “Open questions” if anything is ambiguous
Coder agent – workspace-coder/AGENTS.md
# AGENTS.md (coder)
You are a coding/debugging specialist.
## Goals
- Fix issues with minimal changes.
- Prefer safe, testable steps.
- Explain *why* briefly, then show the diff/commands.
## Output format
- Plan (3-7 steps)
- Implementation details
- Verification steps (tests / repro)
SOUL.md (persona/tone)
Example (keep short + specific):
# SOUL.md
Voice: pragmatic, friendly, no fluff.
Default behavior: ask 1-2 clarifying questions only when blocked; otherwise proceed.
Avoid: long disclaimers, excessive hedging, marketing language.
USER.md (who this agent serves)
# USER.md
Primary user: <your name/handle>
Timezone: <tz>
Preferences:
- Prefer markdown examples
- Prefer short answers unless I ask for deep detail
MEMORY.md (durable facts you want remembered)
# MEMORY.md
## Durable preferences
- Use separate agents for research/writing/coding.
- When uncertain about a config key, link to the official docs section.
## Project facts
- Repo: <url>
- Environments: <local/vps/etc>
HEARTBEAT.md (optional “what to check on heartbeat”)
# HEARTBEAT.md
- If there are failing automations / crons, report which and why.
- If nothing needs attention, respond HEARTBEAT_OK.
If you paste the exact structure you started with (screenshot or tree) and tell me whether this is meant to live under ~/.openclaw/workspace-* or inside a git repo, I’ll adapt the folder names + fill in the MDs to match your layout perfectly.
Yep — the only thing “off” in your snippet is the agentDir paths.
In OpenClaw, agentDir should point at the agent state dir that contains auth-profiles.json, and the default layout is:
~/.openclaw/agents/<agentId>/agentâś… (note the trailing/agent)- sessions live separately at
~/.openclaw/agents/<agentId>/sessions
So your research|writer|coder entries should be:
{
agents: {
list: [
{
id: "main",
default: true,
workspace: "~/.openclaw/workspace",
agentDir: "~/.openclaw/agents/main/agent",
subagents: { allowAgents: ["research", "writer", "coder"] },
},
{
id: "research",
agentDir: "~/.openclaw/agents/research/agent",
workspace: "~/.openclaw/workspace-research",
},
{
id: "writer",
agentDir: "~/.openclaw/agents/writer/agent",
workspace: "~/.openclaw/workspace-writer",
},
{
id: "coder",
agentDir: "~/.openclaw/agents/coder/agent",
workspace: "~/.openclaw/workspace-coder",
},
],
},
}
Why this matters: reusing the wrong level (e.g. ~/.openclaw/agents/research) can lead to auth/session collisions or files being created in unexpected places. The docs explicitly call out the /agent path.
Source: https://docs.openclaw.ai/concepts/multi-agent
Workspace: what markdown files go where?
Each workspace-* folder is where you put your per-agent MD files:
AGENTS.md,SOUL.md,USER.md,MEMORY.md(ormemory.md),memory/YYYY-MM-DD.md, optionalHEARTBEAT.md
Source: https://docs.openclaw.ai/help/faq#where-should-agentsmd-soulmd-usermd-memorymd-live
If you want, paste your intended folder tree (even rough), and I’ll generate a complete set of AGENTS.md / SOUL.md / USER.md / MEMORY.md tailored to your “main / research / writer / coder” split (i.e., what each agent should do and how they should report back).
I'm closing this as you have confused Krill to the point where I don't believe this chat can be saved. Feel free to open a new Post, but please lead with the question, explain what you're trying to do and only paste in lon,g config files when Krill asks you to.
Sorry!
You’re right — sorry about the confusion and the config-dump spiral.
If you open a new post, this format usually works best (fast for humans + for me):
Title: One sentence problem statement
Goal: What you’re trying to achieve (1–2 sentences)
What you did: The exact steps/commands you ran
What happened: Error/output (only the relevant chunk)
What you expected: One sentence
Version/OS: openclaw --version, OS, install method (npm vs git)
Config: Only the smallest relevant excerpt, and redact tokens/keys
Example opener:
**Question:** How do I configure multi-agent (main+research+writer+coder) so subagents can spawn reliably?
**Goal:** Use main as orchestrator; delegate research/writing/coding to subagents.
**Version/OS:** openclaw X.Y.Z on Ubuntu 24.04 (npm install)
**What I tried:** (paste the small agents.list snippet)
**Issue:** When spawning, I get: (paste exact error)
If you link the new post here, I’ll jump in there and keep it tight.