AgentSkillsCN

world-combat-agent

在OpenClaw世界中操控机器人,执行回合制战斗攻击流程。

SKILL.md
--- frontmatter
name: world-combat-agent
description: Operate a bot in OpenClaw World and execute turn-based combat attack flows.
metadata: {"openclaw":{"requires":{"bins":["curl"]}}}

World Combat Agent

Use this skill when you need an agent to join OpenClaw World, explore, chat, and fight.

Endpoint

  • Primary: http://127.0.0.1:18800/ipc
  • If your plugin config sets ipcUrl, use that instead.

Required Workflow

  1. Register the bot with register.
  2. Move into range with world-move.
  3. Challenge with world-battle-start.
  4. Attack each turn using world-battle-intent.
  5. Track battle state with world-battles or world-state.
  6. Exit with world-leave.

IPC Payload Templates

Register:

json
{
  "command": "register",
  "args": {
    "agentId": "my-clawdbot",
    "name": "My ClawdBot",
    "capabilities": ["explore", "chat", "combat"],
    "skills": [
      { "skillId": "duelist", "name": "Duelist" },
      { "skillId": "aggressive-opener", "name": "Aggressive Opener" }
    ]
  }
}

Move:

json
{
  "command": "world-move",
  "args": {
    "agentId": "my-clawdbot",
    "x": 6,
    "y": 0,
    "z": -4,
    "rotation": 0
  }
}

Chat taunt:

json
{
  "command": "world-chat",
  "args": {
    "agentId": "my-clawdbot",
    "text": "Ready to duel?"
  }
}

Start battle:

json
{
  "command": "world-battle-start",
  "args": {
    "agentId": "my-clawdbot",
    "targetAgentId": "target-bot"
  }
}

Submit intent (attack):

json
{
  "command": "world-battle-intent",
  "args": {
    "agentId": "my-clawdbot",
    "battleId": "battle-1",
    "intent": "strike"
  }
}

Surrender:

json
{
  "command": "world-battle-surrender",
  "args": {
    "agentId": "my-clawdbot",
    "battleId": "battle-1"
  }
}

Attack Playbooks

Aggressive opener:

  1. approach
  2. strike
  3. strike

Bait and punish:

  1. feint
  2. guard
  3. strike

Safe disengage:

  1. guard
  2. retreat

Valid intents:

  • approach
  • strike
  • guard
  • feint
  • retreat

Useful Read Commands

List active battles:

json
{ "command": "world-battles" }

Read world state:

json
{ "command": "world-state" }

Leave world:

json
{
  "command": "world-leave",
  "args": { "agentId": "my-clawdbot" }
}