{
  "schemaVersion": "1.0",
  "item": {
    "slug": "robot",
    "name": "Robot",
    "source": "tencent",
    "type": "skill",
    "category": "AI 智能",
    "sourceUrl": "https://clawhub.ai/ivangdavila/robot",
    "canonicalUrl": "https://clawhub.ai/ivangdavila/robot",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/robot",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=robot",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "debugging.md",
      "hardware.md",
      "industrial.md",
      "memory-template.md",
      "motors.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-30T16:55:25.780Z",
      "expiresAt": "2026-05-07T16:55:25.780Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
        "contentDisposition": "attachment; filename=\"network-1.0.0.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/robot"
    },
    "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/robot",
    "agentPageUrl": "https://openagent3.xyz/skills/robot/agent",
    "manifestUrl": "https://openagent3.xyz/skills/robot/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/robot/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": "When to Use",
        "body": "User needs robotics help — Arduino/ESP32 wiring, ROS2 configuration, motor control, sensor integration, or industrial robot programming. Agent handles hardware selection, code generation, and debugging across hobby to professional contexts."
      },
      {
        "title": "Architecture",
        "body": "Memory lives in ~/robot/ with tiered structure. See memory-template.md for initial setup.\n\n~/robot/\n├── memory.md          # HOT: inventory + active project\n├── inventory.md       # Hardware owned (boards, sensors, motors)\n├── projects/          # Per-project configs and learnings\n│   └── {name}.md      # Project-specific notes\n├── corrections.md     # What failed + fixes found\n└── archive/           # Completed project summaries"
      },
      {
        "title": "Quick Reference",
        "body": "TopicFileMemory setupmemory-template.mdArduino, ESP32, RPi wiringhardware.mdSensors: wiring + codesensors.mdMotors: types + driversmotors.mdROS1/ROS2, Gazebo, MoveItros.mdIndustrial arms (ABB, KUKA, UR)industrial.mdSystematic troubleshootingdebugging.mdCommon project templatesprojects.md"
      },
      {
        "title": "1. Check Memory First",
        "body": "Before ANY recommendation:\n\nRead ~/robot/memory.md — what hardware does user have?\nCheck ~/robot/projects/ — is there an active project?\nCheck ~/robot/corrections.md — past failures to avoid?"
      },
      {
        "title": "2. ASK Exact Hardware",
        "body": "Before ANY code: exact board model, exact sensor/motor models, voltage rails.\n\"Arduino\" is ambiguous (Uno? Nano? ESP32-based?). Add to inventory once confirmed."
      },
      {
        "title": "3. Update Memory Proactively",
        "body": "EventActionUser mentions hardware they ownAdd to inventory.mdUser starts new projectCreate projects/{name}.mdSomething fails → fix foundLog in corrections.mdProject completedArchive to archive/"
      },
      {
        "title": "4. Version Everything",
        "body": "Always ask and specify:\n\nArduino core version, library versions\nROS distro (Humble, Iron, Foxy, Noetic)\nFirmware versions for industrial controllers"
      },
      {
        "title": "5. Simulation First for Industrial",
        "body": "For ABB/KUKA/Fanuc/UR code:\n\nAlways clarify: simulation or real hardware?\nNever generate motion code without safety discussion\nInclude speed limits and safety checks in ALL code"
      },
      {
        "title": "Board Selection",
        "body": "Servo.h crashes on ESP32 — use ESP32Servo.h (different API)\nanalogWrite() missing on ESP32 — use ledcWrite() + channel setup\nESP32 GPIO 6-11 are flash pins — touching them = crash\nESP32 GPIO 34-39 are input-only — output silently fails\nArduino pins 0,1 are Serial — using them breaks upload"
      },
      {
        "title": "Voltage and Current",
        "body": "5V sensor → 3.3V board without divider — burns pin permanently\nGPIO sourcing >40mA (Uno) or >12mA (ESP32) — pin damage over time\nMotor on same rail as logic — brownouts cause random resets\nNo common ground between boards — erratic sensor readings"
      },
      {
        "title": "Sensors",
        "body": "HC-SR04 Echo pin 5V → 3.3V board — needs divider or level shifter\nDHT22 read interval <2s — returns stale/error values\nI2C bus >30cm without pullups — intermittent failures\nMPU6050 FIFO overflow if not read fast — readings corrupt"
      },
      {
        "title": "ROS Traps",
        "body": "Mixing rospy (ROS1) and rclpy (ROS2) — import errors\nForgot source install/setup.bash — \"package not found\"\nQoS mismatch publisher/subscriber — messages silently dropped\nstatic_transform_publisher syntax varies by ROS2 version\nGazebo Classic plugins ≠ Ignition/Fortress plugins"
      },
      {
        "title": "Industrial Traps",
        "body": "MoveL through singularity — joint whip, dangerous\nWrong coordinate frame (base vs world vs tool) — unexpected position\nOmitting MoveJ before MoveL — path through obstacles\nSpeed too high in shared human space — safety violation\nBypassing SafeMove/SafetyIO signals — defeats physical safeties"
      }
    ],
    "body": "When to Use\n\nUser needs robotics help — Arduino/ESP32 wiring, ROS2 configuration, motor control, sensor integration, or industrial robot programming. Agent handles hardware selection, code generation, and debugging across hobby to professional contexts.\n\nArchitecture\n\nMemory lives in ~/robot/ with tiered structure. See memory-template.md for initial setup.\n\n~/robot/\n├── memory.md          # HOT: inventory + active project\n├── inventory.md       # Hardware owned (boards, sensors, motors)\n├── projects/          # Per-project configs and learnings\n│   └── {name}.md      # Project-specific notes\n├── corrections.md     # What failed + fixes found\n└── archive/           # Completed project summaries\n\nQuick Reference\nTopic\tFile\nMemory setup\tmemory-template.md\nArduino, ESP32, RPi wiring\thardware.md\nSensors: wiring + code\tsensors.md\nMotors: types + drivers\tmotors.md\nROS1/ROS2, Gazebo, MoveIt\tros.md\nIndustrial arms (ABB, KUKA, UR)\tindustrial.md\nSystematic troubleshooting\tdebugging.md\nCommon project templates\tprojects.md\nCore Rules\n1. Check Memory First\n\nBefore ANY recommendation:\n\nRead ~/robot/memory.md — what hardware does user have?\nCheck ~/robot/projects/ — is there an active project?\nCheck ~/robot/corrections.md — past failures to avoid?\n2. ASK Exact Hardware\n\nBefore ANY code: exact board model, exact sensor/motor models, voltage rails. \"Arduino\" is ambiguous (Uno? Nano? ESP32-based?). Add to inventory once confirmed.\n\n3. Update Memory Proactively\nEvent\tAction\nUser mentions hardware they own\tAdd to inventory.md\nUser starts new project\tCreate projects/{name}.md\nSomething fails → fix found\tLog in corrections.md\nProject completed\tArchive to archive/\n4. Version Everything\n\nAlways ask and specify:\n\nArduino core version, library versions\nROS distro (Humble, Iron, Foxy, Noetic)\nFirmware versions for industrial controllers\n5. Simulation First for Industrial\n\nFor ABB/KUKA/Fanuc/UR code:\n\nAlways clarify: simulation or real hardware?\nNever generate motion code without safety discussion\nInclude speed limits and safety checks in ALL code\nHardware Traps\nBoard Selection\nServo.h crashes on ESP32 — use ESP32Servo.h (different API)\nanalogWrite() missing on ESP32 — use ledcWrite() + channel setup\nESP32 GPIO 6-11 are flash pins — touching them = crash\nESP32 GPIO 34-39 are input-only — output silently fails\nArduino pins 0,1 are Serial — using them breaks upload\nVoltage and Current\n5V sensor → 3.3V board without divider — burns pin permanently\nGPIO sourcing >40mA (Uno) or >12mA (ESP32) — pin damage over time\nMotor on same rail as logic — brownouts cause random resets\nNo common ground between boards — erratic sensor readings\nSensors\nHC-SR04 Echo pin 5V → 3.3V board — needs divider or level shifter\nDHT22 read interval <2s — returns stale/error values\nI2C bus >30cm without pullups — intermittent failures\nMPU6050 FIFO overflow if not read fast — readings corrupt\nROS Traps\nMixing rospy (ROS1) and rclpy (ROS2) — import errors\nForgot source install/setup.bash — \"package not found\"\nQoS mismatch publisher/subscriber — messages silently dropped\nstatic_transform_publisher syntax varies by ROS2 version\nGazebo Classic plugins ≠ Ignition/Fortress plugins\nIndustrial Traps\nMoveL through singularity — joint whip, dangerous\nWrong coordinate frame (base vs world vs tool) — unexpected position\nOmitting MoveJ before MoveL — path through obstacles\nSpeed too high in shared human space — safety violation\nBypassing SafeMove/SafetyIO signals — defeats physical safeties"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/ivangdavila/robot",
    "publisherUrl": "https://clawhub.ai/ivangdavila/robot",
    "owner": "ivangdavila",
    "version": "1.0.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/robot",
    "downloadUrl": "https://openagent3.xyz/downloads/robot",
    "agentUrl": "https://openagent3.xyz/skills/robot/agent",
    "manifestUrl": "https://openagent3.xyz/skills/robot/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/robot/agent.md"
  }
}