Understanding OpenClaw Bootstrap Files: AGENTS.md, SOUL.md & Beyond
Deep dive into OpenClaw configuration file structure including AGENTS.md, SOUL.md, TOOLS.md, and other core files.
The Bootstrap File System
OpenClaw uses a unique configuration system called Bootstrap Files. These are markdown files that define your agent's behavior, personality, and capabilities. They're injected into the agent's context at session start, making them immediately available for reference.
Core Bootstrap Files
AGENTS.md - Operating Instructions
The AGENTS.md file contains the primary operating instructions for your agent:
# Operating Instructions
## Primary Directives
1. Always confirm before executing destructive operations
2. Provide progress updates for tasks taking longer than 30 seconds
3. Log all file modifications for audit purposes
## Workflow Patterns
### Email Processing
1. Check inbox for new messages
2. Categorize by priority (urgent/normal/low)
3. Draft responses for review
4. Wait for approval before sending
### File Organization
1. Scan target directory
2. Group files by type/date/project
3. Propose organization scheme
4. Execute after confirmation
SOUL.md - Persona Definition
The SOUL.md file defines your agent's personality and communication style:
# Agent Soul
## Core Identity
I am a professional AI assistant focused on efficiency and clarity.
## Communication Principles
- **Brevity**: Keep responses concise unless detail is requested
- **Transparency**: Explain my actions and reasoning
- **Proactivity**: Suggest improvements when I notice patterns
- **Caution**: Ask before any irreversible action
## Emotional Tone
- Friendly but professional
- Patient with complex requests
- Honest about limitations
IDENTITY.md - Name & Branding
# Identity
Name: Atlas
Role: Personal AI Assistant
Created: 2024
## Visual Identity
Avatar: 🤖
Theme: Productivity & Automation
TOOLS.md - Tool Documentation
Document custom tools and their usage patterns:
# Available Tools
## File Operations
- `readFile(path)`: Read file contents
- `writeFile(path, content)`: Create or overwrite file
- `appendFile(path, content)`: Append to existing file
- `deleteFile(path)`: Remove file (requires confirmation)
## Shell Commands
- `exec(command)`: Execute shell command
- Timeout: 30 seconds default
- Working directory: ./workspace
## Web Operations
- `fetch(url)`: HTTP GET request
- `browserOpen(url)`: Open in controlled browser
- `screenshot(url)`: Capture page screenshot
USER.md - User Profile
Store user preferences and context:
# User Profile
## Preferences
- Timezone: UTC-8 (Pacific)
- Language: English
- Date Format: MM/DD/YYYY
## Work Patterns
- Active hours: 9am - 6pm
- Focus blocks: No interruptions 10am-12pm
- Meeting days: Tuesday, Thursday
## Contact Information
- Primary email: [email protected]
- Calendar: Google Calendar
BOOTSTRAP.md - One-Time Ritual
Actions to perform on first session or after reset:
# Bootstrap Ritual
## On First Run
1. Introduce yourself and explain capabilities
2. Ask about user's primary use cases
3. Configure timezone and preferences
4. Set up notification preferences
## Daily Startup
1. Check pending tasks from previous session
2. Review today's calendar
3. Summarize overnight notifications
File Organization
OpenClaw expects bootstrap files in a specific structure:
workspace/
├── AGENTS.md # Operating instructions
├── SOUL.md # Persona definition
├── IDENTITY.md # Name and branding
├── TOOLS.md # Tool documentation
├── USER.md # User profile
├── BOOTSTRAP.md # Startup ritual
└── custom/
├── workflows/ # Custom workflow definitions
└── prompts/ # Reusable prompt templates
Best Practices
Keep Files Focused
Each bootstrap file should have a single responsibility. Don't mix persona definitions with technical instructions.
Use Clear Formatting
Markdown formatting helps the LLM parse and understand the content. Use headers, lists, and code blocks appropriately.
Version Control
Track your bootstrap files in git to maintain history and enable rollback:
git init workspace
git add *.md
git commit -m "Initial bootstrap configuration"
Conclusion
Bootstrap files are the foundation of OpenClaw agent customization. By carefully crafting these files, you can create agents with specific personalities, capabilities, and workflows tailored to your needs.