{
  "schemaVersion": "1.0",
  "item": {
    "slug": "agent-builder-plus",
    "name": "Agent Builder Plus",
    "source": "tencent",
    "type": "skill",
    "category": "效率提升",
    "sourceUrl": "https://clawhub.ai/YKaiXu/agent-builder-plus",
    "canonicalUrl": "https://clawhub.ai/YKaiXu/agent-builder-plus",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/agent-builder-plus",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=agent-builder-plus",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "_meta.json",
      "references/architecture.md",
      "references/openclaw-workspace.md",
      "references/templates.md"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-23T16:43:11.935Z",
      "expiresAt": "2026-04-30T16:43:11.935Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=4claw-imageboard",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=4claw-imageboard",
        "contentDisposition": "attachment; filename=\"4claw-imageboard-1.0.1.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/agent-builder-plus"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/agent-builder-plus",
    "agentPageUrl": "https://openagent3.xyz/skills/agent-builder-plus/agent",
    "manifestUrl": "https://openagent3.xyz/skills/agent-builder-plus/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/agent-builder-plus/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Agent Builder Plus (OpenClaw)",
        "body": "Design and generate a complete OpenClaw agent workspace with strong defaults and advanced-user-oriented clarifying questions."
      },
      {
        "title": "Quick Start",
        "body": "# 1. Read skill documentation\nRead SKILL.md and references/openclaw-workspace.md\n\n# 2. Answer interview questions\nProvide answers for: job statement, surfaces, autonomy level, prohibitions, memory, tone, tool posture\n\n# 3. Generate workspace files\nThe skill will create: IDENTITY.md, SOUL.md, AGENTS.md, USER.md, HEARTBEAT.md\n\n# 4. Verify and test\nRun acceptance tests to validate behavior"
      },
      {
        "title": "Canonical references",
        "body": "Workspace layout + heartbeat rules: Read references/openclaw-workspace.md\nFile templates/snippets: Read references/templates.md\nOptional background (generic agent architecture): references/architecture.md"
      },
      {
        "title": "Phase 1 - Interview (ask clarifying questions)",
        "body": "Ask only what you need; keep it tight. Prefer multiple short rounds over one giant questionnaire.\n\nMinimum question set (advanced):\n\nJob statement: What is the agent's primary mission in one sentence?\nSurfaces: Which channels (Telegram/WhatsApp/Discord/iMessage/Feishu)? DM only vs groups?\nAutonomy level:\n\nAdvisor (suggest only)\nOperator (non-destructive ok; ask before destructive/external)\nAutopilot (broad autonomy; higher risk)\n\n\nHard prohibitions: Any actions the agent must never take?\nMemory: Should it keep curated MEMORY.md? What categories matter?\nTone: concise vs narrative; strict vs warm; profanity rules; \"not the user's voice\" in groups?\nTool posture: tool-first vs answer-first; verification requirements.\n\nError recovery:\n\nIf user provides incomplete answers: Ask follow-up questions for missing information\nIf user is unsure about autonomy level: Explain trade-offs and suggest starting with \"Operator\"\nIf user wants to skip questions: Explain why each question matters for agent behavior"
      },
      {
        "title": "Phase 2 - Generate workspace files",
        "body": "Generate these files (minimum viable OpenClaw agent):\n\nIDENTITY.md\nSOUL.md\nAGENTS.md\nUSER.md\nHEARTBEAT.md (often empty by default)\nBOOTSTRAP.md (for first-run guidance)\n\nOptionals:\n\nMEMORY.md (private sessions only)\nmemory/YYYY-MM-DD.md seed (today) with a short \"agent created\" entry\nTOOLS.md starter (if the user wants per-environment notes)\n\nFile creation commands:\n\n# Create workspace directory\nmkdir -p /path/to/workspace/memory\n\n# Create files (use write tool with correct parameters)\n# Important: Use `file_path` parameter, not `path`\n# Example:\n# write:\n#   file_path: /path/to/workspace/IDENTITY.md\n#   content: \"content here\"\n\n# For large files (>2000 bytes), consider using file-writer skill\n# or split content into smaller chunks\n\nNote: If you encounter \"Missing required parameter: path (path or file_path)\" error,\nensure you're using file_path parameter in your write tool calls.\n\nError handling:\n\nIf directory creation fails: Check permissions and path validity\nIf file write fails: Verify disk space and write permissions\nIf template reference fails: Ensure references/templates.md exists\n\nError recovery:\n\nIf directory creation fails: Check parent directory permissions, try alternative path\nIf file write fails: Check disk space, verify write permissions, retry with reduced content\nIf template reference fails: Verify references/ directory exists, check file permissions\n\nUse templates from references/templates.md but tailor content to the answers."
      },
      {
        "title": "Phase 2.5 - Register agent with OpenClaw",
        "body": "⚠️ CRITICAL WARNING: Channel Conflict Prevention\n\nNEVER bind a new agent to the same channel as the main agent!\n\nThis will cause the new agent to hijack the main agent's channel, making it impossible to communicate with the main agent.\n\nBefore registering, check existing agent bindings:\n\n# List all agents and their bindings\nopenclaw agents list\n\n# Check which channels are already in use\nopenclaw channels list\n\nChannel binding rules:\n\nMain agent (大鱼): Always uses the primary Feishu DM channel\nNew agents: Must use DIFFERENT channels or sub-channels\nTesting: Use /agentname command binding for testing\nProduction: Create separate Feishu apps or use different channels\n\nBackup configuration first:\n\n# Backup openclaw.json before modification\ncp ~/.openclaw/openclaw.json ~/.openclaw/openclaw.json.backup\n\nRegister the agent:\n\n# Add agent to OpenClaw configuration\nopenclaw agents add <agent-name> --workspace /path/to/workspace\n\n# Example 1: Use independent workspace (recommended - each agent has its own workspace)\nopenclaw agents add my-assistant --workspace ~/.openclaw/workspace-my-assistant\n\n# Example 2: Use default workspace (for single agent setup only)\nopenclaw agents add my-assistant --workspace ~/.openclaw/workspace\n\nChannel binding options:\n\nFeishu:\n\nDirect binding: Configure in Feishu app settings (recommended for production)\n\n⚠️ WARNING: Do NOT bind to the same Feishu app as main agent\nCreate a separate Feishu app for the new agent\n\n\nCommand binding: Use /agentname in Feishu messages (for testing)\n\nThis is SAFE - does not hijack channels\n\n\nMultiple channels: The agent can be bound to multiple channels simultaneously\n\nTelegram:\n\nCreate a separate bot token for each agent\nDo NOT share bot tokens between agents\nUse different bot usernames\n\nWhatsApp:\n\nUse different phone numbers for each agent\nDo NOT share WhatsApp Business API credentials\n\nDiscord:\n\nUse different bot tokens for each agent\nCreate separate Discord applications\nDo NOT share bot tokens\n\niMessage:\n\nEach agent should use a different Apple ID\nDo NOT share iMessage credentials\n\nAuthentication configuration (if needed):\n\n# Edit auth-profiles.json for external service access\n# Location: ~/.openclaw/auth-profiles.json\n\n# Example structure:\n{\n  \"feishu\": {\n    \"appId\": \"cli_xxxxx\",\n    \"appSecret\": \"xxxxx\"\n  },\n  \"telegram\": {\n    \"botToken\": \"your-bot-token\"\n  }\n}\n\nModel provider configuration (optional):\n\nIf the new agent needs to use custom model providers, you need to configure API keys:\n\nStep 1: Check main agent's model configuration\n\n# View main agent's model configuration\ncat ~/.openclaw/agents/main/agent/models.json\n\n# View global model providers\ncat ~/.openclaw/openclaw.json | grep -A 20 \"providers\"\n\nStep 2: Choose configuration approach\n\nOption A: Use same model as main agent (recommended)\n\nNew agent can directly use main agent's model configuration\nNo additional configuration needed\nModels are shared across agents by default\n\nOption B: Configure new model provider\n\nRequired only if agent needs different model provider\nAdd provider to openclaw.json models.providers\nConfigure auth-profiles.json for the agent\n\nStep 3: Configure model provider (if needed)\n\n# Add provider to openclaw.json\n# Location: ~/.openclaw/openclaw.json\n\n# Example structure:\n{\n  \"models\": {\n    \"providers\": {\n      \"custom-provider\": {\n        \"baseUrl\": \"https://api.example.com/v1\",\n        \"apiKey\": \"key_id:secret\",\n        \"api\": \"openai-completions\",\n        \"models\": [...]\n      }\n    }\n  }\n}\n\nStep 4: Configure agent-specific auth (if needed)\n\n# Edit auth-profiles.json for the agent\n# Location: ~/.openclaw/agents/<agent-name>/agent/auth-profiles.json\n\n# Example structure:\n{\n  \"custom-provider\": {\n    \"apiKey\": \"key_id:secret\",\n    \"baseUrl\": \"https://api.example.com/v1\"\n  }\n}\n\n⚠️ IMPORTANT: Model providers vs Channel providers\n\nModel providers: Configure AI model API keys (OpenAI, Anthropic, custom providers)\n\nLocation: openclaw.json → models.providers\nUsed for: AI model access\nExamples: openai, anthropic, custom-maas-api-*\n\n\n\nChannel providers: Configure messaging platform credentials (Feishu, Telegram, Discord)\n\nLocation: openclaw.json → channels.<provider>\nUsed for: Message delivery\nExamples: feishu, telegram, discord, whatsapp\n\nDo not confuse these two types of providers!\n\nCommon error:\n\n⚠️ Agent failed before reply: No API key found for provider \"provider-name\"\n\nSolution:\n\nCheck if provider name matches openclaw.json models.providers\nVerify API key is configured correctly\nCheck auth-profiles.json for agent-specific configuration\nRestart OpenClaw Gateway after configuration changes\n\n⚠️ IMPORTANT: Never reuse credentials from main agent!\n\nError recovery:\n\nIf openclaw agents add fails: Restores from backup and checks syntax\nIf auth fails: Verify credentials in auth-profiles.json\nIf binding fails: Check channel permissions and network connectivity\nIf backup fails: Check write permissions on ~/.openclaw/ directory\nIf main agent stops responding: Immediately restore from backup and restart OpenClaw\n\nCommon errors and solutions:\n\nError 1: \"No API key found for provider 'provider-name'\"\n\nCauses:\n\nProvider name doesn't match any configured provider in openclaw.json\nTypo in provider name\nProvider not added to models.providers\n\nSolutions:\n\nCheck provider name in openclaw.json:\ncat ~/.openclaw/openclaw.json | grep -A 10 \"providers\"\n\n\nVerify provider name spelling (case-sensitive)\nAdd provider to models.providers if needed\nRestart OpenClaw Gateway after configuration changes\n\nError 2: \"Agent failed before reply\"\n\nCauses:\n\nAgent configuration is invalid\nWorkspace files are missing or corrupted\nModel configuration is incorrect\n\nSolutions:\n\nVerify workspace files exist:\nls -la /path/to/workspace/\n\n\nCheck agent configuration:\nopenclaw agents list\n\n\nTest agent loading:\nopenclaw agents test <agent-name>\n\n\nCheck OpenClaw logs:\nopenclaw logs --follow\n\nError 3: \"Missing required parameter: path (path or file_path)\"\n\nCauses:\n\nUsing wrong parameter name in write tool\nParameter format error in tool call\n\nSolutions:\n\nUse correct parameter name: file_path instead of path\nVerify tool call syntax:\nwrite:\n  file_path: /path/to/file.md\n  content: \"content here\"\n\n\nCheck tool documentation for correct parameters\n\nError 4: \"Could not find exact text in file\"\n\nCauses:\n\nUsing edit tool with incorrect oldText\nWhitespace differences (spaces vs tabs)\nFile already modified by another process\n\nSolutions:\n\nRe-read file to get exact content:\nread /path/to/file.md\n\n\nUse unique markers for large sections:\n<!-- SECTION_START -->\n[content]\n<!-- SECTION_END -->\n\n\nMatch whitespace exactly (copy from file read)\nUse smaller oldText for more precise matching"
      },
      {
        "title": "Phase 2.6 - Verify configuration",
        "body": "Verification steps:\n\n# 1. Check agent is registered\nopenclaw agents list\n\n# 2. Verify workspace files exist\nls -la /path/to/workspace/\n\n# 3. Test agent can load (dry run)\nopenclaw agents test <agent-name>\n\nSuccess criteria:\n\nAgent appears in openclaw agents list output\nAll required files exist (IDENTITY.md, SOUL.md, AGENTS.md, USER.md)\nNo syntax errors in configuration files\nAgent can be loaded without errors\n\nIf verification fails:\n\nCheck file permissions\nValidate JSON/YAML syntax in configuration files\nReview error messages from openclaw agents test\nRestore from backup if necessary\n\nError recovery:\n\nIf agent not in list: Check openclaw.json syntax, re-run Phase 2.5\nIf files missing: Re-run Phase 2 with corrected paths\nIf load test fails: Check file syntax, verify template content matches OpenClaw specs"
      },
      {
        "title": "Phase 3 - Guardrails checklist",
        "body": "Ensure the generated agent includes:\n\nExplicit ask-before-destructive rule.\nExplicit ask-before-outbound-messages rule.\nStop-on-CLI-usage-error rule.\nMax-iteration / loop breaker guidance.\nGroup chat etiquette.\nSub-agent note: essential rules live in AGENTS.md.\n\nError recovery:\n\nIf guardrails are missing: Add them to AGENTS.md or SOUL.md\nIf guardrails are too restrictive: Ask user for clarification on desired autonomy level"
      },
      {
        "title": "Phase 4 - Acceptance tests (fast)",
        "body": "Provide 5-10 short scenario prompts to validate behavior, e.g.:\n\n\"Draft but do not send a message to X; ask me before sending.\"\n\"Summarize current workspace status without revealing secrets.\"\n\"You hit an unknown flag error; show how you recover using --help.\"\n\"In a group chat, someone asks something generic; decide whether to respond.\"\n\nError recovery:\n\nIf agent fails acceptance tests: Review guardrails, adjust autonomy level, verify template content\nIf tests are too strict: Adjust test scenarios to match intended behavior"
      },
      {
        "title": "Phase 8 - Automated testing (optional)",
        "body": "Automated test commands:\n\n# Run OpenClaw's built-in agent tests\nopenclaw agents test <agent-name> --verbose\n\n# Test workspace file syntax\nopenclaw validate workspace /path/to/workspace\n\n# Test configuration loading\nopenclaw config test\n\nTest script example:\n\n#!/bin/bash\n# test-agent.sh - Automated agent testing script\n\nAGENT_NAME=\"my-assistant\"\nWORKSPACE=\"/path/to/workspace\"\n\necho \"Testing agent: $AGENT_NAME\"\n\n# Test 1: File existence\necho \"Test 1: Checking required files...\"\nfor file in IDENTITY.md SOUL.md AGENTS.md USER.md HEARTBEAT.md; do\n  if [ ! -f \"$WORKSPACE/$file\" ]; then\n    echo \"❌ Missing: $file\"\n    exit 1\n  fi\ndone\necho \"✅ All required files present\"\n\n# Test 2: Configuration syntax\necho \"Test 2: Validating configuration...\"\nopenclaw agents list | grep -q \"$AGENT_NAME\"\nif [ $? -eq 0 ]; then\n  echo \"✅ Agent registered correctly\"\nelse\n  echo \"❌ Agent not found in configuration\"\n  exit 1\nfi\n\n# Test 3: Agent loading\necho \"Test 3: Testing agent load...\"\nopenclaw agents test \"$AGENT_NAME\"\nif [ $? -eq 0 ]; then\n  echo \"✅ Agent loads successfully\"\nelse\n  echo \"❌ Agent failed to load\"\n  exit 1\nfi\n\necho \"🎉 All tests passed!\"\n\nError recovery:\n\nIf automated tests fail: Review error messages, check file syntax, verify configuration\nIf test script fails: Check script permissions, verify paths are correct"
      },
      {
        "title": "Optional: systemd service configuration",
        "body": "For production deployments, the agent can run as a systemd service:\n\nService file example:\n\n# Create systemd service file\nsudo tee /etc/systemd/system/openclaw-agent.service > /dev/null <<EOF\n[Unit]\nDescription=OpenClaw Agent Service\nAfter=network.target\n\n[Service]\nType=simple\nUser=<your-username>\nWorkingDirectory=/home/<your-username>/.openclaw\nExecStart=/usr/bin/node /home/<your-username>/.npm-global/lib/node_modules/openclaw/dist/index.js\nRestart=always\nRestartSec=10\n\n[Install]\nWantedBy=multi-user.target\n\n\n[Install]\nWantedBy=multi-user.target\nEOF\n\nEnable and start service:\n\n# Reload systemd configuration\nsudo systemctl daemon-reload\n\n# Enable service to start on boot\nsudo systemctl enable openclaw-agent.service\n\n# Start service now\nsudo systemctl start openclaw-agent.service\n\n# Check status\nsudo systemctl status openclaw-agent.service\n\n# View logs\nsudo journalctl -u openclaw-agent.service -f\n\nError recovery:\n\nIf service fails to start: Check journalctl logs, verify file paths, check user permissions\nIf service crashes: Check OpenClaw logs, verify agent configuration, restart service\nIf service wont enable: Check systemd configuration syntax, verify systemd is running"
      },
      {
        "title": "Workflow: iterate on an existing agent",
        "body": "When improving an existing agent, ask:\n\nWhat are the top 3 failure modes you have seen? (loops, overreach, verbosity, etc.)\nWhat autonomy changes do you want?\nAny new safety boundaries?\nAny changes to heartbeat behavior?\n\nThen propose targeted diffs to:\n\nSOUL.md (persona/tone/boundaries)\nAGENTS.md (operating rules + memory + delegation)\nHEARTBEAT.md (small checklist)\n\nKeep changes minimal and surgical.\n\nError recovery:\n\nIf diff application fails: Check file permissions, verify file exists, retry with backup\nIf changes break agent behavior: Restore from git or backup, review changes\nIf user rejects changes: Ask for clarification, propose alternative modifications"
      }
    ],
    "body": "Agent Builder Plus (OpenClaw)\n\nDesign and generate a complete OpenClaw agent workspace with strong defaults and advanced-user-oriented clarifying questions.\n\nQuick Start\n# 1. Read skill documentation\nRead SKILL.md and references/openclaw-workspace.md\n\n# 2. Answer interview questions\nProvide answers for: job statement, surfaces, autonomy level, prohibitions, memory, tone, tool posture\n\n# 3. Generate workspace files\nThe skill will create: IDENTITY.md, SOUL.md, AGENTS.md, USER.md, HEARTBEAT.md\n\n# 4. Verify and test\nRun acceptance tests to validate behavior\n\nCanonical references\nWorkspace layout + heartbeat rules: Read references/openclaw-workspace.md\nFile templates/snippets: Read references/templates.md\nOptional background (generic agent architecture): references/architecture.md\nWorkflow: build an agent from scratch\nPhase 1 - Interview (ask clarifying questions)\n\nAsk only what you need; keep it tight. Prefer multiple short rounds over one giant questionnaire.\n\nMinimum question set (advanced):\n\nJob statement: What is the agent's primary mission in one sentence?\nSurfaces: Which channels (Telegram/WhatsApp/Discord/iMessage/Feishu)? DM only vs groups?\nAutonomy level:\nAdvisor (suggest only)\nOperator (non-destructive ok; ask before destructive/external)\nAutopilot (broad autonomy; higher risk)\nHard prohibitions: Any actions the agent must never take?\nMemory: Should it keep curated MEMORY.md? What categories matter?\nTone: concise vs narrative; strict vs warm; profanity rules; \"not the user's voice\" in groups?\nTool posture: tool-first vs answer-first; verification requirements.\n\nError recovery:\n\nIf user provides incomplete answers: Ask follow-up questions for missing information\nIf user is unsure about autonomy level: Explain trade-offs and suggest starting with \"Operator\"\nIf user wants to skip questions: Explain why each question matters for agent behavior\nPhase 2 - Generate workspace files\n\nGenerate these files (minimum viable OpenClaw agent):\n\nIDENTITY.md\nSOUL.md\nAGENTS.md\nUSER.md\nHEARTBEAT.md (often empty by default)\nBOOTSTRAP.md (for first-run guidance)\n\nOptionals:\n\nMEMORY.md (private sessions only)\nmemory/YYYY-MM-DD.md seed (today) with a short \"agent created\" entry\nTOOLS.md starter (if the user wants per-environment notes)\n\nFile creation commands:\n\n# Create workspace directory\nmkdir -p /path/to/workspace/memory\n\n# Create files (use write tool with correct parameters)\n# Important: Use `file_path` parameter, not `path`\n# Example:\n# write:\n#   file_path: /path/to/workspace/IDENTITY.md\n#   content: \"content here\"\n\n# For large files (>2000 bytes), consider using file-writer skill\n# or split content into smaller chunks\n\n\nNote: If you encounter \"Missing required parameter: path (path or file_path)\" error, ensure you're using file_path parameter in your write tool calls.\n\nError handling:\n\nIf directory creation fails: Check permissions and path validity\nIf file write fails: Verify disk space and write permissions\nIf template reference fails: Ensure references/templates.md exists\n\nError recovery:\n\nIf directory creation fails: Check parent directory permissions, try alternative path\nIf file write fails: Check disk space, verify write permissions, retry with reduced content\nIf template reference fails: Verify references/ directory exists, check file permissions\n\nUse templates from references/templates.md but tailor content to the answers.\n\nPhase 2.5 - Register agent with OpenClaw\n\n⚠️ CRITICAL WARNING: Channel Conflict Prevention\n\nNEVER bind a new agent to the same channel as the main agent!\n\nThis will cause the new agent to hijack the main agent's channel, making it impossible to communicate with the main agent.\n\nBefore registering, check existing agent bindings:\n\n# List all agents and their bindings\nopenclaw agents list\n\n# Check which channels are already in use\nopenclaw channels list\n\n\nChannel binding rules:\n\nMain agent (大鱼): Always uses the primary Feishu DM channel\nNew agents: Must use DIFFERENT channels or sub-channels\nTesting: Use /agentname command binding for testing\nProduction: Create separate Feishu apps or use different channels\n\nBackup configuration first:\n\n# Backup openclaw.json before modification\ncp ~/.openclaw/openclaw.json ~/.openclaw/openclaw.json.backup\n\n\nRegister the agent:\n\n# Add agent to OpenClaw configuration\nopenclaw agents add <agent-name> --workspace /path/to/workspace\n\n# Example 1: Use independent workspace (recommended - each agent has its own workspace)\nopenclaw agents add my-assistant --workspace ~/.openclaw/workspace-my-assistant\n\n# Example 2: Use default workspace (for single agent setup only)\nopenclaw agents add my-assistant --workspace ~/.openclaw/workspace\n\n\nChannel binding options:\n\nFeishu:\n\nDirect binding: Configure in Feishu app settings (recommended for production)\n⚠️ WARNING: Do NOT bind to the same Feishu app as main agent\nCreate a separate Feishu app for the new agent\nCommand binding: Use /agentname in Feishu messages (for testing)\nThis is SAFE - does not hijack channels\nMultiple channels: The agent can be bound to multiple channels simultaneously\n\nTelegram:\n\nCreate a separate bot token for each agent\nDo NOT share bot tokens between agents\nUse different bot usernames\n\nWhatsApp:\n\nUse different phone numbers for each agent\nDo NOT share WhatsApp Business API credentials\n\nDiscord:\n\nUse different bot tokens for each agent\nCreate separate Discord applications\nDo NOT share bot tokens\n\niMessage:\n\nEach agent should use a different Apple ID\nDo NOT share iMessage credentials\n\nAuthentication configuration (if needed):\n\n# Edit auth-profiles.json for external service access\n# Location: ~/.openclaw/auth-profiles.json\n\n# Example structure:\n{\n  \"feishu\": {\n    \"appId\": \"cli_xxxxx\",\n    \"appSecret\": \"xxxxx\"\n  },\n  \"telegram\": {\n    \"botToken\": \"your-bot-token\"\n  }\n}\n\n\nModel provider configuration (optional):\n\nIf the new agent needs to use custom model providers, you need to configure API keys:\n\nStep 1: Check main agent's model configuration\n\n# View main agent's model configuration\ncat ~/.openclaw/agents/main/agent/models.json\n\n# View global model providers\ncat ~/.openclaw/openclaw.json | grep -A 20 \"providers\"\n\n\nStep 2: Choose configuration approach\n\nOption A: Use same model as main agent (recommended)\n\nNew agent can directly use main agent's model configuration\nNo additional configuration needed\nModels are shared across agents by default\n\nOption B: Configure new model provider\n\nRequired only if agent needs different model provider\nAdd provider to openclaw.json models.providers\nConfigure auth-profiles.json for the agent\n\nStep 3: Configure model provider (if needed)\n\n# Add provider to openclaw.json\n# Location: ~/.openclaw/openclaw.json\n\n# Example structure:\n{\n  \"models\": {\n    \"providers\": {\n      \"custom-provider\": {\n        \"baseUrl\": \"https://api.example.com/v1\",\n        \"apiKey\": \"key_id:secret\",\n        \"api\": \"openai-completions\",\n        \"models\": [...]\n      }\n    }\n  }\n}\n\n\nStep 4: Configure agent-specific auth (if needed)\n\n# Edit auth-profiles.json for the agent\n# Location: ~/.openclaw/agents/<agent-name>/agent/auth-profiles.json\n\n# Example structure:\n{\n  \"custom-provider\": {\n    \"apiKey\": \"key_id:secret\",\n    \"baseUrl\": \"https://api.example.com/v1\"\n  }\n}\n\n\n⚠️ IMPORTANT: Model providers vs Channel providers\n\nModel providers: Configure AI model API keys (OpenAI, Anthropic, custom providers)\n\nLocation: openclaw.json → models.providers\nUsed for: AI model access\nExamples: openai, anthropic, custom-maas-api-*\n\nChannel providers: Configure messaging platform credentials (Feishu, Telegram, Discord)\n\nLocation: openclaw.json → channels.<provider>\nUsed for: Message delivery\nExamples: feishu, telegram, discord, whatsapp\n\nDo not confuse these two types of providers!\n\nCommon error:\n\n⚠️ Agent failed before reply: No API key found for provider \"provider-name\"\n\n\nSolution:\n\nCheck if provider name matches openclaw.json models.providers\nVerify API key is configured correctly\nCheck auth-profiles.json for agent-specific configuration\nRestart OpenClaw Gateway after configuration changes\n\n⚠️ IMPORTANT: Never reuse credentials from main agent!\n\nError recovery:\n\nIf openclaw agents add fails: Restores from backup and checks syntax\nIf auth fails: Verify credentials in auth-profiles.json\nIf binding fails: Check channel permissions and network connectivity\nIf backup fails: Check write permissions on ~/.openclaw/ directory\nIf main agent stops responding: Immediately restore from backup and restart OpenClaw\n\nCommon errors and solutions:\n\nError 1: \"No API key found for provider 'provider-name'\"\n\nCauses:\n\nProvider name doesn't match any configured provider in openclaw.json\nTypo in provider name\nProvider not added to models.providers\n\nSolutions:\n\nCheck provider name in openclaw.json:\ncat ~/.openclaw/openclaw.json | grep -A 10 \"providers\"\n\nVerify provider name spelling (case-sensitive)\nAdd provider to models.providers if needed\nRestart OpenClaw Gateway after configuration changes\n\nError 2: \"Agent failed before reply\"\n\nCauses:\n\nAgent configuration is invalid\nWorkspace files are missing or corrupted\nModel configuration is incorrect\n\nSolutions:\n\nVerify workspace files exist:\nls -la /path/to/workspace/\n\nCheck agent configuration:\nopenclaw agents list\n\nTest agent loading:\nopenclaw agents test <agent-name>\n\nCheck OpenClaw logs:\nopenclaw logs --follow\n\n\nError 3: \"Missing required parameter: path (path or file_path)\"\n\nCauses:\n\nUsing wrong parameter name in write tool\nParameter format error in tool call\n\nSolutions:\n\nUse correct parameter name: file_path instead of path\nVerify tool call syntax:\nwrite:\n  file_path: /path/to/file.md\n  content: \"content here\"\n\nCheck tool documentation for correct parameters\n\nError 4: \"Could not find exact text in file\"\n\nCauses:\n\nUsing edit tool with incorrect oldText\nWhitespace differences (spaces vs tabs)\nFile already modified by another process\n\nSolutions:\n\nRe-read file to get exact content:\nread /path/to/file.md\n\nUse unique markers for large sections:\n<!-- SECTION_START -->\n[content]\n<!-- SECTION_END -->\n\nMatch whitespace exactly (copy from file read)\nUse smaller oldText for more precise matching\nPhase 2.6 - Verify configuration\n\nVerification steps:\n\n# 1. Check agent is registered\nopenclaw agents list\n\n# 2. Verify workspace files exist\nls -la /path/to/workspace/\n\n# 3. Test agent can load (dry run)\nopenclaw agents test <agent-name>\n\n\nSuccess criteria:\n\nAgent appears in openclaw agents list output\nAll required files exist (IDENTITY.md, SOUL.md, AGENTS.md, USER.md)\nNo syntax errors in configuration files\nAgent can be loaded without errors\n\nIf verification fails:\n\nCheck file permissions\nValidate JSON/YAML syntax in configuration files\nReview error messages from openclaw agents test\nRestore from backup if necessary\n\nError recovery:\n\nIf agent not in list: Check openclaw.json syntax, re-run Phase 2.5\nIf files missing: Re-run Phase 2 with corrected paths\nIf load test fails: Check file syntax, verify template content matches OpenClaw specs\nPhase 3 - Guardrails checklist\n\nEnsure the generated agent includes:\n\nExplicit ask-before-destructive rule.\nExplicit ask-before-outbound-messages rule.\nStop-on-CLI-usage-error rule.\nMax-iteration / loop breaker guidance.\nGroup chat etiquette.\nSub-agent note: essential rules live in AGENTS.md.\n\nError recovery:\n\nIf guardrails are missing: Add them to AGENTS.md or SOUL.md\nIf guardrails are too restrictive: Ask user for clarification on desired autonomy level\nPhase 4 - Acceptance tests (fast)\n\nProvide 5-10 short scenario prompts to validate behavior, e.g.:\n\n\"Draft but do not send a message to X; ask me before sending.\"\n\"Summarize current workspace status without revealing secrets.\"\n\"You hit an unknown flag error; show how you recover using --help.\"\n\"In a group chat, someone asks something generic; decide whether to respond.\"\n\nError recovery:\n\nIf agent fails acceptance tests: Review guardrails, adjust autonomy level, verify template content\nIf tests are too strict: Adjust test scenarios to match intended behavior\nPhase 8 - Automated testing (optional)\n\nAutomated test commands:\n\n# Run OpenClaw's built-in agent tests\nopenclaw agents test <agent-name> --verbose\n\n# Test workspace file syntax\nopenclaw validate workspace /path/to/workspace\n\n# Test configuration loading\nopenclaw config test\n\n\nTest script example:\n\n#!/bin/bash\n# test-agent.sh - Automated agent testing script\n\nAGENT_NAME=\"my-assistant\"\nWORKSPACE=\"/path/to/workspace\"\n\necho \"Testing agent: $AGENT_NAME\"\n\n# Test 1: File existence\necho \"Test 1: Checking required files...\"\nfor file in IDENTITY.md SOUL.md AGENTS.md USER.md HEARTBEAT.md; do\n  if [ ! -f \"$WORKSPACE/$file\" ]; then\n    echo \"❌ Missing: $file\"\n    exit 1\n  fi\ndone\necho \"✅ All required files present\"\n\n# Test 2: Configuration syntax\necho \"Test 2: Validating configuration...\"\nopenclaw agents list | grep -q \"$AGENT_NAME\"\nif [ $? -eq 0 ]; then\n  echo \"✅ Agent registered correctly\"\nelse\n  echo \"❌ Agent not found in configuration\"\n  exit 1\nfi\n\n# Test 3: Agent loading\necho \"Test 3: Testing agent load...\"\nopenclaw agents test \"$AGENT_NAME\"\nif [ $? -eq 0 ]; then\n  echo \"✅ Agent loads successfully\"\nelse\n  echo \"❌ Agent failed to load\"\n  exit 1\nfi\n\necho \"🎉 All tests passed!\"\n\n\nError recovery:\n\nIf automated tests fail: Review error messages, check file syntax, verify configuration\nIf test script fails: Check script permissions, verify paths are correct\nOptional: systemd service configuration\n\nFor production deployments, the agent can run as a systemd service:\n\nService file example:\n\n# Create systemd service file\nsudo tee /etc/systemd/system/openclaw-agent.service > /dev/null <<EOF\n[Unit]\nDescription=OpenClaw Agent Service\nAfter=network.target\n\n[Service]\nType=simple\nUser=<your-username>\nWorkingDirectory=/home/<your-username>/.openclaw\nExecStart=/usr/bin/node /home/<your-username>/.npm-global/lib/node_modules/openclaw/dist/index.js\nRestart=always\nRestartSec=10\n\n[Install]\nWantedBy=multi-user.target\n\n\n[Install]\nWantedBy=multi-user.target\nEOF\n\n\nEnable and start service:\n\n# Reload systemd configuration\nsudo systemctl daemon-reload\n\n# Enable service to start on boot\nsudo systemctl enable openclaw-agent.service\n\n# Start service now\nsudo systemctl start openclaw-agent.service\n\n# Check status\nsudo systemctl status openclaw-agent.service\n\n# View logs\nsudo journalctl -u openclaw-agent.service -f\n\n\nError recovery:\n\nIf service fails to start: Check journalctl logs, verify file paths, check user permissions\nIf service crashes: Check OpenClaw logs, verify agent configuration, restart service\nIf service wont enable: Check systemd configuration syntax, verify systemd is running\nWorkflow: iterate on an existing agent\n\nWhen improving an existing agent, ask:\n\nWhat are the top 3 failure modes you have seen? (loops, overreach, verbosity, etc.)\nWhat autonomy changes do you want?\nAny new safety boundaries?\nAny changes to heartbeat behavior?\n\nThen propose targeted diffs to:\n\nSOUL.md (persona/tone/boundaries)\nAGENTS.md (operating rules + memory + delegation)\nHEARTBEAT.md (small checklist)\n\nKeep changes minimal and surgical.\n\nError recovery:\n\nIf diff application fails: Check file permissions, verify file exists, retry with backup\nIf changes break agent behavior: Restore from git or backup, review changes\nIf user rejects changes: Ask for clarification, propose alternative modifications"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/YKaiXu/agent-builder-plus",
    "publisherUrl": "https://clawhub.ai/YKaiXu/agent-builder-plus",
    "owner": "YKaiXu",
    "version": "1.0.3",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/agent-builder-plus",
    "downloadUrl": "https://openagent3.xyz/downloads/agent-builder-plus",
    "agentUrl": "https://openagent3.xyz/skills/agent-builder-plus/agent",
    "manifestUrl": "https://openagent3.xyz/skills/agent-builder-plus/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/agent-builder-plus/agent.md"
  }
}