{
  "schemaVersion": "1.0",
  "item": {
    "slug": "jd-price-protect",
    "name": "JD Price Protection 京东自动价保",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/Danielwangyy/jd-price-protect",
    "canonicalUrl": "https://clawhub.ai/Danielwangyy/jd-price-protect",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/jd-price-protect",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=jd-price-protect",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "scripts/price-protect.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/jd-price-protect"
    },
    "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/jd-price-protect",
    "agentPageUrl": "https://openagent3.xyz/skills/jd-price-protect/agent",
    "manifestUrl": "https://openagent3.xyz/skills/jd-price-protect/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/jd-price-protect/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": "JD Price Protection",
        "body": "Auto-apply price protection (价格保护) on all eligible JD.com orders via Chrome Browser Relay."
      },
      {
        "title": "Prerequisites",
        "body": "Chrome with OpenClaw Browser Relay extension installed and connected (badge ON)\nUser must be logged into JD.com in Chrome\nOpenClaw gateway running"
      },
      {
        "title": "Usage",
        "body": "Run the script:\n\nnode <skill-dir>/scripts/price-protect.js\n\nThe script will:\n\nConnect to Chrome via OpenClaw's CDP relay (auto-derives relay token from gateway config)\nNavigate to https://pcsitepp-fm.jd.com/ if needed\nClick every \"申请价保\" button on the page\nReload and collect results (successes with refund amounts, failures with reasons)\nOutput JSON results"
      },
      {
        "title": "Interpreting Results",
        "body": "{\n  \"total\": 11,\n  \"clicked\": 11,\n  \"success\": [{\"name\": \"ANKER 140W充电线...\", \"amount\": \"6.00\"}],\n  \"failed\": [{\"name\": \"KAMAN收纳盒...\", \"reason\": \"无差价\"}]\n}\n\nOnly notify user if success array is non-empty (refunds obtained)\nIf all items show \"无差价\", update state silently"
      },
      {
        "title": "Scheduled Usage",
        "body": "Set up a cron job to run every ~8 hours. Example agent prompt:\n\nRun node <skill-dir>/scripts/price-protect.js. If Chrome relay is disconnected (error), skip silently. If refunds found, notify user. Otherwise update checkedAt silently."
      },
      {
        "title": "Troubleshooting",
        "body": "\"No browser page available\": Chrome relay disconnected. User must click Browser Relay toolbar icon.\n\"No gateway token found\": Set GATEWAY_TOKEN env var or ensure ~/.openclaw/openclaw.json has gateway.auth.token.\nTimeout on clicks: A popup may be blocking. Script presses Escape after each click to dismiss."
      },
      {
        "title": "How It Works",
        "body": "Derives the relay auth token via HMAC-SHA256(gatewayToken, \"openclaw-extension-relay-v1:<port>\"), connects Playwright to Chrome's CDP websocket, then uses getByText('申请价保', {exact: true}).click() to trigger each button."
      }
    ],
    "body": "JD Price Protection\n\nAuto-apply price protection (价格保护) on all eligible JD.com orders via Chrome Browser Relay.\n\nPrerequisites\nChrome with OpenClaw Browser Relay extension installed and connected (badge ON)\nUser must be logged into JD.com in Chrome\nOpenClaw gateway running\nUsage\n\nRun the script:\n\nnode <skill-dir>/scripts/price-protect.js\n\n\nThe script will:\n\nConnect to Chrome via OpenClaw's CDP relay (auto-derives relay token from gateway config)\nNavigate to https://pcsitepp-fm.jd.com/ if needed\nClick every \"申请价保\" button on the page\nReload and collect results (successes with refund amounts, failures with reasons)\nOutput JSON results\nInterpreting Results\n{\n  \"total\": 11,\n  \"clicked\": 11,\n  \"success\": [{\"name\": \"ANKER 140W充电线...\", \"amount\": \"6.00\"}],\n  \"failed\": [{\"name\": \"KAMAN收纳盒...\", \"reason\": \"无差价\"}]\n}\n\nOnly notify user if success array is non-empty (refunds obtained)\nIf all items show \"无差价\", update state silently\nScheduled Usage\n\nSet up a cron job to run every ~8 hours. Example agent prompt:\n\nRun node <skill-dir>/scripts/price-protect.js. If Chrome relay is disconnected (error), skip silently. If refunds found, notify user. Otherwise update checkedAt silently.\n\nTroubleshooting\n\"No browser page available\": Chrome relay disconnected. User must click Browser Relay toolbar icon.\n\"No gateway token found\": Set GATEWAY_TOKEN env var or ensure ~/.openclaw/openclaw.json has gateway.auth.token.\nTimeout on clicks: A popup may be blocking. Script presses Escape after each click to dismiss.\nHow It Works\n\nDerives the relay auth token via HMAC-SHA256(gatewayToken, \"openclaw-extension-relay-v1:<port>\"), connects Playwright to Chrome's CDP websocket, then uses getByText('申请价保', {exact: true}).click() to trigger each button."
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/Danielwangyy/jd-price-protect",
    "publisherUrl": "https://clawhub.ai/Danielwangyy/jd-price-protect",
    "owner": "Danielwangyy",
    "version": "1.0.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/jd-price-protect",
    "downloadUrl": "https://openagent3.xyz/downloads/jd-price-protect",
    "agentUrl": "https://openagent3.xyz/skills/jd-price-protect/agent",
    "manifestUrl": "https://openagent3.xyz/skills/jd-price-protect/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/jd-price-protect/agent.md"
  }
}