{
  "schemaVersion": "1.0",
  "item": {
    "slug": "openclaw-gateway-watchdog-skill",
    "name": "Gateway Watchdog Discord",
    "source": "tencent",
    "type": "skill",
    "category": "通讯协作",
    "sourceUrl": "https://clawhub.ai/JonathanJing/openclaw-gateway-watchdog-skill",
    "canonicalUrl": "https://clawhub.ai/JonathanJing/openclaw-gateway-watchdog-skill",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/openclaw-gateway-watchdog-skill",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=openclaw-gateway-watchdog-skill",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "CHANGELOG.md",
      "README.md",
      "SKILL.md",
      "references/cron-agent-turn.md",
      "scripts/gateway-watchdog.sh",
      "scripts/install-launchd.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. Then review README.md for any prerequisites, environment setup, or post-install checks. 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. Then review README.md for any prerequisites, environment setup, or post-install checks. 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/openclaw-gateway-watchdog-skill"
    },
    "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/openclaw-gateway-watchdog-skill",
    "agentPageUrl": "https://openagent3.xyz/skills/openclaw-gateway-watchdog-skill/agent",
    "manifestUrl": "https://openagent3.xyz/skills/openclaw-gateway-watchdog-skill/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/openclaw-gateway-watchdog-skill/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. Then review README.md for any prerequisites, environment setup, or post-install checks. 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. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Gateway Watchdog (Discord)",
        "body": "Discord-first watchdog for OpenClaw gateway incidents."
      },
      {
        "title": "1. Ask OpenClaw (Recommended)",
        "body": "Tell OpenClaw: \"Install the gateway-watchdog skill.\" The agent will handle the installation and configuration automatically."
      },
      {
        "title": "2. Manual Installation (CLI)",
        "body": "If you prefer the terminal, run:\n\nclawhub install gateway-watchdog"
      },
      {
        "title": "Isolation model",
        "body": "Watchdog data is isolated under ~/.openclaw/watchdogs/gateway-discord/.\nNo edits to openclaw.json are required.\nDefault mode is read-only monitoring (GW_WATCHDOG_ENABLE_RESTART=0).\nAutomatic restart is opt-in and bounded by max attempts."
      },
      {
        "title": "Files in this skill",
        "body": "scripts/gateway-watchdog.sh - health checks + state machine + Discord notification.\nscripts/install-launchd.sh - installs a user LaunchAgent from template.\nreferences/com.openclaw.gateway-watchdog.plist.template - launchd template.\nreferences/cron-agent-turn.md - isolated cron prompt template."
      },
      {
        "title": "Health checks",
        "body": "The watchdog checks:\n\nopenclaw gateway status --json\nopenclaw health --json --timeout <ms>\n\nPass criteria:\n\ngateway runtime is running\nRPC probe is healthy (when present)\nhealth snapshot returns successfully\n\nFailure classes:\n\nruntime_stopped\nrpc_probe_failed\nhealth_unreachable\nauth_mismatch\nconfig_invalid"
      },
      {
        "title": "Quick start (manual run)",
        "body": "bash \"{baseDir}/scripts/gateway-watchdog.sh\"\n\nOptional env:\n\nexport DISCORD_WEBHOOK_URL=\"https://discord.com/api/webhooks/...\"\nexport DISCORD_BOT_TOKEN=\"discord_bot_token\"\nexport DISCORD_CHANNEL_ID=\"<your_discord_channel_id>\"\nexport GW_WATCHDOG_SOURCE=\"manual\"\nexport GW_WATCHDOG_FAIL_THRESHOLD=2\nexport GW_WATCHDOG_COOLDOWN_SECONDS=300\n\nDelivery priority:\n\nDISCORD_WEBHOOK_URL\nDISCORD_BOT_TOKEN + DISCORD_CHANNEL_ID"
      },
      {
        "title": "macOS background mode (LaunchAgent)",
        "body": "Install LaunchAgent (does not edit OpenClaw core config):\n\nbash \"{baseDir}/scripts/install-launchd.sh\" --interval 30 --load\n\nCheck status:\n\nlaunchctl list | rg \"com.openclaw.gateway-watchdog\""
      },
      {
        "title": "OpenClaw cron mode (internal path)",
        "body": "Use isolated job and keep messaging in one channel:\n\nopenclaw cron add \\\n  --name \"gateway-watchdog-internal\" \\\n  --cron \"*/1 * * * *\" \\\n  --session isolated \\\n  --message \"Run bash {baseDir}/scripts/gateway-watchdog.sh and report state changes only.\" \\\n  --announce \\\n  --channel discord \\\n  --to \"channel:<your_channel_id>\" \\\n  --best-effort-deliver"
      },
      {
        "title": "Auto-recovery policy (opt-in)",
        "body": "Enable bounded restart:\n\nexport GW_WATCHDOG_ENABLE_RESTART=1\nexport GW_WATCHDOG_MAX_RESTART_ATTEMPTS=2\n\nSafety constraints:\n\nrestart only after failure threshold is met\nmax attempts enforced per incident window\nno reinstall or destructive mutation"
      },
      {
        "title": "Backup and audit artifacts",
        "body": "state file: ~/.openclaw/watchdogs/gateway-discord/state.json\nstate backups: ~/.openclaw/watchdogs/gateway-discord/backups/state-*.json\nevent log: ~/.openclaw/watchdogs/gateway-discord/events.jsonl\n\nThe script rotates old backups and keeps recent history for rollback/debugging."
      }
    ],
    "body": "Gateway Watchdog (Discord)\n\nDiscord-first watchdog for OpenClaw gateway incidents.\n\n🛠️ Installation\n1. Ask OpenClaw (Recommended)\n\nTell OpenClaw: \"Install the gateway-watchdog skill.\" The agent will handle the installation and configuration automatically.\n\n2. Manual Installation (CLI)\n\nIf you prefer the terminal, run:\n\nclawhub install gateway-watchdog\n\nIsolation model\nWatchdog data is isolated under ~/.openclaw/watchdogs/gateway-discord/.\nNo edits to openclaw.json are required.\nDefault mode is read-only monitoring (GW_WATCHDOG_ENABLE_RESTART=0).\nAutomatic restart is opt-in and bounded by max attempts.\nFiles in this skill\nscripts/gateway-watchdog.sh - health checks + state machine + Discord notification.\nscripts/install-launchd.sh - installs a user LaunchAgent from template.\nreferences/com.openclaw.gateway-watchdog.plist.template - launchd template.\nreferences/cron-agent-turn.md - isolated cron prompt template.\nHealth checks\n\nThe watchdog checks:\n\nopenclaw gateway status --json\nopenclaw health --json --timeout <ms>\n\n\nPass criteria:\n\ngateway runtime is running\nRPC probe is healthy (when present)\nhealth snapshot returns successfully\n\nFailure classes:\n\nruntime_stopped\nrpc_probe_failed\nhealth_unreachable\nauth_mismatch\nconfig_invalid\nQuick start (manual run)\nbash \"{baseDir}/scripts/gateway-watchdog.sh\"\n\n\nOptional env:\n\nexport DISCORD_WEBHOOK_URL=\"https://discord.com/api/webhooks/...\"\nexport DISCORD_BOT_TOKEN=\"discord_bot_token\"\nexport DISCORD_CHANNEL_ID=\"<your_discord_channel_id>\"\nexport GW_WATCHDOG_SOURCE=\"manual\"\nexport GW_WATCHDOG_FAIL_THRESHOLD=2\nexport GW_WATCHDOG_COOLDOWN_SECONDS=300\n\n\nDelivery priority:\n\nDISCORD_WEBHOOK_URL\nDISCORD_BOT_TOKEN + DISCORD_CHANNEL_ID\nmacOS background mode (LaunchAgent)\n\nInstall LaunchAgent (does not edit OpenClaw core config):\n\nbash \"{baseDir}/scripts/install-launchd.sh\" --interval 30 --load\n\n\nCheck status:\n\nlaunchctl list | rg \"com.openclaw.gateway-watchdog\"\n\nOpenClaw cron mode (internal path)\n\nUse isolated job and keep messaging in one channel:\n\nopenclaw cron add \\\n  --name \"gateway-watchdog-internal\" \\\n  --cron \"*/1 * * * *\" \\\n  --session isolated \\\n  --message \"Run bash {baseDir}/scripts/gateway-watchdog.sh and report state changes only.\" \\\n  --announce \\\n  --channel discord \\\n  --to \"channel:<your_channel_id>\" \\\n  --best-effort-deliver\n\nAuto-recovery policy (opt-in)\n\nEnable bounded restart:\n\nexport GW_WATCHDOG_ENABLE_RESTART=1\nexport GW_WATCHDOG_MAX_RESTART_ATTEMPTS=2\n\n\nSafety constraints:\n\nrestart only after failure threshold is met\nmax attempts enforced per incident window\nno reinstall or destructive mutation\nBackup and audit artifacts\nstate file: ~/.openclaw/watchdogs/gateway-discord/state.json\nstate backups: ~/.openclaw/watchdogs/gateway-discord/backups/state-*.json\nevent log: ~/.openclaw/watchdogs/gateway-discord/events.jsonl\n\nThe script rotates old backups and keeps recent history for rollback/debugging."
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/JonathanJing/openclaw-gateway-watchdog-skill",
    "publisherUrl": "https://clawhub.ai/JonathanJing/openclaw-gateway-watchdog-skill",
    "owner": "JonathanJing",
    "version": "1.0.2",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/openclaw-gateway-watchdog-skill",
    "downloadUrl": "https://openagent3.xyz/downloads/openclaw-gateway-watchdog-skill",
    "agentUrl": "https://openagent3.xyz/skills/openclaw-gateway-watchdog-skill/agent",
    "manifestUrl": "https://openagent3.xyz/skills/openclaw-gateway-watchdog-skill/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/openclaw-gateway-watchdog-skill/agent.md"
  }
}