
awesome-openclaw-agents
Production-ready AI agent templates for OpenClaw - 205+ SOUL.md configs across 24 categories for autonomous agents
- Installs
- 165
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/reason-machines/ai-agent-skills --skill awesome-openclaw-agents- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads awesome-openclaw-agents automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
awesome-openclaw-agents
Skill by ara.so — AI Agent Skills collection.
This skill enables you to work with the awesome-openclaw-agents repository: a curated collection of 205+ production-ready AI agent templates for the OpenClaw ecosystem. Each template is a copy-paste ready SOUL.md configuration file that defines an autonomous agent's personality, goals, tools, and behavior.
What It Is
- 205+ agent templates across 24 categories (Productivity, Development, Marketing, Business, DevOps, Finance, etc.)
- SOUL.md format: declarative agent configuration files that work with OpenClaw gateway
- Production-ready: each template includes role, goals, backstory, tools, and guardrails
- Community-driven: MIT licensed, accepts PRs for new agent templates
- CrewClaw integration: optional no-code deploy platform for full agent packages (Dockerfile, docker-compose, bot, README)
Installation
# Clone the repository
git clone https://github.com/mergisi/awesome-openclaw-agents.git
cd awesome-openclaw-agents
# Install quickstart dependencies
cd quickstart
npm install
# Copy a template SOUL.md
cp ../agents/productivity/orion/SOUL.md ./SOUL.md
# Start the agent
node bot.js
Repository Structure
awesome-openclaw-agents/
├── agents/ # 205+ agent templates organized by category
│ ├── productivity/ # Task management, email, habits
│ ├── development/ # Code review, docs, bug hunting
│ ├── marketing/ # Content, SEO, social media
│ ├── business/ # Sales, finance, HR
│ ├── devops/ # CI/CD, monitoring, infrastructure
│ └── ... # 19 more categories
├── quickstart/ # Minimal Node.js bot runner
├── skills/ # On-device skills for Gemma & Claude Code
├── use-cases/ # 132 real-world examples
├── agents.json # Machine-readable catalog
└── TROUBLESHOOTING.md # Known issues & recovery
SOUL.md Format
Every agent template follows this structure:
# Agent Name
**Role**: {one-line role description}
**Goals**:
- Primary objective
- Secondary objectives
- Success metrics
**Backstory**: {agent's personality and expertise}
**Tools**: {comma-separated list of capabilities}
- tool_name: description
**Guardrails**:
- What the agent should NOT do
- Security boundaries
- Escalation triggers
**Memory**:
- Conversation history depth
- Key facts to remember
- User preferences
**Triggers**:
- Event patterns that activate this agent
- Scheduling (if applicable)
**Output Format**:
- Preferred response structure
- Notification channels
Using Agent Templates
1. Browse and Select
# List all productivity agents
ls agents/productivity/
# View a specific template
cat agents/productivity/orion/SOUL.md
# Search by topic (e.g., "code review")
grep -r "code review" agents/development/
2. Copy Template
# Copy to your project
cp agents/development/code-reviewer/SOUL.md ./my-agents/SOUL.md
# Or use multiple agents
mkdir -p ./my-agents
cp agents/productivity/orion/SOUL.md ./my-agents/orion.md
cp agents/development/bug-hunter/SOUL.md ./my-agents/debug.md
3. Customize Configuration
# Edit SOUL.md to match your needs
**Role**: Senior Code Reviewer specializing in TypeScript and React
**Goals**:
- Review PRs within 2 hours
- Flag security vulnerabilities
- Suggest performance improvements
- Maintain 95% approval rating
**Tools**: github, eslint, typescript-analyzer, security-scanner
**Guardrails**:
- Never auto-merge without human approval on main branch
- Escalate if >500 lines changed
- Require tests for new features
4. Run with OpenClaw
// quickstart/bot.js example
const { OpenClaw } = require('openclaw-sdk');
const agent = new OpenClaw({
soulPath: './SOUL.md',
provider: 'anthropic', // or 'openai', 'ollama', etc.
apiKey: process.env.ANTHROPIC_API_KEY,
model: 'claude-3-5-sonnet-20241022'
});
// Start listening
agent.on('message', async (msg) => {
const response = await agent.process(msg);
console.log(response);
});
agent.start();
Common Agent Patterns
Productivity Agent (Daily Standup)
# Standup
**Role**: Daily standup coordinator
**Goals**:
- Collect standup updates from team by 10am
- Generate summary for async teams
- Track blockers and escalate
**Tools**: slack, jira, calendar
**Triggers**:
- Schedule: "weekdays at 9:00 AM"
- Manual: "/standup start"
**Output Format**:
🌅 Daily Standup - {date}
Done Yesterday:
- @alice: Completed PR #123
- @bob: Fixed bug in payment flow
Planned Today:
- @alice: Start feature X
- @bob: Code review sprint
Blockers:
- @charlie: Waiting on design assets
Development Agent (Code Reviewer)
# Lens (Code Reviewer)
**Role**: Senior code reviewer with security focus
**Goals**:
- Review all PRs within 30 minutes
- Catch security vulnerabilities before merge
- Maintain code quality standards
- Provide constructive feedback
**Tools**: github, eslint, sonarqube, snyk
**Guardrails**:
- Never approve PRs that introduce CVEs
- Escalate if test coverage drops below 80%
- Require two human approvals for auth changes
**Triggers**:
- GitHub webhook: pull_request.opened
- GitHub webhook: pull_request.synchronize
**Output Format**:
✅ **APPROVED** | ⚠️ **CHANGES REQUESTED** | ❌ **BLOCKED**
**Summary**: {one-line verdict}
**Security**: {findings}
**Performance**: {findings}
**Style**: {suggestions}
Marketing Agent (Content Writer)
# Echo (Content Writer)
**Role**: SEO-focused content writer
**Goals**:
- Generate blog posts from topics
- Optimize for target keywords
- Include internal links
- Match brand voice
**Tools**: openai, serp-api, wordpress, grammarly
**Backstory**: I'm a content strategist who's written 500+ articles...
**Output Format**:
# {SEO Title}
{Hook paragraph}
## {H2 Section}
{Content with keyword density 1-2%}
**Meta Description**: {155 chars}
**Keywords**: {comma-separated}
**Internal Links**: {3-5 suggestions}
Multi-Agent Crews
// Use multiple agents together
const crew = new OpenClaw.Crew({
agents: [
{ soul: './agents/orion.md', role: 'manager' },
{ soul: './agents/lens.md', role: 'reviewer' },
{ soul: './agents/scribe.md', role: 'writer' }
],
process: 'sequential' // or 'hierarchical', 'consensus'
});
// Manager delegates to reviewers and writers
const result = await crew.execute({
task: 'Review PR #123 and update documentation'
});
Environment Configuration
# .env file
OPENCLAW_PROVIDER=anthropic
ANTHROPIC_API_KEY=sk-ant-...
# Optional: CrewClaw for no-code deploys
CREWCLAW_API_KEY=cc_...
# Tool integrations
GITHUB_TOKEN=ghp_...
SLACK_BOT_TOKEN=xoxb-...
JIRA_API_TOKEN=...
# Model routing (optional)
OLLAMA_HOST=http://localhost:11434
OPENAI_API_KEY=sk-...
CLI Quick Reference
# Register an agent
openclaw agents add ./SOUL.md
# List registered agents
openclaw agents list
# Start gateway
openclaw gateway start
# Run a one-off task
openclaw run --agent=orion --task="Prioritize today's tasks"
# Deploy to CrewClaw (optional)
crewclaw deploy --agent=./SOUL.md --platform=docker
Working with Templates
Customize an Existing Template
# Start with a template
cp agents/productivity/orion/SOUL.md ./my-pm-agent.md
# Edit key sections
vim my-pm-agent.md
# Test locally
node quickstart/bot.js --soul=./my-pm-agent.md
Combine Multiple Agents
// Sequential workflow: bug hunter → code reviewer → PR merger
const pipeline = [
{ agent: 'bug-hunter', input: 'github_issue' },
{ agent: 'code-reviewer', input: 'pull_request' },
{ agent: 'pr-merger', condition: 'approved' }
];
await crew.executePipeline(pipeline, { issueId: 456 });
Create a New Template
# My Custom Agent
**Role**: {specific role}
**Goals**:
- Goal 1 with measurable outcome
- Goal 2
- Goal 3
**Backstory**: {1-2 paragraphs establishing expertise}
**Tools**: {comma-separated, be specific}
- tool_name: what it does
- another_tool: its purpose
**Guardrails**:
- Security boundary
- Escalation rule
- Error handling
**Memory**:
- Retain: user preferences, past decisions
- Forget: sensitive data after task complete
**Triggers**:
- Event: when to activate
- Schedule: (if recurring)
**Output Format**:
{Show exact structure with examples}
Integration Examples
GitHub PR Review Bot
const express = require('express');
const app = express();
app.post('/webhook/github', async (req, res) => {
const { action, pull_request } = req.body;
if (action === 'opened' || action === 'synchronize') {
const reviewer = new OpenClaw({ soulPath: './agents/development/code-reviewer/SOUL.md' });
const review = await reviewer.process({
prNumber: pull_request.number,
files: pull_request.changed_files,
diff: await fetchDiff(pull_request.diff_url)
});
await postGitHubComment(pull_request.number, review);
}
res.status(200).send('OK');
});
Slack Daily Standup
const { WebClient } = require('@slack/web-api');
const slack = new WebClient(process.env.SLACK_BOT_TOKEN);
const standup = new OpenClaw({ soulPath: './agents/productivity/daily-standup/SOUL.md' });
// Every weekday at 9 AM
cron.schedule('0 9 * * 1-5', async () => {
const channel = 'C01234567'; // #engineering
await slack.chat.postMessage({
channel,
text: '🌅 Time for standup! Reply with: Done | Doing | Blockers'
});
// Collect responses for 1 hour
setTimeout(async () => {
const messages = await fetchStandupReplies(channel);
const summary = await standup.process({ messages });
await slack.chat.postMessage({
channel,
text: summary,
thread_ts: originalMessage.ts
});
}, 60 * 60 * 1000);
});
Email Inbox Zero
const { gmail } = require('googleapis').google.gmail('v1');
const inbox = new OpenClaw({ soulPath: './agents/productivity/inbox-zero/SOUL.md' });
async function processInbox() {
const messages = await gmail.users.messages.list({
userId: 'me',
q: 'is:unread',
maxResults: 50
});
for (const msg of messages.data.messages) {
const email = await gmail.users.messages.get({ userId: 'me', id: msg.id });
const triage = await inbox.process({
subject: email.payload.headers.find(h => h.name === 'Subject').value,
from: email.payload.headers.find(h => h.name === 'From').value,
body: email.snippet
});
// Apply label based on triage
if (triage.action === 'archive') {
await gmail.users.messages.modify({
userId: 'me',
id: msg.id,
resource: { removeLabelIds: ['UNREAD'] }
});
}
}
}
Common Troubleshooting
Agent Not Responding
# Check gateway status
openclaw gateway status
# Verify SOUL.md syntax
openclaw validate ./SOUL.md
# Check logs
tail -f ~/.openclaw/logs/gateway.log
Rate Limiting
// Add rate limiting to agent
const agent = new OpenClaw({
soulPath: './SOUL.md',
rateLimit: {
maxRequests: 100,
perMinutes: 1
}
});
Tool Integration Failures
# In SOUL.md, add error handling
**Guardrails**:
- If GitHub API fails, retry 3x with exponential backoff
- If Slack is down, queue messages for later
- If critical tool unavailable, escalate to human
Categories Overview
| Category | Agent Count | Example Use Cases |
|---|---|---|
| Productivity | 7 | Task management, email triage, habits |
| Development | 16 | Code review, docs, testing, migrations |
| Marketing | 15 | Content, SEO, social media, brand monitoring |
| Business | 12 | Sales, proposals, CRM, competitive intelligence |
| DevOps | 8 | CI/CD, monitoring, incident response |
| Finance | 6 | Invoicing, expenses, forecasting |
| Customer Success | 10 | Support tickets, onboarding, retention |
| Security | 5 | Vulnerability scanning, compliance audits |
Best Practices
- Start with templates: Don't write from scratch - customize existing agents
- Clear goals: Define measurable success criteria in SOUL.md
- Explicit guardrails: Document what agent should NOT do
- Test locally: Use quickstart bot before production deploy
- Version control: Track SOUL.md changes like code
- Monitor behavior: Log all agent actions for audit trail
- Escalation paths: Define when humans should intervene
- Memory hygiene: Clear sensitive data, retain preferences
Resources
- Repository: https://github.com/mergisi/awesome-openclaw-agents
- Deploy Platform: https://crewclaw.com
- agents.json: Machine-readable catalog of all 205+ templates
- TROUBLESHOOTING.md: Known issues and recovery procedures
- Community: Submit PRs to add your agent templates
Example: Full Agent Lifecycle
# 1. Find template
cat agents/development/code-reviewer/SOUL.md
# 2. Customize
cp agents/development/code-reviewer/SOUL.md ./my-reviewer.md
vim my-reviewer.md # Edit goals, tools, guardrails
# 3. Test locally
cd quickstart
npm install
node bot.js --soul=../my-reviewer.md
# 4. Register
openclaw agents add ../my-reviewer.md --name=my-reviewer
# 5. Start gateway
openclaw gateway start
# 6. Integrate
# Add webhook handler for GitHub PRs
# 7. Monitor
tail -f ~/.openclaw/logs/my-reviewer.log
# 8. Deploy (optional)
crewclaw deploy --agent=../my-reviewer.md --platform=railway
This skill covers the essential knowledge for working with awesome-openclaw-agents: browsing templates, customizing SOUL.md files, running agents locally, integrating with tools, and deploying production systems.
FAQ
What does the awesome-openclaw-agents skill do?
Production-ready AI agent templates for OpenClaw - 205+ SOUL.md configs across 24 categories for autonomous agents
How do I install awesome-openclaw-agents?
Run npx skills add https://github.com/reason-machines/ai-agent-skills --skill awesome-openclaw-agents in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/awesome-openclaw-agents/ (personal) or .claude/skills/awesome-openclaw-agents/ (project).
Which AI agents can use awesome-openclaw-agents?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is awesome-openclaw-agents safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains awesome-openclaw-agents?
It is published by reason-machines in reason-machines/ai-agent-skills. It has 165 recorded installs.
More from reason-machines/ai-agent-skills
agency-agents-zh-skill
reason-machines/ai-agent-skills
Open the skill to read its SKILL.md instructions.
agent-reach-internet-access
reason-machines/ai-agent-skills
Give AI agents eyes to see the internet — scrape Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu with zero API fees
agent-sprite-forge-2d-game-assets
reason-machines/ai-agent-skills
Generate 2D sprite sheets, animated GIFs, transparent PNGs, layered maps, and engine-ready prototypes for Godot/Unity using Codex-driven asset pipelines.
agentmemory-persistent-memory
reason-machines/ai-agent-skills
Add persistent memory to AI coding agents using agentmemory - remembers context, preferences, and decisions across sessions
awesome-agent-skills
reason-machines/ai-agent-skills
Open the skill to read its SKILL.md instructions.
oh-my-openagent-orchestration
reason-machines/ai-agent-skills
Open the skill to read its SKILL.md instructions.
Popular ai & agents skills
google-agents-cli-publish
google/agents-cli
This skill should be used when the user wants to "publish an agent", "publish my ADK agent", "register an agent with Gemini", "publish to Gemini" (formerly Gemini Enterprise), or needs guidance on the agents-cli publish gemini command. Also use when the user wants to "manage agents in Agent Registry", "list/update/delete registered agents", or "register an MCP server". Covers ADK vs A2A registration modes, programmatic and interactive usage, flag reference, auto-detection from deployment metadata, Agent Registry fleet management, and troubleshooting. Part of the agents-cli skills suite. Do NOT use for deployment (use google-agents-cli-deploy).
google-agents-cli-eval
google/agents-cli
This skill should be used when the user wants to "run an evaluation", "evaluate my agent", "evaluate my ADK agent", "write an eval dataset", "analyze eval failures", "compare eval results", "optimize agent", or needs guidance on the Gemini platform eval methodology and the Quality Flywheel. Covers eval metrics, dataset schema, LLM-as-judge scoring, and common failure causes. Applies to any agents-cli project, whatever framework the agent is written in. Do NOT use for agent API code patterns (ADK: use google-agents-cli-adk-code), deployment (use google-agents-cli-deploy), or project scaffolding (use google-agents-cli-scaffold).
skill-creator
anthropics/skills
Create new skills, modify and improve existing skills, and measure skill performance. Use when users want to create a skill from scratch, edit, or optimize an existing skill, run evals to test a skill, benchmark skill performance with variance analysis, or optimize a skill's description for better triggering accuracy.
codex-pet
prime-skills/runcomfy-agent-skills
Codex Pet generator on RunComfy. Build a Codex-compatible Codex Pet spritesheet.webp + pet.json from a single reference image, drop it into ${CODEXHOME:-$HOME/.codex}/pets/ / and Codex picks it up as a custom Codex Pet next to the 8 built-ins. This skill produces the exact Codex Pet atlas Codex expects (1536x1872 PNG/WebP, 8 cols x 9 rows, 192x208 cells, 9 animation states — idle, running-right, running-left, waving, jumping, failed, waiting, running, review). Calls OpenAI GPT Image 2 edit ONCE via the local RunComfy CLI as runcomfy run openai/gpt-image-2/edit to produce a canonical Codex Pet pose, then assembles all 9 animation rows programmatically with ImageMagick micro-transforms — no Codex Pro, no $imagegen, no OPENAIAPIKEY required, only RUNCOMFYTOKEN. Triggers on "codex pet", "create codex pet", "make codex pet", "hatch codex pet", "/hatch image", "desktop pet codex", "codex pets", "spritesheet.webp", or any explicit ask to build a custom pet for OpenAI Codex.
full-output-enforcement
leonxlnx/taste-skill
Overrides default LLM truncation behavior. Enforces complete code generation, bans placeholder patterns, and handles token-limit splits cleanly. Apply to any task requiring exhaustive, unabridged output.
executing-plans
obra/superpowers
Use when executing an implementation plan in the current session as the implementer yourself — your human partner chose inline execution, or no subagent tool is available