[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6D4VTQPFV23EM8SNN6T20JT":3,"skill-same:01M6D4VTQPFV23EM8SNN6T20JT":81},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":23,"publishedAt":38,"linkOnly":39,"markdownContent":40,"markdownBody":41,"frontMatter":42,"refName":43,"commitSha":44,"skillDirectory":45,"forksCount":46,"repositoryHtmlUrl":47,"repositoryHomepageUrl":48,"ownerHtmlUrl":49,"ownerBlogUrl":50,"ownerDescription":51,"updatedAt":52,"install":53,"resources":66},"01M6D4VTQPFV23EM8SNN6T20JT","botasaurus-cli",null,"Use this skill when the user needs to scrape a web page, check if a URL is accessible, or extract content from behind Cloudflare protection using the command line.","javimosch\u002Fsupercli","javimosch","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F12900508?v=4","01M6D3F2AS6PV75ET9PZ1QGP8J","Javier Leandro Arancibia","01M6D3F2EBNWNJ358Q90P5YQR1",57,"MIT","https:\u002F\u002Fgithub.com\u002Fjavimosch\u002Fsupercli\u002Fblob\u002Fmaster\u002Fplugins\u002Fbotasaurus-cli\u002Fskills\u002Fquickstart\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[24,25,26,27,28,29,30,31,32,33,34,35,36,37],"cli","botasaurus cli","web","command line","cloudflare","content","scrape","page","check","command","user","extract","use","protection","2026-11-10 10:12:30",false,"---\nname: botasaurus-cli\ndescription: Use this skill when the user needs to scrape a web page, check if a URL is accessible, or extract content from behind Cloudflare protection using the command line.\n---\n\n# botasaurus-cli — Web Scraping CLI\n\nScrape web pages from the command line with Cloudflare bypass and anti-detect HTTP requests. Wraps Botasaurus (omkarcloud\u002Fbotasaurus, 4.7k ⭐, MIT).\n\n## Installation\n\n```bash\npip install botasaurus          # Core scraping engine (~14MB deps)\npip install botasaurus-cli      # CLI wrapper\n```\n\nFirst run auto-downloads `@request` dependencies (~14MB).\n\n## Commands\n\n- `botasaurus-cli web scrape \u003Curl> [--json]` — Scrape a URL\n- `botasaurus-cli web check \u003Curl> [--json]` — Check if URL is accessible\n- `botasaurus-cli self version` — Show engine info\n\n## Critical Caveats & Pitfalls\n\n### 1. First Run: Dependency Download\nThe first `scrape` or `check` call downloads the botasaurus_requests library (~14MB).\n**Always warn the user** about this before running for the first time.\n\n```\nDownloading @request dependencies...\n100% ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 13.8\u002F13.8 MB\n```\n\nTakes 10-30 seconds depending on connection. Subsequent calls are instant.\n\n### 2. Python ctypes Requirement\nBotasaurus requires Python with `ctypes` support. Some Python installations (e.g., certain pyenv builds, system Python on some distros) lack `_ctypes` and will fail with:\n```\nModuleNotFoundError: No module named '_ctypes'\n```\n**Fix**: Use a different Python version (`python3.10` usually works). The CLI auto-detects the correct Python.\n\n### 3. First Run Timeout\nThe first scrape\u002Fcheck can take 15-30 seconds due to dependency download + setup.\nSet `timeout_ms` high enough (120000+ recommended) when calling via supercli.\n\n### 4. Cloudflare Bypass is Best-Effort\nBotasaurus's `@request` decorator handles basic Cloudflare challenges (Connection Challenge via Google Referrer).\nIt may NOT bypass:\n- JS with Captcha challenges (need `@browser` with `bypass_cloudflare=True`)\n- Complex WAF rules (Datadome, PerimeterX)\n- Turnstile CAPTCHAs\n\n**If a URL fails**: Suggest trying with a browser-based tool or direct curl.\n\n### 5. No Browser Rendering\n`botasaurus-cli` uses the `@request` decorator which sends HTTP requests, not a full browser.\nIt will NOT execute JavaScript or render SPAs (React, Vue, etc.).\nFor JS-heavy sites, use the full Botasaurus framework with `@browser` decorator.\n\n### 6. Output Format\n- Default: human-readable summary (URL, status, title, size)\n- `--json`: structured JSON with all fields\n- Title extraction uses BeautifulSoup (`soupify`) — only works for HTML pages, not JSON APIs\n\n### 7. Rate Limiting & Politeness\nBotasaurus does NOT add delays between requests by default.\nWhen scraping multiple URLs, the user should add their own rate limiting.\nAggressive scraping may get the user's IP blocked.\n\n### 8. Bot Detection\nWhile Botasaurus is designed to bypass bot detection, results vary by target:\n- ✅ Works on most Cloudflare-protected sites\n- ✅ Works on sites with basic bot detection\n- ⚠️ May fail on advanced anti-bot systems (DataDome, Akamai)\n- ⚠️ Headless Chrome (`@browser`) works better but is not exposed in this CLI\n\n### 9. Error Handling\nIf a scrape fails, common causes:\n- **Timeout**: Site is slow or blocking. Retry with longer timeout.\n- **403\u002F503**: Blocked by WAF. Try a different approach (browser-based tool).\n- **SSL errors**: Site has certificate issues. Use `--json` to see raw response.\n- **Empty title**: Page is not HTML (JSON, image, etc.) or JS-rendered.\n\n### 10. API Responses\nFor scraping JSON APIs (REST, GraphQL), `scrape` returns the raw response length but can't parse it.\nThe user should use `curl` or dedicated API tools for structured API responses.\n\n## Prompt Templates\n\n- \"Check if [URL] is accessible and returns 200\"\n- \"Scrape the title and metadata from [URL]\"\n- \"Can you access this Cloudflare-protected page: [URL]?\"\n- \"Tell me if this URL is behind Cloudflare\"\n- \"Extract the page content from [URL] and return JSON\"\n\n## Typical Workflow\n\n```\n→ \"Check if example.com is accessible\"\n← botasaurus-cli web check \"https:\u002F\u002Fexample.com\"\n\n→ \"Scrape the title from that page\"\n← botasaurus-cli web scrape \"https:\u002F\u002Fexample.com\"\n\n→ \"Now try this Cloudflare site: https:\u002F\u002Fnopecha.com\u002Fdemo\u002Fcloudflare\"\n← botasaurus-cli web scrape \"https:\u002F\u002Fnopecha.com\u002Fdemo\u002Fcloudflare\"\n   (may fail — JS challenges require @browser mode)\n```\n\n## Caveats Summary\n\n| Concern | Details |\n|---------|---------|\n| First run | Downloads ~14MB deps, takes 10-30s |\n| ctypes | Required. Some Python builds lack it |\n| JS rendering | Not supported. HTTP-only |\n| Captcha | Can't solve captchas (use @browser for that) |\n| Rate limits | No built-in throttling |\n| Cloudflare | Bypasses Connection Challenge, not JS Captcha |\n","# botasaurus-cli — Web Scraping CLI\n\nScrape web pages from the command line with Cloudflare bypass and anti-detect HTTP requests. Wraps Botasaurus (omkarcloud\u002Fbotasaurus, 4.7k ⭐, MIT).\n\n## Installation\n\n```bash\npip install botasaurus          # Core scraping engine (~14MB deps)\npip install botasaurus-cli      # CLI wrapper\n```\n\nFirst run auto-downloads `@request` dependencies (~14MB).\n\n## Commands\n\n- `botasaurus-cli web scrape \u003Curl> [--json]` — Scrape a URL\n- `botasaurus-cli web check \u003Curl> [--json]` — Check if URL is accessible\n- `botasaurus-cli self version` — Show engine info\n\n## Critical Caveats & Pitfalls\n\n### 1. First Run: Dependency Download\nThe first `scrape` or `check` call downloads the botasaurus_requests library (~14MB).\n**Always warn the user** about this before running for the first time.\n\n```\nDownloading @request dependencies...\n100% ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 13.8\u002F13.8 MB\n```\n\nTakes 10-30 seconds depending on connection. Subsequent calls are instant.\n\n### 2. Python ctypes Requirement\nBotasaurus requires Python with `ctypes` support. Some Python installations (e.g., certain pyenv builds, system Python on some distros) lack `_ctypes` and will fail with:\n```\nModuleNotFoundError: No module named '_ctypes'\n```\n**Fix**: Use a different Python version (`python3.10` usually works). The CLI auto-detects the correct Python.\n\n### 3. First Run Timeout\nThe first scrape\u002Fcheck can take 15-30 seconds due to dependency download + setup.\nSet `timeout_ms` high enough (120000+ recommended) when calling via supercli.\n\n### 4. Cloudflare Bypass is Best-Effort\nBotasaurus's `@request` decorator handles basic Cloudflare challenges (Connection Challenge via Google Referrer).\nIt may NOT bypass:\n- JS with Captcha challenges (need `@browser` with `bypass_cloudflare=True`)\n- Complex WAF rules (Datadome, PerimeterX)\n- Turnstile CAPTCHAs\n\n**If a URL fails**: Suggest trying with a browser-based tool or direct curl.\n\n### 5. No Browser Rendering\n`botasaurus-cli` uses the `@request` decorator which sends HTTP requests, not a full browser.\nIt will NOT execute JavaScript or render SPAs (React, Vue, etc.).\nFor JS-heavy sites, use the full Botasaurus framework with `@browser` decorator.\n\n### 6. Output Format\n- Default: human-readable summary (URL, status, title, size)\n- `--json`: structured JSON with all fields\n- Title extraction uses BeautifulSoup (`soupify`) — only works for HTML pages, not JSON APIs\n\n### 7. Rate Limiting & Politeness\nBotasaurus does NOT add delays between requests by default.\nWhen scraping multiple URLs, the user should add their own rate limiting.\nAggressive scraping may get the user's IP blocked.\n\n### 8. Bot Detection\nWhile Botasaurus is designed to bypass bot detection, results vary by target:\n- ✅ Works on most Cloudflare-protected sites\n- ✅ Works on sites with basic bot detection\n- ⚠️ May fail on advanced anti-bot systems (DataDome, Akamai)\n- ⚠️ Headless Chrome (`@browser`) works better but is not exposed in this CLI\n\n### 9. Error Handling\nIf a scrape fails, common causes:\n- **Timeout**: Site is slow or blocking. Retry with longer timeout.\n- **403\u002F503**: Blocked by WAF. Try a different approach (browser-based tool).\n- **SSL errors**: Site has certificate issues. Use `--json` to see raw response.\n- **Empty title**: Page is not HTML (JSON, image, etc.) or JS-rendered.\n\n### 10. API Responses\nFor scraping JSON APIs (REST, GraphQL), `scrape` returns the raw response length but can't parse it.\nThe user should use `curl` or dedicated API tools for structured API responses.\n\n## Prompt Templates\n\n- \"Check if [URL] is accessible and returns 200\"\n- \"Scrape the title and metadata from [URL]\"\n- \"Can you access this Cloudflare-protected page: [URL]?\"\n- \"Tell me if this URL is behind Cloudflare\"\n- \"Extract the page content from [URL] and return JSON\"\n\n## Typical Workflow\n\n```\n→ \"Check if example.com is accessible\"\n← botasaurus-cli web check \"https:\u002F\u002Fexample.com\"\n\n→ \"Scrape the title from that page\"\n← botasaurus-cli web scrape \"https:\u002F\u002Fexample.com\"\n\n→ \"Now try this Cloudflare site: https:\u002F\u002Fnopecha.com\u002Fdemo\u002Fcloudflare\"\n← botasaurus-cli web scrape \"https:\u002F\u002Fnopecha.com\u002Fdemo\u002Fcloudflare\"\n   (may fail — JS challenges require @browser mode)\n```\n\n## Caveats Summary\n\n| Concern | Details |\n|---------|---------|\n| First run | Downloads ~14MB deps, takes 10-30s |\n| ctypes | Required. Some Python builds lack it |\n| JS rendering | Not supported. HTTP-only |\n| Captcha | Can't solve captchas (use @browser for that) |\n| Rate limits | No built-in throttling |\n| Cloudflare | Bypasses Connection Challenge, not JS Captcha |\n",{"name":5,"description":7},"master","d362369a98edfcc6356f3bb152db470c34f08a46","plugins\u002Fbotasaurus-cli\u002Fskills\u002Fquickstart",5,"https:\u002F\u002Fgithub.com\u002Fjavimosch\u002Fsupercli","https:\u002F\u002Fjavimosch.github.io\u002Fsupercli\u002F","https:\u002F\u002Fgithub.com\u002Fjavimosch","intrane.fr","Building robust, open-source infrastructure for the commons. AI-leveraged, self-hosted, built to last.","2026-11-02 18:24:17",{"source":8,"skillName":5,"commands":54,"prompt":64,"zipAvailable":65},[55,58,61],{"tool":56,"command":57},"npx","npx skills add javimosch\u002Fsupercli --skill botasaurus-cli",{"tool":59,"command":60},"bunx","bunx skills add javimosch\u002Fsupercli --skill botasaurus-cli",{"tool":62,"command":63},"pnpm","pnpm dlx skills add javimosch\u002Fsupercli --skill botasaurus-cli","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fjavimosch\u002Fsupercli\u002Fblob\u002Fmaster\u002Fplugins\u002Fbotasaurus-cli\u002Fskills\u002Fquickstart\u002FSKILL.md",true,[67,73,77],{"path":68,"resourceType":69,"resourceTypeDesc":70,"sizeBytes":71,"sourceHtmlUrl":72},"references\u002Fcommunication-templates.md","REFERENCE","参考文档",45607,"https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fcursor\u002Flogistics-exception-management\u002Freferences\u002Fcommunication-templates.md",{"path":74,"resourceType":69,"resourceTypeDesc":70,"sizeBytes":75,"sourceHtmlUrl":76},"references\u002Fdecision-frameworks.md",100150,"https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fcursor\u002Flogistics-exception-management\u002Freferences\u002Fdecision-frameworks.md",{"path":78,"resourceType":69,"resourceTypeDesc":70,"sizeBytes":79,"sourceHtmlUrl":80},"references\u002Fedge-cases.md",95244,"https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fcursor\u002Flogistics-exception-management\u002Freferences\u002Fedge-cases.md",[82,91,110,122,134,142],{"skillNo":83,"name":84,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":85,"categories":86,"keywords":88,"publishedAt":38},"01M6G7YFZVHRYAY51J0YG9SDNJ","sc-machin-mcp","https:\u002F\u002Fgithub.com\u002Fjavimosch\u002Fsupercli\u002Fblob\u002Fmaster\u002Fsupercli-machin-cli\u002Fskills\u002Fsc-machin-mcp\u002FSKILL.md",[87],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[89,90],"sc machin mcp","MCP",{"skillNo":92,"name":93,"nameZh":6,"description":94,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":95,"categories":96,"keywords":98,"publishedAt":38},"01M6G7YB179MQMSHZBJDC8TZA8","supercli.quickstart","SuperCLI capability router — discover and execute CLI commands through namespace.resource.action interface","https:\u002F\u002Fgithub.com\u002Fjavimosch\u002Fsupercli\u002Fblob\u002Fmaster\u002Fskills\u002Fsupercli\u002FSKILL.md",[97],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[99,100,24,101,102,103,104,105,106,107,108,109],"supercli quickstart","quickstart","capability router","plugin","discovery","execute","router","discover","commands","interface","supercli,cli,plugin,capability,discovery,agent",{"skillNo":111,"name":112,"nameZh":6,"description":113,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":114,"categories":115,"keywords":116,"publishedAt":38},"01M6G7Y734QS3793YMS5PR146J","zzdoc","Use this skill to compile scdoc manpages with a fast Zig-based compiler.","https:\u002F\u002Fgithub.com\u002Fjavimosch\u002Fsupercli\u002Fblob\u002Fmaster\u002Fplugins\u002Fzzdoc\u002Fskills\u002Fquickstart\u002FSKILL.md",[],[112,117,36,118,119,120,121],"with","zig","fast","compiler","compile",{"skillNo":123,"name":124,"nameZh":6,"description":125,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":126,"categories":127,"keywords":128,"publishedAt":38},"01M6G7Y2WX56K2QJQ9RV2ZKEV7","zx","Use this skill when the user wants to a tool for writing better scripts using node.js.","https:\u002F\u002Fgithub.com\u002Fjavimosch\u002Fsupercli\u002Fblob\u002Fmaster\u002Fplugins\u002Fzx\u002Fskills\u002Fquickstart\u002FSKILL.md",[],[124,129,36,34,130,131,132,133],"scripts","node","tool","js","writing",{"skillNo":135,"name":136,"nameZh":6,"description":137,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":138,"categories":139,"keywords":140,"publishedAt":38},"01M6G7Y0M792DGW31HN4TEQT10","zvm","Use this skill when the user wants to manage multiple Zig compiler versions.","https:\u002F\u002Fgithub.com\u002Fjavimosch\u002Fsupercli\u002Fblob\u002Fmaster\u002Fplugins\u002Fzvm\u002Fskills\u002Fquickstart\u002FSKILL.md",[],[136,118,141,36,34,120],"manage",{"skillNo":143,"name":100,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":144,"categories":145,"keywords":146,"publishedAt":38},"01M6G7XX51W5HJW09DYXBK92TJ","https:\u002F\u002Fgithub.com\u002Fjavimosch\u002Fsupercli\u002Fblob\u002Fmaster\u002Fplugins\u002Fzstdmt\u002Fskills\u002Fquickstart\u002FSKILL.md",[],[100]]