{
  "schemaVersion": "1.0",
  "item": {
    "slug": "mu-pet",
    "name": "Mu Pet",
    "source": "tencent",
    "type": "skill",
    "category": "内容创作",
    "sourceUrl": "https://clawhub.ai/samskrta/mu-pet",
    "canonicalUrl": "https://clawhub.ai/samskrta/mu-pet",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/mu-pet",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=mu-pet",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "assets/app/index.html",
      "assets/app/main.js",
      "assets/app/package.json",
      "scripts/install.sh",
      "scripts/uninstall.sh"
    ],
    "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/mu-pet"
    },
    "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/mu-pet",
    "agentPageUrl": "https://openagent3.xyz/skills/mu-pet/agent",
    "manifestUrl": "https://openagent3.xyz/skills/mu-pet/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/mu-pet/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": "Desktop Pet",
        "body": "A pixel art desktop pet (default: lobster 🦞) that roams the screen as a transparent Electron overlay."
      },
      {
        "title": "Quick Start",
        "body": "cd <skill-dir>/assets/app\nnpm install\nnpx electron .\n\nThe pet starts at the bottom center of the screen and begins roaming."
      },
      {
        "title": "HTTP API",
        "body": "Local API on port 18891 (127.0.0.1 only):\n\nGET /state - returns {\"state\":\"idle\",\"statusText\":\"\"}\nPOST /state - set state: {\"state\":\"talking\",\"bubble\":\"hello!\"}"
      },
      {
        "title": "States",
        "body": "StateBehavioridleGentle bob, occasional claw snapwalkingMoves along current surfaceclimbingTransitions between floor/walls/ceilingfleeingRunning from cursor or active windowworkingSits at tiny laptop with sparkle particlesthinkingSlow sway, thought dots appearsleepingEyes closed, zzz bubbles float uptalkingFaces user, shows speech bubble, auto-returns to idlesnappingClaw snap animation"
      },
      {
        "title": "Agent Integration",
        "body": "Hit the API at the start of responses to make the pet face the user:\n\ncurl -s -X POST http://127.0.0.1:18891/state \\\n  -H 'Content-Type: application/json' \\\n  -d '{\"state\":\"talking\",\"bubble\":\"working on it...\"}'\n\nSet to working during long operations, thinking while reasoning.\n\nThe talking state auto-returns to idle after the bubble duration expires."
      },
      {
        "title": "Auto-Launch (macOS)",
        "body": "Create a LaunchAgent for auto-start on login. Use label ai.openclaw.desktop-pet.\n\n# Install as LaunchAgent\ncat > ~/Library/LaunchAgents/ai.openclaw.desktop-pet.plist << 'EOF'\n<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\"><dict>\n  <key>Label</key><string>ai.openclaw.desktop-pet</string>\n  <key>ProgramArguments</key><array>\n    <string>APP_PATH/node_modules/.bin/electron</string>\n    <string>APP_PATH</string>\n  </array>\n  <key>WorkingDirectory</key><string>APP_PATH</string>\n  <key>RunAtLoad</key><true/>\n  <key>KeepAlive</key><true/>\n  <key>StandardOutPath</key><string>/tmp/desktop-pet.log</string>\n  <key>StandardErrorPath</key><string>/tmp/desktop-pet.log</string>\n  <key>EnvironmentVariables</key><dict>\n    <key>PATH</key><string>/opt/homebrew/bin:/usr/local/bin:/usr/bin:/bin</string>\n  </dict>\n</dict></plist>\nEOF\n\nReplace APP_PATH with the absolute path to the app directory."
      },
      {
        "title": "Customization",
        "body": "The pet is drawn programmatically via Canvas pixel art in index.html. To change the creature:\n\nEdit lobsterBase() and lobsterFront() functions with new pixel layouts\nColors are defined as constants at the top of the script block\nEach pixel is {x, y, w, h, color} at 3x scale"
      },
      {
        "title": "Features",
        "body": "Transparent overlay, always-on-top, click-through (except on the pet itself)\nRoams full desktop: floor, walls, ceiling\nAvoids cursor (250px radius) and frontmost window\nRight-click context menu for manual state control\nSpeech bubbles with auto-sizing duration\nPixel art drawn via Canvas (no external images needed)"
      }
    ],
    "body": "Desktop Pet\n\nA pixel art desktop pet (default: lobster 🦞) that roams the screen as a transparent Electron overlay.\n\nQuick Start\ncd <skill-dir>/assets/app\nnpm install\nnpx electron .\n\n\nThe pet starts at the bottom center of the screen and begins roaming.\n\nHTTP API\n\nLocal API on port 18891 (127.0.0.1 only):\n\nGET /state - returns {\"state\":\"idle\",\"statusText\":\"\"}\nPOST /state - set state: {\"state\":\"talking\",\"bubble\":\"hello!\"}\nStates\nState\tBehavior\nidle\tGentle bob, occasional claw snap\nwalking\tMoves along current surface\nclimbing\tTransitions between floor/walls/ceiling\nfleeing\tRunning from cursor or active window\nworking\tSits at tiny laptop with sparkle particles\nthinking\tSlow sway, thought dots appear\nsleeping\tEyes closed, zzz bubbles float up\ntalking\tFaces user, shows speech bubble, auto-returns to idle\nsnapping\tClaw snap animation\nAgent Integration\n\nHit the API at the start of responses to make the pet face the user:\n\ncurl -s -X POST http://127.0.0.1:18891/state \\\n  -H 'Content-Type: application/json' \\\n  -d '{\"state\":\"talking\",\"bubble\":\"working on it...\"}'\n\n\nSet to working during long operations, thinking while reasoning.\n\nThe talking state auto-returns to idle after the bubble duration expires.\n\nAuto-Launch (macOS)\n\nCreate a LaunchAgent for auto-start on login. Use label ai.openclaw.desktop-pet.\n\n# Install as LaunchAgent\ncat > ~/Library/LaunchAgents/ai.openclaw.desktop-pet.plist << 'EOF'\n<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\"><dict>\n  <key>Label</key><string>ai.openclaw.desktop-pet</string>\n  <key>ProgramArguments</key><array>\n    <string>APP_PATH/node_modules/.bin/electron</string>\n    <string>APP_PATH</string>\n  </array>\n  <key>WorkingDirectory</key><string>APP_PATH</string>\n  <key>RunAtLoad</key><true/>\n  <key>KeepAlive</key><true/>\n  <key>StandardOutPath</key><string>/tmp/desktop-pet.log</string>\n  <key>StandardErrorPath</key><string>/tmp/desktop-pet.log</string>\n  <key>EnvironmentVariables</key><dict>\n    <key>PATH</key><string>/opt/homebrew/bin:/usr/local/bin:/usr/bin:/bin</string>\n  </dict>\n</dict></plist>\nEOF\n\n\nReplace APP_PATH with the absolute path to the app directory.\n\nCustomization\n\nThe pet is drawn programmatically via Canvas pixel art in index.html. To change the creature:\n\nEdit lobsterBase() and lobsterFront() functions with new pixel layouts\nColors are defined as constants at the top of the script block\nEach pixel is {x, y, w, h, color} at 3x scale\nFeatures\nTransparent overlay, always-on-top, click-through (except on the pet itself)\nRoams full desktop: floor, walls, ceiling\nAvoids cursor (250px radius) and frontmost window\nRight-click context menu for manual state control\nSpeech bubbles with auto-sizing duration\nPixel art drawn via Canvas (no external images needed)"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/samskrta/mu-pet",
    "publisherUrl": "https://clawhub.ai/samskrta/mu-pet",
    "owner": "samskrta",
    "version": "1.0.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/mu-pet",
    "downloadUrl": "https://openagent3.xyz/downloads/mu-pet",
    "agentUrl": "https://openagent3.xyz/skills/mu-pet/agent",
    "manifestUrl": "https://openagent3.xyz/skills/mu-pet/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/mu-pet/agent.md"
  }
}