{
  "schemaVersion": "1.0",
  "item": {
    "slug": "pixel-lobster",
    "name": "Pixel Lobster Skill",
    "source": "tencent",
    "type": "skill",
    "category": "AI 智能",
    "sourceUrl": "https://clawhub.ai/JoeProAI/pixel-lobster",
    "canonicalUrl": "https://clawhub.ai/JoeProAI/pixel-lobster",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/pixel-lobster",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=pixel-lobster",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "app/config.json",
      "app/lobster.html",
      "app/main.js",
      "app/package.json",
      "app/preload.js"
    ],
    "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/pixel-lobster"
    },
    "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/pixel-lobster",
    "agentPageUrl": "https://openagent3.xyz/skills/pixel-lobster/agent",
    "manifestUrl": "https://openagent3.xyz/skills/pixel-lobster/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/pixel-lobster/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": "Pixel Lobster",
        "body": "A transparent desktop overlay featuring a pixel art lobster that animates when your OpenClaw agent speaks. Powered by envelope data from your local TTS server — the lobster's mouth only moves during AI speech, not music or system audio.\n\nThe app is fully bundled inside this skill — no external repository clone required."
      },
      {
        "title": "Requirements",
        "body": "Node.js 18+ with npx available\nA running TTS server exposing GET /audio/envelope (XTTS on port 8787, or any OpenAI-compatible TTS via the OpenClaw TTS proxy)\nWindows or Linux desktop (macOS not supported)"
      },
      {
        "title": "Install",
        "body": "The app is included in this skill at <skill_dir>/app/. Install dependencies once:\n\ncd <skill_dir>/app\nnpm install"
      },
      {
        "title": "Configure",
        "body": "Edit <skill_dir>/app/config.json before launching. Key settings:\n\nKeyDefaultDescriptionaudioMode\"tts\"\"tts\" reacts only to TTS speech; \"system\" captures all audio outputttsUrl\"http://127.0.0.1:8787\"Base URL of your TTS servermonitor\"primary\"\"primary\", \"secondary\", \"left\", \"right\", or display indexlobsterScale4Sprite scale (4 = 480px tall lobster)clickThroughfalseStart with click-through mode on so the lobster doesn't block clicksswimEnabledtrueEnable swimming animation"
      },
      {
        "title": "Launch",
        "body": "cd <skill_dir>/app\nnpx electron .\n\nOr use the included helper script (handles first-run npm install automatically):\n\nbash <skill_dir>/scripts/launch.sh"
      },
      {
        "title": "Keyboard Shortcuts",
        "body": "KeyActionF8Move window to next monitor (cycles through all displays)F9Toggle click-through modeF12Toggle DevTools"
      },
      {
        "title": "OpenClaw Integration",
        "body": "With OpenClaw and a local XTTS server, set audioMode to \"tts\" and point ttsUrl at your XTTS instance. The lobster polls the envelope endpoint at 45ms intervals during active speech and 500ms when idle — no perceptible CPU cost.\n\nIf you use the OpenClaw TTS proxy (port 8788), point ttsUrl at port 8787 (the XTTS server directly), not the proxy — the envelope endpoint is on the TTS server, not the proxy layer."
      },
      {
        "title": "Lip Sync Notes",
        "body": "If the mouth movement is ahead of or behind the audio:\n\nMouth moves too early: increase ttsPlayStartOffsetMs (default 1100ms)\nMouth moves too late: decrease ttsPlayStartOffsetMs\n\nThe default is tuned for PowerShell MediaPlayer on Windows. Other playback methods may need adjustment."
      },
      {
        "title": "Mouth Shapes",
        "body": "Six visemes drive natural speech animation:\n\nA — wide open \"ah\"\nB — wide grin \"ee\"\nC — round \"oh\"\nD — small pucker \"oo\"\nE — medium \"eh\"\nF — teeth \"ff\"\n\nPlus X (closed) for silence and pauses. Spring physics and variety enforcement prevent robotic repetition."
      }
    ],
    "body": "Pixel Lobster\n\nA transparent desktop overlay featuring a pixel art lobster that animates when your OpenClaw agent speaks. Powered by envelope data from your local TTS server — the lobster's mouth only moves during AI speech, not music or system audio.\n\nThe app is fully bundled inside this skill — no external repository clone required.\n\nRequirements\nNode.js 18+ with npx available\nA running TTS server exposing GET /audio/envelope (XTTS on port 8787, or any OpenAI-compatible TTS via the OpenClaw TTS proxy)\nWindows or Linux desktop (macOS not supported)\nInstall\n\nThe app is included in this skill at <skill_dir>/app/. Install dependencies once:\n\ncd <skill_dir>/app\nnpm install\n\nConfigure\n\nEdit <skill_dir>/app/config.json before launching. Key settings:\n\nKey\tDefault\tDescription\naudioMode\t\"tts\"\t\"tts\" reacts only to TTS speech; \"system\" captures all audio output\nttsUrl\t\"http://127.0.0.1:8787\"\tBase URL of your TTS server\nmonitor\t\"primary\"\t\"primary\", \"secondary\", \"left\", \"right\", or display index\nlobsterScale\t4\tSprite scale (4 = 480px tall lobster)\nclickThrough\tfalse\tStart with click-through mode on so the lobster doesn't block clicks\nswimEnabled\ttrue\tEnable swimming animation\nLaunch\ncd <skill_dir>/app\nnpx electron .\n\n\nOr use the included helper script (handles first-run npm install automatically):\n\nbash <skill_dir>/scripts/launch.sh\n\nKeyboard Shortcuts\nKey\tAction\nF8\tMove window to next monitor (cycles through all displays)\nF9\tToggle click-through mode\nF12\tToggle DevTools\nOpenClaw Integration\n\nWith OpenClaw and a local XTTS server, set audioMode to \"tts\" and point ttsUrl at your XTTS instance. The lobster polls the envelope endpoint at 45ms intervals during active speech and 500ms when idle — no perceptible CPU cost.\n\nIf you use the OpenClaw TTS proxy (port 8788), point ttsUrl at port 8787 (the XTTS server directly), not the proxy — the envelope endpoint is on the TTS server, not the proxy layer.\n\nLip Sync Notes\n\nIf the mouth movement is ahead of or behind the audio:\n\nMouth moves too early: increase ttsPlayStartOffsetMs (default 1100ms)\nMouth moves too late: decrease ttsPlayStartOffsetMs\n\nThe default is tuned for PowerShell MediaPlayer on Windows. Other playback methods may need adjustment.\n\nMouth Shapes\n\nSix visemes drive natural speech animation:\n\nA — wide open \"ah\"\nB — wide grin \"ee\"\nC — round \"oh\"\nD — small pucker \"oo\"\nE — medium \"eh\"\nF — teeth \"ff\"\n\nPlus X (closed) for silence and pauses. Spring physics and variety enforcement prevent robotic repetition."
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/JoeProAI/pixel-lobster",
    "publisherUrl": "https://clawhub.ai/JoeProAI/pixel-lobster",
    "owner": "JoeProAI",
    "version": "1.2.1",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/pixel-lobster",
    "downloadUrl": "https://openagent3.xyz/downloads/pixel-lobster",
    "agentUrl": "https://openagent3.xyz/skills/pixel-lobster/agent",
    "manifestUrl": "https://openagent3.xyz/skills/pixel-lobster/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/pixel-lobster/agent.md"
  }
}