[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6JH0ZP6FWWN0ZRWD7YA4118":3,"skill-same:01M6JH0ZP6FWWN0ZRWD7YA4118":45},{"skillNo":4,"name":5,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":17,"publishedAt":18,"linkOnly":19,"markdownContent":20,"markdownBody":20,"frontMatter":21,"refName":22,"commitSha":23,"skillDirectory":24,"forksCount":25,"repositoryHtmlUrl":26,"repositoryHomepageUrl":27,"ownerHtmlUrl":28,"ownerBlogUrl":6,"ownerDescription":29,"updatedAt":30,"install":31,"resources":44},"01M6JH0ZP6FWWN0ZRWD7YA4118","fastbrowser",null,"kandada\u002Ffastclaw","kandada","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F5936881?v=4","01M6JH0B47EAABG2F9KP4JK8NX","xiefujin","01M6JH0B8M7EXK389PX46KH66M",169,"GPL-3.0","https:\u002F\u002Fgithub.com\u002Fkandada\u002Ffastclaw\u002Fblob\u002Fmain\u002Fworkspace_seed\u002Fskills\u002Fbundled\u002Ffastbrowser\u002FSKILL.md",[],[5],"2026-11-10 10:12:30",false,"## Description\nReal-browser automation (JS\u002FSPA pages, screenshots, downloads) and OS accessibility (read\u002Fact on web pages and native desktop apps) via the fastbrowser CLI, driven with run_shell.\n\n## Parameters\nNone — this is a document skill; read it, then run the commands below with run_shell.\n\nDiscover the CLI commands and the full underlying tool list (100+) via run_shell:\n- `python3 -m fastbrowser --help` — all CLI commands\n- `python3 -m fastbrowser \u003Ccommand> --help` — options for one command\n- `python3 -m fastbrowser tools --mode names` — all tool names\n- `python3 -m fastbrowser tools --mode compact` — name + short description + param names\n- `python3 -m fastbrowser tools --mode help --name \u003Ctool>` — one tool's full schema\n\n## Example\n\nRun every command below with the `run_shell` tool, e.g.\n`run_shell(\"python3 -m fastbrowser fetch https:\u002F\u002Fexample.com\", timeout=120)`.\nGive it a generous `timeout` — the browser cold start can take a few seconds.\n\n### Render a JS page to text (one-shot)\n```bash\npython3 -m fastbrowser fetch \"https:\u002F\u002Fexample.com\" --max-chars 4000\n```\n\n### Multi-step in one shot\n`--steps` is a JSON array of `{\"tool\": \u003Cname>, \"args\": {...}}`:\n```bash\npython3 -m fastbrowser run --url \"https:\u002F\u002Fexample.com\u002Flogin\" --steps '[\n  {\"tool\":\"type\",\"args\":{\"selector\":\"#user\",\"text\":\"admin\"}},\n  {\"tool\":\"click\",\"args\":{\"selector\":\"button[type=submit]\"}},\n  {\"tool\":\"extract_text\",\"args\":{\"max_chars\":2000}}\n]'\n```\n\n### Interactive session (auto daemon; state persists across calls)\n```bash\npython3 -m fastbrowser open \"https:\u002F\u002Fexample.com\"\npython3 -m fastbrowser call get_page_title\npython3 -m fastbrowser call extract_text --args '{\"max_chars\":1000}'\npython3 -m fastbrowser daemon stop\n```\n\n### Screenshots, downloads, JS\n```bash\npython3 -m fastbrowser screenshot \u002Ftmp\u002Fpage.png\npython3 -m fastbrowser download \"https:\u002F\u002Fhost\u002Fimg.jpg\" \u002Ftmp\u002Fimg.jpg --referer \"https:\u002F\u002Fhost\u002Fpage\"\npython3 -m fastbrowser call execute_js --args '{\"script\":\"document.title\"}'\npython3 -m fastbrowser call execute_js --args '{\"function\":\"async () => { return 42; }\"}'\n```\n\n### Discover and call any tool (100+)\n```bash\npython3 -m fastbrowser tools --mode compact\npython3 -m fastbrowser tools --mode help --name navigate\npython3 -m fastbrowser call \u003Ctool> --args '\u003Cjson>'\n```\n\n### Accessibility (web + native desktop)\n```bash\npython3 -m fastbrowser ax list\npython3 -m fastbrowser ax snapshot\npython3 -m fastbrowser ax snapshot --target \"desktop:1234\"\npython3 -m fastbrowser ax act --action click --ref \"web:1:ax:42\"\npython3 -m fastbrowser ax act --action type --ref \"desktop:1234:0.1\" --text \"hello\"\npython3 -m fastbrowser ax act --action press_key --key \"Tab\"\n```\n`ax list` shows surfaces (`web:\u003Ctab>`, `desktop:\u003Cpid>`); `ax snapshot` returns a UiNode tree plus a readable `text` field. Web refs look like `web:\u003Ctab>:ax:\u003Cid>`; native desktop refs like `desktop:\u003Cpid>:\u003Cpath>`. Desktop accessibility needs no Chromium, but on macOS requires the \"Accessibility\" permission.\n\n## Prerequisites\nCheck the package is installed in the interpreter fastclaw uses; install if missing:\n```bash\npython3 -c \"import fastbrowser; print(fastbrowser.__version__)\" || python3 -m pip install fastbrowser\n```\nChromium\u002FChrome is auto-discovered (or set `CHROME_PATH`, or attach an existing browser with `--cdp-url`).\n\n## Notes\n- Output is JSON on stdout — parse it directly.\n- Give `run_shell` a generous `timeout` (browser cold start takes a few seconds): `run_shell(\"python3 -m fastbrowser open ...\", timeout=120)`.\n- If a result has `blocked: true` (WAF\u002Fanti-bot) or empty content, try the site's mobile\u002FAPI endpoint or `fetch`\u002F`curl`.\n- Run `daemon stop` when finished; the daemon also exits after being idle.\n",{},"main","5d0b4619e8dcb3bdd0660e5606afe34176fc64c4","workspace_seed\u002Fskills\u002Fbundled\u002Ffastbrowser",27,"https:\u002F\u002Fgithub.com\u002Fkandada\u002Ffastclaw","https:\u002F\u002Ffastclaw-ai.com\u002F","https:\u002F\u002Fgithub.com\u002Fkandada","a curious engineer","2026-10-08 18:13:25",{"source":7,"skillName":5,"commands":32,"prompt":42,"zipAvailable":43},[33,36,39],{"tool":34,"command":35},"npx","npx skills add kandada\u002Ffastclaw --skill fastbrowser",{"tool":37,"command":38},"bunx","bunx skills add kandada\u002Ffastclaw --skill fastbrowser",{"tool":40,"command":41},"pnpm","pnpm dlx skills add kandada\u002Ffastclaw --skill fastbrowser","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fkandada\u002Ffastclaw\u002Fblob\u002Fmain\u002Fworkspace_seed\u002Fskills\u002Fbundled\u002Ffastbrowser\u002FSKILL.md",true,[],[46,53,66,75,84,90],{"skillNo":47,"name":48,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":49,"categories":50,"keywords":51,"publishedAt":18},"01M6JH1G9H8E57SE2NGSTN2M77","_template","https:\u002F\u002Fgithub.com\u002Fkandada\u002Ffastclaw\u002Fblob\u002Fmain\u002Fworkspace_seed\u002Fskills\u002Fuser\u002F_template\u002FSKILL.md",[],[52],"template",{"skillNo":54,"name":55,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":56,"categories":57,"keywords":63,"publishedAt":18},"01M6JH1DTM0M3E8JFHQ7D18G5H","skill_creator","https:\u002F\u002Fgithub.com\u002Fkandada\u002Ffastclaw\u002Fblob\u002Fmain\u002Fworkspace_seed\u002Fskills\u002Fbundled\u002Fskill_creator\u002FSKILL.md",[58],{"categoryNo":59,"categoryName":60,"taxonomyType":61,"taxonomyTypeDesc":62},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[64,65],"skill creator","creator",{"skillNo":67,"name":68,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":69,"categories":70,"keywords":74,"publishedAt":18},"01M6JH1BGTN4T0Z714NVCSXG7T","playwright","https:\u002F\u002Fgithub.com\u002Fkandada\u002Ffastclaw\u002Fblob\u002Fmain\u002Fworkspace_seed\u002Fskills\u002Fbundled\u002Fplaywright\u002FSKILL.md",[71],{"categoryNo":72,"categoryName":73,"taxonomyType":61,"taxonomyTypeDesc":62},"01JBSEEDCAT000000000000008","测试与质量",[68],{"skillNo":76,"name":77,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":78,"categories":79,"keywords":83,"publishedAt":18},"01M6JH19S6BY0GWZFWNSQ5NWME","pandas","https:\u002F\u002Fgithub.com\u002Fkandada\u002Ffastclaw\u002Fblob\u002Fmain\u002Fworkspace_seed\u002Fskills\u002Fbundled\u002Fpandas\u002FSKILL.md",[80],{"categoryNo":81,"categoryName":82,"taxonomyType":61,"taxonomyTypeDesc":62},"01JBSEEDCAT000000000000013","分析与可视化",[77],{"skillNo":85,"name":86,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":87,"categories":88,"keywords":89,"publishedAt":18},"01M6JH18D258JF5ZN3XR9JWM9G","numpy","https:\u002F\u002Fgithub.com\u002Fkandada\u002Ffastclaw\u002Fblob\u002Fmain\u002Fworkspace_seed\u002Fskills\u002Fbundled\u002Fnumpy\u002FSKILL.md",[],[86],{"skillNo":91,"name":92,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":93,"categories":94,"keywords":95,"publishedAt":18},"01M6JH16TP7J3688VAT9CHWAF1","manage_cron","https:\u002F\u002Fgithub.com\u002Fkandada\u002Ffastclaw\u002Fblob\u002Fmain\u002Fworkspace_seed\u002Fskills\u002Fbundled\u002Fmanage_cron\u002FSKILL.md",[],[96,97,98],"cron","manage","manage cron"]