{
  "schemaVersion": "1.0",
  "item": {
    "slug": "riddle",
    "name": "Riddle",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/davisdiehl/riddle",
    "canonicalUrl": "https://clawhub.ai/davisdiehl/riddle",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/riddle",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=riddle",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md"
    ],
    "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-05-07T17:22:31.273Z",
      "expiresAt": "2026-05-14T17:22:31.273Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
        "contentDisposition": "attachment; filename=\"afrexai-annual-report-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/riddle"
    },
    "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/riddle",
    "agentPageUrl": "https://openagent3.xyz/skills/riddle/agent",
    "manifestUrl": "https://openagent3.xyz/skills/riddle/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/riddle/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": "Riddle — Hosted Browser for AI Agents",
        "body": "Riddle gives your agent a browser without running Chrome locally. One API call: navigate, click, fill forms, take screenshots, capture network traffic. All execution happens on Riddle's servers — your agent stays lean.\n\nQuick Start: Sign up at riddledc.com/register and get 5 minutes of free browser time — no credit card needed. After that, pricing is $0.50/hour, billed per second. A single screenshot costs roughly $0.004."
      },
      {
        "title": "Why Use This Instead of Local Chrome",
        "body": "No Chromium binary — saves ~1.2 GB RAM and avoids the Lambda/container size headaches\nNo dependency hell — no @sparticuz/chromium, no Puppeteer version conflicts, no ENOENT / spawn failures\nFull Playwright — not just screenshots. Run real Playwright scripts, multi-step workflows, form fills, authenticated sessions\nWorks everywhere — Lambda, containers, T3 Micro instances, anywhere your agent runs"
      },
      {
        "title": "Install",
        "body": "Step 1: Sign up — Create a free account at riddledc.com/register. No credit card required. You get 5 minutes of browser time free.\n\nStep 2: Get your API key — After signing up, grab your API key from the dashboard.\n\nStep 3: Install and configure the plugin:\n\n# Install the plugin\nopenclaw plugins install @riddledc/openclaw-riddledc\n\n# Allow the tools\nopenclaw config set tools.alsoAllow --json '[\"openclaw-riddledc\"]'\n\n# Set your API key\nopenclaw config set plugins.entries.openclaw-riddledc.config.apiKey \"YOUR_RIDDLE_API_KEY\"\n\nOne gotcha: OpenClaw requires plugins in the plugins.allow list. The CLI doesn't have an append flag, so check your current list and add openclaw-riddledc:\n\n# See what you have\nopenclaw config get plugins.allow\n\n# Add openclaw-riddledc to the array (or edit ~/.openclaw/openclaw.json directly)\njq '.plugins.allow += [\"openclaw-riddledc\"]' ~/.openclaw/openclaw.json > tmp && mv tmp ~/.openclaw/openclaw.json\n\n# Restart\nopenclaw gateway restart"
      },
      {
        "title": "Tools",
        "body": "After install, you have five tools:\n\nriddle_screenshot — Screenshot a URL. Simplest use case.\n\nTake a screenshot of https://example.com\n\nriddle_screenshots — Batch screenshots of multiple URLs in one job.\n\nScreenshot these three pages: https://example.com, https://example.com/about, https://example.com/pricing\n\nriddle_steps — Run a step-by-step workflow (goto, click, fill, screenshot at each step).\n\nGo to https://example.com/login, fill the email field with \"test@example.com\", fill the password field, click the submit button, then screenshot the result.\n\nriddle_script — Run full Playwright code for complex automation.\n\nRun a Playwright script that navigates to https://example.com, waits for the dashboard to load, extracts all table rows, and screenshots the page.\n\nriddle_run — Low-level API pass-through for custom payloads.\n\nAll tools return screenshots saved to ~/.openclaw/workspace/riddle/screenshots/ (not inline base64) with file paths in the response. Add include: [\"har\"] to also capture full network traffic."
      },
      {
        "title": "Authenticated Sessions",
        "body": "Need to interact with a page behind login? Pass cookies, localStorage, or custom headers:\n\nScreenshot https://app.example.com/dashboard with these cookies: [session=abc123]\n\nThe plugin supports cookies, localStorage entries, and custom HTTP headers as auth parameters."
      },
      {
        "title": "Trust & Security",
        "body": "This plugin was built with the concerns raised by the Moltbook agent community in mind — specifically the discussion around skill provenance, capability manifests, and runtime boundaries.\n\nWhat this plugin declares (capability manifest in openclaw.plugin.json):\n\nNetwork: Only talks to api.riddledc.com — hardcoded allowlist enforced at runtime, not just config time\nFilesystem: Only writes to ~/.openclaw/workspace/riddle/\nAgent context: Zero access to conversation history, other tools' outputs, or user profile\nSecrets: Only requires RIDDLE_API_KEY, which is only sent to the declared endpoint\n\nWhat this means in practice:\n\nEven if the config is manipulated, your API key cannot be sent to any non-Riddle domain (hardcoded check runs on every request)\nThe plugin cannot read your conversations, memory, or other plugins' data\nScreenshots are saved as file references, not inline base64 — prevents context overflow and accidental data leakage in logs\n\nVerify it yourself:\n\nSource: github.com/riddledc/integrations\nnpm provenance: npm audit signatures @riddledc/openclaw-riddledc\nChecksums: CHECKSUMS.txt in the package\nFull threat model: SECURITY.md in the package\n\nThis is a plugin (auditable code), not a skill (prompt text). You can read every line before installing."
      },
      {
        "title": "Pricing",
        "body": "Riddle uses transparent per-execution pricing. A simple screenshot costs fractions of a cent. See riddledc.com for current pricing."
      },
      {
        "title": "Get Help",
        "body": "Docs: riddledc.com\nSecurity issues: security@riddledc.com\nPlugin source: github.com/riddledc/integrations"
      },
      {
        "title": "Links",
        "body": "Website: riddledc.com\nDocs: riddledc.com/docs\nPricing: riddledc.com/pricing\nDashboard: riddledc.com/dashboard"
      }
    ],
    "body": "Riddle — Hosted Browser for AI Agents\n\nRiddle gives your agent a browser without running Chrome locally. One API call: navigate, click, fill forms, take screenshots, capture network traffic. All execution happens on Riddle's servers — your agent stays lean.\n\nQuick Start: Sign up at riddledc.com/register and get 5 minutes of free browser time — no credit card needed. After that, pricing is $0.50/hour, billed per second. A single screenshot costs roughly $0.004.\n\nWhy Use This Instead of Local Chrome\nNo Chromium binary — saves ~1.2 GB RAM and avoids the Lambda/container size headaches\nNo dependency hell — no @sparticuz/chromium, no Puppeteer version conflicts, no ENOENT / spawn failures\nFull Playwright — not just screenshots. Run real Playwright scripts, multi-step workflows, form fills, authenticated sessions\nWorks everywhere — Lambda, containers, T3 Micro instances, anywhere your agent runs\nInstall\n\nStep 1: Sign up — Create a free account at riddledc.com/register. No credit card required. You get 5 minutes of browser time free.\n\nStep 2: Get your API key — After signing up, grab your API key from the dashboard.\n\nStep 3: Install and configure the plugin:\n\n# Install the plugin\nopenclaw plugins install @riddledc/openclaw-riddledc\n\n# Allow the tools\nopenclaw config set tools.alsoAllow --json '[\"openclaw-riddledc\"]'\n\n# Set your API key\nopenclaw config set plugins.entries.openclaw-riddledc.config.apiKey \"YOUR_RIDDLE_API_KEY\"\n\n\nOne gotcha: OpenClaw requires plugins in the plugins.allow list. The CLI doesn't have an append flag, so check your current list and add openclaw-riddledc:\n\n# See what you have\nopenclaw config get plugins.allow\n\n# Add openclaw-riddledc to the array (or edit ~/.openclaw/openclaw.json directly)\njq '.plugins.allow += [\"openclaw-riddledc\"]' ~/.openclaw/openclaw.json > tmp && mv tmp ~/.openclaw/openclaw.json\n\n# Restart\nopenclaw gateway restart\n\nTools\n\nAfter install, you have five tools:\n\nriddle_screenshot — Screenshot a URL. Simplest use case.\n\nTake a screenshot of https://example.com\n\n\nriddle_screenshots — Batch screenshots of multiple URLs in one job.\n\nScreenshot these three pages: https://example.com, https://example.com/about, https://example.com/pricing\n\n\nriddle_steps — Run a step-by-step workflow (goto, click, fill, screenshot at each step).\n\nGo to https://example.com/login, fill the email field with \"test@example.com\", fill the password field, click the submit button, then screenshot the result.\n\n\nriddle_script — Run full Playwright code for complex automation.\n\nRun a Playwright script that navigates to https://example.com, waits for the dashboard to load, extracts all table rows, and screenshots the page.\n\n\nriddle_run — Low-level API pass-through for custom payloads.\n\nAll tools return screenshots saved to ~/.openclaw/workspace/riddle/screenshots/ (not inline base64) with file paths in the response. Add include: [\"har\"] to also capture full network traffic.\n\nAuthenticated Sessions\n\nNeed to interact with a page behind login? Pass cookies, localStorage, or custom headers:\n\nScreenshot https://app.example.com/dashboard with these cookies: [session=abc123]\n\n\nThe plugin supports cookies, localStorage entries, and custom HTTP headers as auth parameters.\n\nTrust & Security\n\nThis plugin was built with the concerns raised by the Moltbook agent community in mind — specifically the discussion around skill provenance, capability manifests, and runtime boundaries.\n\nWhat this plugin declares (capability manifest in openclaw.plugin.json):\n\nNetwork: Only talks to api.riddledc.com — hardcoded allowlist enforced at runtime, not just config time\nFilesystem: Only writes to ~/.openclaw/workspace/riddle/\nAgent context: Zero access to conversation history, other tools' outputs, or user profile\nSecrets: Only requires RIDDLE_API_KEY, which is only sent to the declared endpoint\n\nWhat this means in practice:\n\nEven if the config is manipulated, your API key cannot be sent to any non-Riddle domain (hardcoded check runs on every request)\nThe plugin cannot read your conversations, memory, or other plugins' data\nScreenshots are saved as file references, not inline base64 — prevents context overflow and accidental data leakage in logs\n\nVerify it yourself:\n\nSource: github.com/riddledc/integrations\nnpm provenance: npm audit signatures @riddledc/openclaw-riddledc\nChecksums: CHECKSUMS.txt in the package\nFull threat model: SECURITY.md in the package\n\nThis is a plugin (auditable code), not a skill (prompt text). You can read every line before installing.\n\nPricing\n\nRiddle uses transparent per-execution pricing. A simple screenshot costs fractions of a cent. See riddledc.com for current pricing.\n\nGet Help\nDocs: riddledc.com\nSecurity issues: security@riddledc.com\nPlugin source: github.com/riddledc/integrations\nLinks\nWebsite: riddledc.com\nDocs: riddledc.com/docs\nPricing: riddledc.com/pricing\nDashboard: riddledc.com/dashboard"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/davisdiehl/riddle",
    "publisherUrl": "https://clawhub.ai/davisdiehl/riddle",
    "owner": "davisdiehl",
    "version": "1.1.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/riddle",
    "downloadUrl": "https://openagent3.xyz/downloads/riddle",
    "agentUrl": "https://openagent3.xyz/skills/riddle/agent",
    "manifestUrl": "https://openagent3.xyz/skills/riddle/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/riddle/agent.md"
  }
}