agent-maker

Create autonomous AI agents for OpenClaw with guided discovery — clarifies purpose, personality, skills, channels, automation, and security before generating a fully configured agent workspace.

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "agent-maker" with this command: npx skills add anhnt224/agent-maker-2

Agent Maker

Create autonomous AI agents for OpenClaw through an intelligent guided process.

How This Skill Works

When the user wants to create a new agent, you MUST follow the Discovery Flow below to gather requirements before running any creation scripts. Do NOT immediately ask for all parameters at once — guide the user through a natural conversation to understand what they truly need.

Discovery Flow

Phase 1: Purpose & Identity

Start by understanding the agent's core purpose. Ask ONE question at a time and build on answers:

1. What problem does this agent solve?

  • What tasks will it handle?
  • Who will interact with it? (the user directly, other agents, external contacts)
  • Is it a specialist (deep in one domain) or generalist?

2. Derive identity from purpose:

  • Name: Suggest a memorable name that reflects the role
  • ID: Lowercase, hyphenated (e.g., research-bot, health-tracker)
  • Emoji: Choose one that represents the agent's function
  • Specialty: One-line description of what the agent does

3. Choose the right model based on workload:

Use CaseRecommended ModelWhy
Deep research, complex reasoning, codinganthropic/claude-opus-4-6Most capable, best for complex tasks
General tasks, balanced cost/qualityanthropic/claude-sonnet-4-6Good balance of speed and capability
Fast responses, simple tasks, high volumeanthropic/claude-haiku-4-5Fastest and cheapest
Image generation/understandinggoogle/gemini-2.5-flashStrong multimodal capabilities
Budget-friendly, coding-focuseddeepseek/deepseek-chatCost-effective for code tasks

Ask the user about their priorities (quality vs cost vs speed) to recommend the right model.

Phase 2: Personality & Behavior

4. Define personality traits:

  • Communication style (formal/casual/technical/friendly)
  • Proactivity level (waits for instructions vs takes initiative)
  • Verbosity (concise vs detailed responses)
  • Any specific persona or character?

5. Define boundaries:

  • What should this agent NEVER do?
  • When should it escalate to a human or main agent?
  • What level of autonomy? (Tier 1: read-only/draft, Tier 2: can act, Tier 3: fully proactive)

Phase 3: Workflow & Tools

6. What is the agent's main workflow? Walk through a typical interaction:

  • What triggers the agent? (user message, cron job, heartbeat, other agent)
  • What steps does it take?
  • What output does it produce?
  • Where does it store results?

7. What tools does this agent need?

Available built-in tools:

  • read, write, edit, apply_patch — file operations
  • exec — shell command execution
  • browser — web browsing and automation
  • web_search — search the web (multiple providers)
  • web_fetch — fetch URL content
  • image_generate — create images
  • image — analyze/understand images
  • memory_search, memory_get — semantic memory recall
  • sessions_list, sessions_send, sessions_history — inter-agent communication
  • sessions_spawn — spawn sub-agent tasks
  • canvas — display UI on mobile nodes
  • nodes, nodes.run — execute on connected devices
  • cron_list, cron_add, cron_remove — manage scheduled tasks

Should any tools be denied for security? (e.g., deny exec, write for a read-only agent)

8. Does this agent need specific skills?

  • Any existing skills from ClawHub or ~/.openclaw/skills/?
  • Need custom workspace-level skills?
  • Will this agent have its own <workspace>/skills/ directory?

Phase 4: Communication & Channels

9. How will users interact with this agent?

Options:

  • Direct chat via OpenClaw sessions (default)
  • WhatsApp — needs a WhatsApp account/number
  • Telegram — needs a Telegram bot token
  • Discord — needs a Discord bot token
  • Slack, iMessage, Signal, etc.
  • WebChat — browser-based interface
  • API only — no direct channel, coordinated by other agents

10. Multi-agent coordination:

  • Will this agent be coordinated by a main/orchestrator agent?
  • Will it communicate with other agents? Which ones?
  • Should agent-to-agent messaging be enabled?

If channels are needed, you'll need to set up bindings to route messages to this agent. Example:

{
  bindings: [
    { agentId: "agent-id", match: { channel: "telegram", accountId: "agent-bot" } }
  ]
}

Phase 5: Automation & Memory

11. Does this agent need scheduled tasks?

Two options — explain the difference:

FeatureHeartbeatCron
Runs inMain session (shared context)Isolated or main session
TimingPeriodic interval (e.g., every 30m)Exact schedule (cron expression)
Best forMonitoring, checking inbox, context-aware tasksReports, reminders, exact-time tasks
CostLower (batched checks)Per-job cost

Heartbeat setup (recommended for monitoring agents):

  • What should the agent check periodically?
  • How often? (default: 30m)
  • Active hours? (e.g., 08:00-22:00)
  • Where to deliver alerts? (last channel, specific channel, none)

Cron setup (recommended for scheduled tasks):

  • What tasks need exact timing?
  • What schedule? (daily at 7am, every Monday, etc.)
  • What timezone?
  • Isolated session or main session?
  • Should results be announced to a channel?

12. Memory configuration:

  • Daily memory logs are automatic (memory/YYYY-MM-DD.md)
  • Does the agent need MEMORY.md for long-term curated memory?
  • Should memory be private or shared with other agents?
  • Set up a daily memory consolidation cron job?

Phase 6: Security & Sandbox

13. Security posture:

ModeDescriptionUse Case
offNo sandboxing, full host accessTrusted personal agents
non-mainSandbox non-main sessions onlyMixed trust environments
allFull sandbox for all sessionsUntrusted inputs, shared agents
  • Does this agent handle untrusted input? (e.g., messages from groups, external contacts)
  • Should file access be restricted?
  • Should tools be restricted? (allow/deny lists)

Agent Creation

After gathering all requirements, create the agent using this process:

Step 1: Create agent via CLI

openclaw agents add <agent-id>

This creates the proper directory structure under ~/.openclaw/agents/<agent-id>/.

Step 2: Create workspace & files

Run the creation script with gathered parameters:

{baseDir}/scripts/create-agent.sh \
  --name "Agent Name" \
  --id "agent-id" \
  --emoji "🤖" \
  --specialty "What this agent does" \
  --model "provider/model-name" \
  --workspace "/path/to/workspace" \
  --personality "Communication style and traits" \
  --boundaries "What the agent should not do" \
  --workflow "Step-by-step workflow description" \
  --tools-allow "tool1,tool2,tool3" \
  --tools-deny "tool4,tool5" \
  --autonomy "tier1|tier2|tier3" \
  --heartbeat-every "30m" \
  --heartbeat-target "last" \
  --heartbeat-active-hours "08:00-22:00" \
  --sandbox "off|non-main|all"

The script creates these workspace files:

  • SOUL.md — Personality, purpose, and behavioral guidelines (tailored to specialty)
  • AGENTS.md — Operating instructions, rules, priorities
  • HEARTBEAT.md — Periodic checklist (if heartbeat enabled)
  • IDENTITY.md — Name, emoji, vibe
  • TOOLS.md — Tool usage notes and conventions
  • USER.md — User context (who the agent serves)
  • memory/ — Daily memory directory

Step 3: Update gateway config

The script automatically:

  • Adds the agent to agents.list in gateway config
  • Configures model, identity, sandbox, and tool policies
  • Sets up heartbeat configuration if requested
  • Restarts the gateway to apply changes

Step 4: Configure bindings (if channels needed)

If the agent needs channel routing, apply a config patch:

openclaw gateway config.patch --raw '{
  "bindings": [
    {
      "agentId": "<agent-id>",
      "match": { "channel": "<channel>", "accountId": "<account>" }
    }
  ]
}'

Step 5: Set up cron jobs (if needed)

openclaw cron add \
  --name "<Job Name>" \
  --cron "<cron expression>" \
  --tz "<timezone>" \
  --session "<agent-id>" \
  --system-event "<instruction>" \
  --wake now

Step 6: Set up skills (if needed)

For agent-specific skills, create them in <workspace>/skills/:

mkdir -p <workspace>/skills/<skill-name>
# Create SKILL.md in the skill directory

For shared skills:

openclaw skills install <skill-slug>

Step 7: Verify & test

# Verify agent is registered
openclaw agents list --bindings

# Check gateway status
openclaw gateway status

# Test the agent
openclaw agent --agent <agent-id> --message "Hello! Introduce yourself."

# Or via session tools
sessions_send({ label: "<agent-id>", message: "Hello!" })

Post-Creation Customization

After the agent is created, help the user refine:

  1. SOUL.md — Review and refine personality, add specific instructions
  2. AGENTS.md — Add standing orders, red lines, specific rules
  3. HEARTBEAT.md — Fine-tune periodic checklist
  4. TOOLS.md — Document tool-specific conventions
  5. Workspace skills — Create agent-specific skills if needed

Example Discovery Conversations

Example 1: Research Agent

User: "I want an agent that does deep research for me"

Discovery:

  • Purpose: Deep research, competitive analysis, summarization
  • Model: anthropic/claude-opus-4-6 (needs complex reasoning)
  • Personality: Thorough, analytical, cites sources
  • Autonomy: Tier 2 (can search web, write reports)
  • Tools: web_search, web_fetch, browser, read, write, memory_search
  • Tools denied: exec, image_generate
  • Channels: Coordinated by main agent via sessions_send
  • Automation: Daily memory cron at 23:00
  • Sandbox: off (trusted personal agent)

Example 2: Family Group Bot

User: "I need a bot for my family WhatsApp group"

Discovery:

  • Purpose: Answer questions, share fun facts, help with planning
  • Model: anthropic/claude-sonnet-4-6 (balanced cost/quality)
  • Personality: Friendly, casual, family-appropriate
  • Autonomy: Tier 1 (read-only, suggest but don't act)
  • Tools allowed: read, web_search, sessions_list
  • Tools denied: write, edit, exec, browser, apply_patch
  • Channels: WhatsApp group with mention-based activation
  • Sandbox: all (handles untrusted group messages)
  • Heartbeat: Off (only responds when mentioned)

Example 3: Health Tracker

User: "I want an agent to track my health and remind me of medications"

Discovery:

  • Purpose: Health tracking, medication reminders, wellness monitoring
  • Model: anthropic/claude-sonnet-4-6
  • Personality: Caring, encouraging, precise
  • Autonomy: Tier 3 (proactive reminders)
  • Tools: read, write, memory_search, cron_add
  • Channels: WhatsApp DM or Telegram
  • Automation: Heartbeat every 2h during active hours + medication cron jobs
  • Sandbox: off (personal trusted agent)
  • Memory: Daily health logs + curated MEMORY.md for long-term patterns

Inter-Agent Coordination

After creating an agent, explain how it fits into the user's multi-agent system:

List agents

sessions_list({ kinds: ["agent"], limit: 10, messageLimit: 3 })

Send tasks to agents

sessions_send({
  label: "agent-id",
  message: "Your task description here"
})

Spawn isolated sub-agent work

sessions_spawn({
  agentId: "agent-id",
  task: "Complex task description",
  model: "anthropic/claude-opus-4-6",
  runTimeoutSeconds: 3600,
  cleanup: "delete"
})

Check agent history

sessions_history({ sessionKey: "agent-session-key", limit: 50 })

Troubleshooting

"Agent not appearing after creation"

  • Run openclaw gateway restart
  • Check openclaw agents list --bindings

"Agent not responding to messages"

  • Verify bindings are correct: openclaw gateway config.get --format json | jq '.bindings'
  • Check agent session: openclaw sessions list --agent <agent-id>

"Model errors"

  • Verify model format: provider/model-name
  • Check model availability: openclaw models list
  • Ensure API key is configured for the provider

"Heartbeat not running"

  • Check config: openclaw gateway config.get --format json | jq '.agents'
  • Verify active hours and timezone settings
  • Check HEARTBEAT.md exists and has content (empty files skip execution)

"Cron job not firing"

  • List jobs: openclaw cron list
  • Check timezone: ensure IANA timezone format
  • Verify session target exists

Requirements

  • OpenClaw installed and configured
  • jq for JSON processing
  • Node.js/npm via nvm (for OpenClaw)
  • Python 3.6+ (standard library only)

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Security

Component Library Audit

Audit React, Vue, or Svelte component libraries — find unused components, inconsistent props, missing documentation, accessibility issues, missing tests, and...

Registry SourceRecently Updated
Security

Repository Health Score

Score a repository's health across 8 dimensions — code quality, testing, documentation, CI/CD, security, dependencies, community, and maintainability. Produc...

Registry SourceRecently Updated
270Profile unavailable
Security

个人数字安全体检

检查邮箱泄露和密码强度,生成安全评分报告。

Registry SourceRecently Updated
1760Profile unavailable
Security

agent-bom registry

MCP server security registry and trust assessment — look up servers in the 427+ server security metadata registry, run pre-install marketplace checks, batch...

Registry SourceRecently Updated
7180Profile unavailable