{
  "schemaVersion": "1.0",
  "item": {
    "slug": "browser-ability",
    "name": "Enable AI Agent to retrive data from websites that need user signin",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/faisalive/browser-ability",
    "canonicalUrl": "https://clawhub.ai/faisalive/browser-ability",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/browser-ability",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=browser-ability",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "package-lock.json",
      "package.json",
      "script.js",
      "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",
      "slug": "browser-ability",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-02T22:02:22.271Z",
      "expiresAt": "2026-05-09T22:02:22.271Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=browser-ability",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=browser-ability",
        "contentDisposition": "attachment; filename=\"browser-ability-1.0.1.zip\"",
        "redirectLocation": null,
        "bodySnippet": null,
        "slug": "browser-ability"
      },
      "scope": "item",
      "summary": "Item download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this item.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/browser-ability"
    },
    "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/browser-ability",
    "agentPageUrl": "https://openagent3.xyz/skills/browser-ability/agent",
    "manifestUrl": "https://openagent3.xyz/skills/browser-ability/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/browser-ability/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": "Browser Ability Skill",
        "body": "This skill enables an AI Agent to signin and retrieve data from websites via JS script (limited tools, if there's no tools for what user want, just direcly use browser via CDP connection), including sources that require manual user authentication. When authentication is required, the script provides a sign-in URL and a signin_id. The agent must hand off the sign-in process to the user, wait for confirmation, and then resume the data request using the provided signin_id. The skill enforces secure access through API key authentication and supports human-in-the-loop workflows for sensitive or protected data sources."
      },
      {
        "title": "Setup",
        "body": "# Navigate to skill directory\ncd skills/browser-ability\n\n# Install dependencies\nnpm install\n\n# Set CDP URL\n# This CDP URL are the same with your browser CDP URL\nexport CDP_URL=\"http://[ipv6]:port\""
      },
      {
        "title": "List Available Tools",
        "body": "npm run list"
      },
      {
        "title": "Call a Tool",
        "body": "npm run call -- TOOL_NAME --args='{\"foo\":\"bar\"}'"
      },
      {
        "title": "Call a Tool After Sign-In",
        "body": "npm run call -- TOOL_NAME --args='{\"foo\":\"bar\"}' --signinId=YOUR_SIGNIN_ID"
      },
      {
        "title": "Manual Sign-In Flow",
        "body": "Some Tool calls require the user to manually sign in to a website (e.g. e-commerce, banking, or account-based platforms).\n\nThe agent must not automate browser-based sign-in."
      },
      {
        "title": "1. Initial API Call",
        "body": "The agent calls the target tool normally.\n\nExample:\n\nnpm run call -- amazon_get_purchase_history"
      },
      {
        "title": "2. Sign-In Required Response",
        "body": "If sign-in is required, the script responds with a sign-in URL and a signin_id.\n\nExample Response:\n\n{\n  \"content\": [\n    {\n      \"type\": \"text\",\n      \"text\": \"{\\\"url\\\":\\\"https://signinurl\\\",\\\"message\\\":\\\"Continue to sign in in your browser at https://signinurl.\\\",\\\"signin_id\\\":\\\"YOUR_SIGNIN_ID\\\",\\\"system_message\\\":\\\"Try open the url https://signinurl in a browser with a tool if available.Give the url to the user so the user can open it manually in their browser.Then call check_signin tool with the signin_id to check if the sign in process is completed. Once it is completed successfully, then call this tool again to proceed with the action.\\\"}\"\n    }\n  ],\n  \"structuredContent\": {\n    \"url\": \"https://signinurl\",\n    \"message\": \"Continue to sign in in your browser at https://signinurl.\",\n    \"signin_id\": \"YOUR_SIGNIN_ID\",\n    \"system_message\": \"Try open the url https://signinurl in a browser with a tool if available.Give the url to the user so the user can open it manually in their browser.Then call check_signin tool with the signin_id to check if the sign in process is completed. Once it is completed successfully, then call this tool again to proceed with the action.\"\n  },\n  \"isError\": false\n}"
      },
      {
        "title": "3. Agent Action (When Sign-In Is Required)",
        "body": "When a response contains url and signin_id, the agent must:\n\nInform the user that manual sign-in is required\nProvide the sign-in URL to the user\nPause the automated process\nWait for the user to confirm sign-in completion"
      },
      {
        "title": "4. User Action",
        "body": "The user:\n\nOpens the provided URL in their browser\nCompletes the sign-in process manually\nNotifies the agent once sign-in is complete"
      },
      {
        "title": "5. Resume Tool Call",
        "body": "After user confirmation, the agent re-calls the same Tool, passing the signin_id as a query parameter.\n\nExample:\n\nnpm run call -- amazon_get_purchase_history --signinId=YOUR_SIGNIN_ID"
      },
      {
        "title": "6. Final Result",
        "body": "If authentication is successful, the script returns the requested data (e.g. purchase history)."
      },
      {
        "title": "Agent Behavior Constraints",
        "body": "Do not open sign-in URLs automatically\nDo not attempt to automate website login\nAlways wait for explicit user confirmation before continuing\nReuse the same tool endpoint after sign-in\nIf there's no tool available, just directly open browser and browse yourself via CDP"
      },
      {
        "title": "Example Use Case",
        "body": "Goal: Retrieve Amazon purchase history\n\nCall amazon_get_purchase_history\nReceive sign-in URL and signin_id\nAsk the user to open the URL and sign in\nWait for confirmation\nRe-call the API with signinId\nReceive purchase history data\n\nGoal: Open Amazon Change Password Page\n\nTry open browser via CDP, open amazon change password page\nCannot open that page because require sign in\nCall amazon_signin\nReceive sign-in URL and signin_id\nAsk the user to open the URL and sign in\nWait for confirmation\nTry open browser via CDP again\nSuccess open change password page"
      },
      {
        "title": "Summary",
        "body": "This skill enables secure website signin by:\n\nDelegating sensitive authentication steps to the user\nResuming automated workflows after authentication\nEnforcing consistent security practices"
      }
    ],
    "body": "Browser Ability Skill\n\nThis skill enables an AI Agent to signin and retrieve data from websites via JS script (limited tools, if there's no tools for what user want, just direcly use browser via CDP connection), including sources that require manual user authentication. When authentication is required, the script provides a sign-in URL and a signin_id. The agent must hand off the sign-in process to the user, wait for confirmation, and then resume the data request using the provided signin_id. The skill enforces secure access through API key authentication and supports human-in-the-loop workflows for sensitive or protected data sources.\n\nSetup\n# Navigate to skill directory\ncd skills/browser-ability\n\n# Install dependencies\nnpm install\n\n# Set CDP URL\n# This CDP URL are the same with your browser CDP URL\nexport CDP_URL=\"http://[ipv6]:port\"\n\nAvailable Method\nList Available Tools\nnpm run list\n\nCall a Tool\nnpm run call -- TOOL_NAME --args='{\"foo\":\"bar\"}'\n\nCall a Tool After Sign-In\nnpm run call -- TOOL_NAME --args='{\"foo\":\"bar\"}' --signinId=YOUR_SIGNIN_ID\n\nManual Sign-In Flow\n\nSome Tool calls require the user to manually sign in to a website (e.g. e-commerce, banking, or account-based platforms).\n\nThe agent must not automate browser-based sign-in.\n\nStep-by-Step Workflow\n1. Initial API Call\n\nThe agent calls the target tool normally.\n\nExample:\n\nnpm run call -- amazon_get_purchase_history\n\n2. Sign-In Required Response\n\nIf sign-in is required, the script responds with a sign-in URL and a signin_id.\n\nExample Response:\n\n{\n  \"content\": [\n    {\n      \"type\": \"text\",\n      \"text\": \"{\\\"url\\\":\\\"https://signinurl\\\",\\\"message\\\":\\\"Continue to sign in in your browser at https://signinurl.\\\",\\\"signin_id\\\":\\\"YOUR_SIGNIN_ID\\\",\\\"system_message\\\":\\\"Try open the url https://signinurl in a browser with a tool if available.Give the url to the user so the user can open it manually in their browser.Then call check_signin tool with the signin_id to check if the sign in process is completed. Once it is completed successfully, then call this tool again to proceed with the action.\\\"}\"\n    }\n  ],\n  \"structuredContent\": {\n    \"url\": \"https://signinurl\",\n    \"message\": \"Continue to sign in in your browser at https://signinurl.\",\n    \"signin_id\": \"YOUR_SIGNIN_ID\",\n    \"system_message\": \"Try open the url https://signinurl in a browser with a tool if available.Give the url to the user so the user can open it manually in their browser.Then call check_signin tool with the signin_id to check if the sign in process is completed. Once it is completed successfully, then call this tool again to proceed with the action.\"\n  },\n  \"isError\": false\n}\n\n3. Agent Action (When Sign-In Is Required)\n\nWhen a response contains url and signin_id, the agent must:\n\nInform the user that manual sign-in is required\nProvide the sign-in URL to the user\nPause the automated process\nWait for the user to confirm sign-in completion\n4. User Action\n\nThe user:\n\nOpens the provided URL in their browser\nCompletes the sign-in process manually\nNotifies the agent once sign-in is complete\n5. Resume Tool Call\n\nAfter user confirmation, the agent re-calls the same Tool, passing the signin_id as a query parameter.\n\nExample:\n\nnpm run call -- amazon_get_purchase_history --signinId=YOUR_SIGNIN_ID\n\n6. Final Result\n\nIf authentication is successful, the script returns the requested data (e.g. purchase history).\n\nAgent Behavior Constraints\nDo not open sign-in URLs automatically\nDo not attempt to automate website login\nAlways wait for explicit user confirmation before continuing\nReuse the same tool endpoint after sign-in\nIf there's no tool available, just directly open browser and browse yourself via CDP\nExample Use Case\n\nGoal: Retrieve Amazon purchase history\n\nCall amazon_get_purchase_history\nReceive sign-in URL and signin_id\nAsk the user to open the URL and sign in\nWait for confirmation\nRe-call the API with signinId\nReceive purchase history data\n\nGoal: Open Amazon Change Password Page\n\nTry open browser via CDP, open amazon change password page\nCannot open that page because require sign in\nCall amazon_signin\nReceive sign-in URL and signin_id\nAsk the user to open the URL and sign in\nWait for confirmation\nTry open browser via CDP again\nSuccess open change password page\nSummary\n\nThis skill enables secure website signin by:\n\nDelegating sensitive authentication steps to the user\nResuming automated workflows after authentication\nEnforcing consistent security practices"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/faisalive/browser-ability",
    "publisherUrl": "https://clawhub.ai/faisalive/browser-ability",
    "owner": "faisalive",
    "version": "1.0.1",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/browser-ability",
    "downloadUrl": "https://openagent3.xyz/downloads/browser-ability",
    "agentUrl": "https://openagent3.xyz/skills/browser-ability/agent",
    "manifestUrl": "https://openagent3.xyz/skills/browser-ability/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/browser-ability/agent.md"
  }
}