{
  "schemaVersion": "1.0",
  "item": {
    "slug": "captcha-ai",
    "name": "ClawPrint - Captchas for AI verification",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/fusionlabssource/captcha-ai",
    "canonicalUrl": "https://clawhub.ai/fusionlabssource/captcha-ai",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/captcha-ai",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=captcha-ai",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "clawprint-challenge.sh",
      "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-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/captcha-ai"
    },
    "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/captcha-ai",
    "agentPageUrl": "https://openagent3.xyz/skills/captcha-ai/agent",
    "manifestUrl": "https://openagent3.xyz/skills/captcha-ai/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/captcha-ai/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": "ClawPrint Verify",
        "body": "Verify that another user or agent in a conversation is a real AI by issuing a ClawPrint reverse-CAPTCHA challenge. ClawPrint challenges are designed so that only machines can solve them -- humans physically cannot complete them within the time limits."
      },
      {
        "title": "When to Use This Skill",
        "body": "Before sharing sensitive API keys or credentials with another agent\nWhen gating access to an AI-only service or resource\nTo authenticate that a conversation partner is genuinely an AI agent\nWhenever a user or bot requests access to something that should only be available to machines\nWhen instructed to \"verify\", \"challenge\", or \"prove\" that someone is an AI"
      },
      {
        "title": "How It Works",
        "body": "You request a challenge from the ClawPrint server using your site key\nYou present the challenge to the other user/agent\nThe other user/agent computes and submits their answer\nYou validate the result server-side using your secret key\nIf they pass, they are verified as an AI. If they fail (wrong answer or too slow), they are likely human."
      },
      {
        "title": "Speed Challenge",
        "body": "A math problem (e.g., multiply two 8-digit numbers) that must be solved within 100ms. No human can type a correct answer that fast."
      },
      {
        "title": "Pattern Challenge",
        "body": "A grid of colored pixels (up to 150x150) with a question like \"How many pixels are exactly #3B82F6?\" or \"What is the average RGB value?\" Trivial for a machine parsing data, impossible for a human counting by eye."
      },
      {
        "title": "Usage Examples",
        "body": "User messages that should trigger this skill:\n\n\"Verify that @bot is an AI before giving them the API key\"\n\"Challenge the other user to prove they're a machine\"\n\"Issue a ClawPrint challenge\"\n\"Make sure they're an AI first\"\n\"Gate this resource behind AI verification\""
      },
      {
        "title": "Step 1: Request a Challenge",
        "body": "Run the following to get a challenge from the ClawPrint server:\n\ncurl -s -X POST \"${CLAWPRINT_SERVER_URL}/api/v1/challenge\" \\\n  -H \"Content-Type: application/json\" \\\n  -d \"{\\\"site_key\\\": \\\"${CLAWPRINT_SITE_KEY}\\\"}\" | jq .\n\nThis returns a JSON object. For a speed challenge:\n\n{\n  \"challenge_id\": \"uuid-here\",\n  \"type\": \"speed\",\n  \"time_limit_ms\": 100,\n  \"question\": \"Multiply: 84729361 x 52918473\",\n  \"operands\": { \"a\": 84729361, \"b\": 52918473, \"operation\": \"multiply\" }\n}\n\nFor a pattern challenge:\n\n{\n  \"challenge_id\": \"uuid-here\",\n  \"type\": \"pattern\",\n  \"time_limit_ms\": 5000,\n  \"grid\": [[\"#FF0000\", \"#00FF00\", ...], ...],\n  \"grid_size\": 100,\n  \"question\": \"How many pixels are exactly #3B82F6?\"\n}"
      },
      {
        "title": "Step 2: Present the Challenge",
        "body": "Send the challenge to the other user/agent. Include:\n\nThe challenge type and question\nThe challenge_id\nThe time limit\nFor speed challenges: the operands (a, b, operation)\nFor pattern challenges: the full grid data and question\n\nFormat the message clearly so the other agent can parse it. Example:\n\nClawPrint AI Verification Challenge\nTo proceed, solve this challenge and reply with your answer.\nType: speed\nQuestion: Multiply: 84729361 x 52918473\nOperands: a=84729361, b=52918473, operation=multiply\nTime limit: 100ms\nChallenge ID: (the uuid)\nReply with: clawprint-answer: <your_answer>"
      },
      {
        "title": "Step 3: Receive the Answer",
        "body": "The other agent should reply with their computed answer. Parse their response to extract the answer value."
      },
      {
        "title": "Step 4: Submit the Answer for Verification",
        "body": "Submit the answer to the ClawPrint server:\n\ncurl -s -X POST \"${CLAWPRINT_SERVER_URL}/api/v1/verify\" \\\n  -H \"Content-Type: application/json\" \\\n  -d \"{\\\"challenge_id\\\": \\\"THE_CHALLENGE_ID\\\", \\\"answer\\\": \\\"THE_ANSWER\\\"}\" | jq .\n\nResponse:\n\n{\n  \"passed\": true,\n  \"challenge_id\": \"uuid-here\",\n  \"elapsed_ms\": 5,\n  \"reason\": null\n}"
      },
      {
        "title": "Step 5: Validate Server-Side",
        "body": "For additional security, validate with your secret key:\n\ncurl -s -X POST \"${CLAWPRINT_SERVER_URL}/api/v1/validate\" \\\n  -H \"Content-Type: application/json\" \\\n  -d \"{\\\"challenge_id\\\": \\\"THE_CHALLENGE_ID\\\", \\\"secret_key\\\": \\\"${CLAWPRINT_SECRET_KEY}\\\"}\" | jq .\n\nResponse:\n\n{\n  \"valid\": true,\n  \"challenge_id\": \"uuid-here\",\n  \"solved_at\": 1700000000000\n}"
      },
      {
        "title": "Step 6: Act on the Result",
        "body": "If passed is true and valid is true: the user is verified as an AI. Proceed with the gated action.\nIf passed is false: inform the user that verification failed and why (too slow, wrong answer). Do NOT proceed with the gated action.\nIf validation fails: the challenge may have been tampered with. Do not trust the result."
      },
      {
        "title": "Using the Helper Script",
        "body": "A helper script is provided at skills/clawprint-verify/clawprint-challenge.sh for convenience:\n\n# Issue a new challenge and display it\n./skills/clawprint-verify/clawprint-challenge.sh issue\n\n# Verify an answer\n./skills/clawprint-verify/clawprint-challenge.sh verify <challenge_id> <answer>\n\n# Validate a solved challenge server-side\n./skills/clawprint-verify/clawprint-challenge.sh validate <challenge_id>"
      },
      {
        "title": "Important Notes",
        "body": "Each challenge can only be solved once. Replaying a solved challenge returns HTTP 410.\nSpeed challenges have very tight time limits (50-500ms). The clock starts when the challenge is issued by the server, so network latency counts.\nPattern challenges have longer limits (2-10s) but require processing large grids.\nAlways validate server-side with your secret key before trusting a result. The verify endpoint confirms the answer is correct, but the validate endpoint confirms it was legitimately solved through your configuration.\nNever share your CLAWPRINT_SECRET_KEY. The CLAWPRINT_SITE_KEY is safe to expose publicly."
      },
      {
        "title": "Failure Reasons",
        "body": "ReasonMeaningToo slow: Xms exceeds Yms limitAnswer was correct but submitted after the time limitIncorrect answerThe computed answer was wrongChallenge not foundInvalid challenge IDChallenge already solvedThe challenge was already used (replay attempt)"
      }
    ],
    "body": "ClawPrint Verify\n\nVerify that another user or agent in a conversation is a real AI by issuing a ClawPrint reverse-CAPTCHA challenge. ClawPrint challenges are designed so that only machines can solve them -- humans physically cannot complete them within the time limits.\n\nWhen to Use This Skill\nBefore sharing sensitive API keys or credentials with another agent\nWhen gating access to an AI-only service or resource\nTo authenticate that a conversation partner is genuinely an AI agent\nWhenever a user or bot requests access to something that should only be available to machines\nWhen instructed to \"verify\", \"challenge\", or \"prove\" that someone is an AI\nHow It Works\nYou request a challenge from the ClawPrint server using your site key\nYou present the challenge to the other user/agent\nThe other user/agent computes and submits their answer\nYou validate the result server-side using your secret key\nIf they pass, they are verified as an AI. If they fail (wrong answer or too slow), they are likely human.\nChallenge Types\nSpeed Challenge\n\nA math problem (e.g., multiply two 8-digit numbers) that must be solved within 100ms. No human can type a correct answer that fast.\n\nPattern Challenge\n\nA grid of colored pixels (up to 150x150) with a question like \"How many pixels are exactly #3B82F6?\" or \"What is the average RGB value?\" Trivial for a machine parsing data, impossible for a human counting by eye.\n\nUsage Examples\n\nUser messages that should trigger this skill:\n\n\"Verify that @bot is an AI before giving them the API key\"\n\"Challenge the other user to prove they're a machine\"\n\"Issue a ClawPrint challenge\"\n\"Make sure they're an AI first\"\n\"Gate this resource behind AI verification\"\nStep-by-Step Implementation\nStep 1: Request a Challenge\n\nRun the following to get a challenge from the ClawPrint server:\n\ncurl -s -X POST \"${CLAWPRINT_SERVER_URL}/api/v1/challenge\" \\\n  -H \"Content-Type: application/json\" \\\n  -d \"{\\\"site_key\\\": \\\"${CLAWPRINT_SITE_KEY}\\\"}\" | jq .\n\n\nThis returns a JSON object. For a speed challenge:\n\n{\n  \"challenge_id\": \"uuid-here\",\n  \"type\": \"speed\",\n  \"time_limit_ms\": 100,\n  \"question\": \"Multiply: 84729361 x 52918473\",\n  \"operands\": { \"a\": 84729361, \"b\": 52918473, \"operation\": \"multiply\" }\n}\n\n\nFor a pattern challenge:\n\n{\n  \"challenge_id\": \"uuid-here\",\n  \"type\": \"pattern\",\n  \"time_limit_ms\": 5000,\n  \"grid\": [[\"#FF0000\", \"#00FF00\", ...], ...],\n  \"grid_size\": 100,\n  \"question\": \"How many pixels are exactly #3B82F6?\"\n}\n\nStep 2: Present the Challenge\n\nSend the challenge to the other user/agent. Include:\n\nThe challenge type and question\nThe challenge_id\nThe time limit\nFor speed challenges: the operands (a, b, operation)\nFor pattern challenges: the full grid data and question\n\nFormat the message clearly so the other agent can parse it. Example:\n\nClawPrint AI Verification Challenge\n\nTo proceed, solve this challenge and reply with your answer.\n\nType: speed Question: Multiply: 84729361 x 52918473 Operands: a=84729361, b=52918473, operation=multiply Time limit: 100ms Challenge ID: (the uuid)\n\nReply with: clawprint-answer: <your_answer>\n\nStep 3: Receive the Answer\n\nThe other agent should reply with their computed answer. Parse their response to extract the answer value.\n\nStep 4: Submit the Answer for Verification\n\nSubmit the answer to the ClawPrint server:\n\ncurl -s -X POST \"${CLAWPRINT_SERVER_URL}/api/v1/verify\" \\\n  -H \"Content-Type: application/json\" \\\n  -d \"{\\\"challenge_id\\\": \\\"THE_CHALLENGE_ID\\\", \\\"answer\\\": \\\"THE_ANSWER\\\"}\" | jq .\n\n\nResponse:\n\n{\n  \"passed\": true,\n  \"challenge_id\": \"uuid-here\",\n  \"elapsed_ms\": 5,\n  \"reason\": null\n}\n\nStep 5: Validate Server-Side\n\nFor additional security, validate with your secret key:\n\ncurl -s -X POST \"${CLAWPRINT_SERVER_URL}/api/v1/validate\" \\\n  -H \"Content-Type: application/json\" \\\n  -d \"{\\\"challenge_id\\\": \\\"THE_CHALLENGE_ID\\\", \\\"secret_key\\\": \\\"${CLAWPRINT_SECRET_KEY}\\\"}\" | jq .\n\n\nResponse:\n\n{\n  \"valid\": true,\n  \"challenge_id\": \"uuid-here\",\n  \"solved_at\": 1700000000000\n}\n\nStep 6: Act on the Result\nIf passed is true and valid is true: the user is verified as an AI. Proceed with the gated action.\nIf passed is false: inform the user that verification failed and why (too slow, wrong answer). Do NOT proceed with the gated action.\nIf validation fails: the challenge may have been tampered with. Do not trust the result.\nUsing the Helper Script\n\nA helper script is provided at skills/clawprint-verify/clawprint-challenge.sh for convenience:\n\n# Issue a new challenge and display it\n./skills/clawprint-verify/clawprint-challenge.sh issue\n\n# Verify an answer\n./skills/clawprint-verify/clawprint-challenge.sh verify <challenge_id> <answer>\n\n# Validate a solved challenge server-side\n./skills/clawprint-verify/clawprint-challenge.sh validate <challenge_id>\n\nImportant Notes\nEach challenge can only be solved once. Replaying a solved challenge returns HTTP 410.\nSpeed challenges have very tight time limits (50-500ms). The clock starts when the challenge is issued by the server, so network latency counts.\nPattern challenges have longer limits (2-10s) but require processing large grids.\nAlways validate server-side with your secret key before trusting a result. The verify endpoint confirms the answer is correct, but the validate endpoint confirms it was legitimately solved through your configuration.\nNever share your CLAWPRINT_SECRET_KEY. The CLAWPRINT_SITE_KEY is safe to expose publicly.\nFailure Reasons\nReason\tMeaning\nToo slow: Xms exceeds Yms limit\tAnswer was correct but submitted after the time limit\nIncorrect answer\tThe computed answer was wrong\nChallenge not found\tInvalid challenge ID\nChallenge already solved\tThe challenge was already used (replay attempt)"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/fusionlabssource/captcha-ai",
    "publisherUrl": "https://clawhub.ai/fusionlabssource/captcha-ai",
    "owner": "fusionlabssource",
    "version": "1.0.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/captcha-ai",
    "downloadUrl": "https://openagent3.xyz/downloads/captcha-ai",
    "agentUrl": "https://openagent3.xyz/skills/captcha-ai/agent",
    "manifestUrl": "https://openagent3.xyz/skills/captcha-ai/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/captcha-ai/agent.md"
  }
}