{
  "schemaVersion": "1.0",
  "item": {
    "slug": "rescueclaw",
    "name": "RescueClaw",
    "source": "tencent",
    "type": "skill",
    "category": "AI 智能",
    "sourceUrl": "https://clawhub.ai/harman314/rescueclaw",
    "canonicalUrl": "https://clawhub.ai/harman314/rescueclaw",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/rescueclaw",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=rescueclaw",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "install.js",
      "package.json",
      "rescueclaw-checkpoint.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/rescueclaw"
    },
    "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/rescueclaw",
    "agentPageUrl": "https://openagent3.xyz/skills/rescueclaw/agent",
    "manifestUrl": "https://openagent3.xyz/skills/rescueclaw/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/rescueclaw/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": "RescueClaw Skill",
        "body": "Provides checkpoint/rollback safety net for risky operations."
      },
      {
        "title": "Before Risky Operations",
        "body": "Before modifying config, installing skills, or updating the gateway, create a checkpoint:\n\nconst rescueclaw = require('./rescueclaw-checkpoint');\nawait rescueclaw.createCheckpoint('About to apply config changes');\n\nRescueClaw will take an immediate backup. If the agent goes unresponsive within the rollback window, it auto-restores."
      },
      {
        "title": "After Successful Operations",
        "body": "Clear the checkpoint:\n\nconst rescueclaw = require('./rescueclaw-checkpoint');\nawait rescueclaw.clearCheckpoint();"
      },
      {
        "title": "Commands",
        "body": "The agent can also invoke RescueClaw CLI directly:\n\nrescueclaw backup — manual snapshot\nrescueclaw status — check health\nrescueclaw list — list backups"
      },
      {
        "title": "Installation",
        "body": "The daemon binary is bundled for supported platforms (linux/arm64). On install, it copies to ~/.local/bin/rescueclaw. For other platforms, download from GitHub Releases.\n\nData is stored in ~/.openclaw/rescueclaw/ (user-local, no sudo required)."
      },
      {
        "title": "createCheckpoint(reason, rollbackWindowSec = 300)",
        "body": "Creates a checkpoint file that RescueClaw monitors. If the agent becomes unresponsive within the rollback window, RescueClaw will immediately restore from the checkpoint backup.\n\nParameters:\n\nreason (string): Description of what operation is about to be performed\nrollbackWindowSec (number, optional): How many seconds to monitor for issues (default: 300)\n\nReturns: Promise<void>"
      },
      {
        "title": "clearCheckpoint()",
        "body": "Removes the checkpoint file, signaling that the risky operation completed successfully.\n\nReturns: Promise<void>"
      },
      {
        "title": "getStatus()",
        "body": "Gets RescueClaw daemon status by invoking the CLI.\n\nReturns: Promise<object> with health status details"
      },
      {
        "title": "Example: Safe Config Update",
        "body": "const fs = require('fs');\nconst rescueclaw = require('./rescueclaw-checkpoint');\n\nasync function updateConfig(newConfig) {\n  // Create safety checkpoint\n  await rescueclaw.createCheckpoint('Updating OpenClaw config', 180);\n  \n  try {\n    // Perform the risky operation\n    fs.writeFileSync('~/.openclaw/openclaw.json', JSON.stringify(newConfig));\n    \n    // Restart gateway\n    await exec('systemctl restart openclaw-gateway');\n    \n    // If we get here, it worked!\n    await rescueclaw.clearCheckpoint();\n    console.log('✅ Config updated successfully');\n  } catch (err) {\n    console.error('❌ Config update failed:', err);\n    // Don't clear checkpoint - let RescueClaw auto-restore\n  }\n}"
      }
    ],
    "body": "RescueClaw Skill\n\nProvides checkpoint/rollback safety net for risky operations.\n\nBefore Risky Operations\n\nBefore modifying config, installing skills, or updating the gateway, create a checkpoint:\n\nconst rescueclaw = require('./rescueclaw-checkpoint');\nawait rescueclaw.createCheckpoint('About to apply config changes');\n\n\nRescueClaw will take an immediate backup. If the agent goes unresponsive within the rollback window, it auto-restores.\n\nAfter Successful Operations\n\nClear the checkpoint:\n\nconst rescueclaw = require('./rescueclaw-checkpoint');\nawait rescueclaw.clearCheckpoint();\n\nCommands\n\nThe agent can also invoke RescueClaw CLI directly:\n\nrescueclaw backup — manual snapshot\nrescueclaw status — check health\nrescueclaw list — list backups\nInstallation\n\nThe daemon binary is bundled for supported platforms (linux/arm64). On install, it copies to ~/.local/bin/rescueclaw. For other platforms, download from GitHub Releases.\n\nData is stored in ~/.openclaw/rescueclaw/ (user-local, no sudo required).\n\nAPI Reference\ncreateCheckpoint(reason, rollbackWindowSec = 300)\n\nCreates a checkpoint file that RescueClaw monitors. If the agent becomes unresponsive within the rollback window, RescueClaw will immediately restore from the checkpoint backup.\n\nParameters:\n\nreason (string): Description of what operation is about to be performed\nrollbackWindowSec (number, optional): How many seconds to monitor for issues (default: 300)\n\nReturns: Promise<void>\n\nclearCheckpoint()\n\nRemoves the checkpoint file, signaling that the risky operation completed successfully.\n\nReturns: Promise<void>\n\ngetStatus()\n\nGets RescueClaw daemon status by invoking the CLI.\n\nReturns: Promise<object> with health status details\n\nExample: Safe Config Update\nconst fs = require('fs');\nconst rescueclaw = require('./rescueclaw-checkpoint');\n\nasync function updateConfig(newConfig) {\n  // Create safety checkpoint\n  await rescueclaw.createCheckpoint('Updating OpenClaw config', 180);\n  \n  try {\n    // Perform the risky operation\n    fs.writeFileSync('~/.openclaw/openclaw.json', JSON.stringify(newConfig));\n    \n    // Restart gateway\n    await exec('systemctl restart openclaw-gateway');\n    \n    // If we get here, it worked!\n    await rescueclaw.clearCheckpoint();\n    console.log('✅ Config updated successfully');\n  } catch (err) {\n    console.error('❌ Config update failed:', err);\n    // Don't clear checkpoint - let RescueClaw auto-restore\n  }\n}"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/harman314/rescueclaw",
    "publisherUrl": "https://clawhub.ai/harman314/rescueclaw",
    "owner": "harman314",
    "version": "0.2.1",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/rescueclaw",
    "downloadUrl": "https://openagent3.xyz/downloads/rescueclaw",
    "agentUrl": "https://openagent3.xyz/skills/rescueclaw/agent",
    "manifestUrl": "https://openagent3.xyz/skills/rescueclaw/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/rescueclaw/agent.md"
  }
}