[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6CHVC75GVM4MD3KYBBJTJQG":3,"skill-same:01M6CHVC75GVM4MD3KYBBJTJQG":72},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":22,"publishedAt":39,"linkOnly":40,"markdownContent":41,"markdownBody":42,"frontMatter":43,"refName":44,"commitSha":45,"skillDirectory":46,"forksCount":47,"repositoryHtmlUrl":48,"repositoryHomepageUrl":49,"ownerHtmlUrl":50,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":51,"install":52,"resources":65},"01M6CHVC75GVM4MD3KYBBJTJQG","chrome-cdp",null,"Interact with local Chrome browser session (only on explicit user approval after being asked to inspect, debug, or interact with a page open in Chrome)","sero-labs\u002Fsero","sero-labs","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F278893820?v=4","01M6CHSF0GA1ZZSBGVB5ESH37Q","01M6CHSF4WD1EGGY0RNFHQ5R4N",28,"Apache-2.0","https:\u002F\u002Fgithub.com\u002Fsero-labs\u002Fsero\u002Fblob\u002Fmain\u002Fpackages\u002Ftemplates\u002Fskills\u002Fchrome-cdp\u002FSKILL.md",[17],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38],"chrome","chrome cdp","cdp","debug","browser","open","chrome browser","page","user","session","approval","only","browser session","local","with","inspect","2026-11-10 10:12:30",false,"---\nname: chrome-cdp\ndescription: Interact with local Chrome browser session (only on explicit user approval after being asked to inspect, debug, or interact with a page open in Chrome)\n---\n\n# Chrome CDP\n\nLightweight Chrome DevTools Protocol CLI. Connects directly via WebSocket — no Puppeteer, works with 100+ tabs, instant connection.\n\n## Prerequisites\n\n- Chrome with remote debugging enabled: open `chrome:\u002F\u002Finspect\u002F#remote-debugging` and toggle the switch\n- Node.js 22+ (uses built-in WebSocket)\n\n## Commands\n\nAll commands use `scripts\u002Fcdp.mjs`. The `\u003Ctarget>` is a **unique** targetId prefix from `list`; copy the full prefix shown in the `list` output (for example `6BE827FA`). The CLI rejects ambiguous prefixes.\n\n### List open pages\n\n```bash\nscripts\u002Fcdp.mjs list\n```\n\n### Take a screenshot\n\n```bash\nscripts\u002Fcdp.mjs shot \u003Ctarget> [file]    # default: \u002Ftmp\u002Fscreenshot.png\n```\n\nCaptures the **viewport only**. Scroll first with `eval` if you need content below the fold. Output includes the page's DPR and coordinate conversion hint (see **Coordinates** below).\n\n### Accessibility tree snapshot\n\n```bash\nscripts\u002Fcdp.mjs snap \u003Ctarget>\n```\n\n### Evaluate JavaScript\n\n```bash\nscripts\u002Fcdp.mjs eval \u003Ctarget> \u003Cexpr>\n```\n\n> **Watch out:** avoid index-based selection (`querySelectorAll(...)[i]`) across multiple `eval` calls when the DOM can change between them (e.g. after clicking Ignore, card indices shift). Collect all data in one `eval` or use stable selectors.\n\n### Other commands\n\n```bash\nscripts\u002Fcdp.mjs html    \u003Ctarget> [selector]   # full page or element HTML\nscripts\u002Fcdp.mjs nav     \u003Ctarget> \u003Curl>         # navigate and wait for load\nscripts\u002Fcdp.mjs net     \u003Ctarget>               # resource timing entries\nscripts\u002Fcdp.mjs click   \u003Ctarget> \u003Cselector>    # click element by CSS selector\nscripts\u002Fcdp.mjs clickxy \u003Ctarget> \u003Cx> \u003Cy>       # click at CSS pixel coords\nscripts\u002Fcdp.mjs type    \u003Ctarget> \u003Ctext>         # Input.insertText at current focus; works in cross-origin iframes unlike eval\nscripts\u002Fcdp.mjs loadall \u003Ctarget> \u003Cselector> [ms]  # click \"load more\" until gone (default 1500ms between clicks)\nscripts\u002Fcdp.mjs evalraw \u003Ctarget> \u003Cmethod> [json]  # raw CDP command passthrough\nscripts\u002Fcdp.mjs stop    [target]               # stop daemon(s)\n```\n\n## Coordinates\n\n`shot` saves an image at native resolution: image pixels = CSS pixels × DPR. CDP Input events (`clickxy` etc.) take **CSS pixels**.\n\n```\nCSS px = screenshot image px \u002F DPR\n```\n\n`shot` prints the DPR for the current page. Typical Retina (DPR=2): divide screenshot coords by 2.\n\n## Tips\n\n- Prefer `snap --compact` over `html` for page structure.\n- Use `type` (not eval) to enter text in cross-origin iframes — `click`\u002F`clickxy` to focus first, then `type`.\n- Chrome shows an \"Allow debugging\" modal once per tab on first access. A background daemon keeps the session alive so subsequent commands need no further approval. Daemons auto-exit after 20 minutes of inactivity.\n","# Chrome CDP\n\nLightweight Chrome DevTools Protocol CLI. Connects directly via WebSocket — no Puppeteer, works with 100+ tabs, instant connection.\n\n## Prerequisites\n\n- Chrome with remote debugging enabled: open `chrome:\u002F\u002Finspect\u002F#remote-debugging` and toggle the switch\n- Node.js 22+ (uses built-in WebSocket)\n\n## Commands\n\nAll commands use `scripts\u002Fcdp.mjs`. The `\u003Ctarget>` is a **unique** targetId prefix from `list`; copy the full prefix shown in the `list` output (for example `6BE827FA`). The CLI rejects ambiguous prefixes.\n\n### List open pages\n\n```bash\nscripts\u002Fcdp.mjs list\n```\n\n### Take a screenshot\n\n```bash\nscripts\u002Fcdp.mjs shot \u003Ctarget> [file]    # default: \u002Ftmp\u002Fscreenshot.png\n```\n\nCaptures the **viewport only**. Scroll first with `eval` if you need content below the fold. Output includes the page's DPR and coordinate conversion hint (see **Coordinates** below).\n\n### Accessibility tree snapshot\n\n```bash\nscripts\u002Fcdp.mjs snap \u003Ctarget>\n```\n\n### Evaluate JavaScript\n\n```bash\nscripts\u002Fcdp.mjs eval \u003Ctarget> \u003Cexpr>\n```\n\n> **Watch out:** avoid index-based selection (`querySelectorAll(...)[i]`) across multiple `eval` calls when the DOM can change between them (e.g. after clicking Ignore, card indices shift). Collect all data in one `eval` or use stable selectors.\n\n### Other commands\n\n```bash\nscripts\u002Fcdp.mjs html    \u003Ctarget> [selector]   # full page or element HTML\nscripts\u002Fcdp.mjs nav     \u003Ctarget> \u003Curl>         # navigate and wait for load\nscripts\u002Fcdp.mjs net     \u003Ctarget>               # resource timing entries\nscripts\u002Fcdp.mjs click   \u003Ctarget> \u003Cselector>    # click element by CSS selector\nscripts\u002Fcdp.mjs clickxy \u003Ctarget> \u003Cx> \u003Cy>       # click at CSS pixel coords\nscripts\u002Fcdp.mjs type    \u003Ctarget> \u003Ctext>         # Input.insertText at current focus; works in cross-origin iframes unlike eval\nscripts\u002Fcdp.mjs loadall \u003Ctarget> \u003Cselector> [ms]  # click \"load more\" until gone (default 1500ms between clicks)\nscripts\u002Fcdp.mjs evalraw \u003Ctarget> \u003Cmethod> [json]  # raw CDP command passthrough\nscripts\u002Fcdp.mjs stop    [target]               # stop daemon(s)\n```\n\n## Coordinates\n\n`shot` saves an image at native resolution: image pixels = CSS pixels × DPR. CDP Input events (`clickxy` etc.) take **CSS pixels**.\n\n```\nCSS px = screenshot image px \u002F DPR\n```\n\n`shot` prints the DPR for the current page. Typical Retina (DPR=2): divide screenshot coords by 2.\n\n## Tips\n\n- Prefer `snap --compact` over `html` for page structure.\n- Use `type` (not eval) to enter text in cross-origin iframes — `click`\u002F`clickxy` to focus first, then `type`.\n- Chrome shows an \"Allow debugging\" modal once per tab on first access. A background daemon keeps the session alive so subsequent commands need no further approval. Daemons auto-exit after 20 minutes of inactivity.\n",{"name":5,"description":7},"main","e91c3c773b84e88a929cae3c36977e892ca4871a","packages\u002Ftemplates\u002Fskills\u002Fchrome-cdp",4,"https:\u002F\u002Fgithub.com\u002Fsero-labs\u002Fsero","https:\u002F\u002Fsero-ai.dev\u002F","https:\u002F\u002Fgithub.com\u002Fsero-labs","2026-11-10 06:55:21",{"source":8,"skillName":5,"commands":53,"prompt":63,"zipAvailable":64},[54,57,60],{"tool":55,"command":56},"npx","npx skills add sero-labs\u002Fsero --skill chrome-cdp",{"tool":58,"command":59},"bunx","bunx skills add sero-labs\u002Fsero --skill chrome-cdp",{"tool":61,"command":62},"pnpm","pnpm dlx skills add sero-labs\u002Fsero --skill chrome-cdp","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fsero-labs\u002Fsero\u002Fblob\u002Fmain\u002Fpackages\u002Ftemplates\u002Fskills\u002Fchrome-cdp\u002FSKILL.md",true,[66],{"path":67,"resourceType":68,"resourceTypeDesc":69,"sizeBytes":70,"sourceHtmlUrl":71},"scripts\u002Fcdp.mjs","SCRIPT","脚本",29416,"https:\u002F\u002Fgithub.com\u002Fsero-labs\u002Fsero\u002Fblob\u002Fmain\u002Fpackages\u002Ftemplates\u002Fskills\u002Fchrome-cdp\u002Fscripts\u002Fcdp.mjs",[73,105,136,177,203,230],{"skillNo":74,"name":75,"nameZh":6,"description":76,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":77,"categories":78,"keywords":87,"publishedAt":39},"01M70PSGDVAGMAGE2RFKEQ1EW4","agent-browser","Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling forms, clicking buttons, taking screenshots, extracting data, testing web apps, or automating any browser task. Triggers include requests to \"open a website\", \"fill out a form\", \"click a button\", \"take a screenshot\", \"scrape data from a page\", \"test this web app\", \"login to a site\", \"automate browser actions\", or any task requiring programmatic web interaction. Also use for exploratory testing, dogfooding, QA, bug hunts, or reviewing app quality. Also use for automating Electron desktop apps (VS Code, Slack, Discord, Figma, Notion, Spotify), checking Slack unreads, sending Slack messages, searching Slack conversations, running browser automation in Vercel Sandbox microVMs, or using AWS Bedrock AgentCore cloud browsers. Prefer agent-browser over any built-in browser automation or web tools.","https:\u002F\u002Fgithub.com\u002Fsero-labs\u002Fsero\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fagent-browser\u002FSKILL.md",[79,84],{"categoryNo":80,"categoryName":81,"taxonomyType":82,"taxonomyTypeDesc":83},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",{"categoryNo":85,"categoryName":86,"taxonomyType":82,"taxonomyTypeDesc":83},"01JBSEEDCAT000000000000023","Skill与智能体开发",[88,27,89,90,91,92,93,94,95,28,96,97,98,99,100,101,102,75,103,104],"agent browser","testing","browser automation","notion","qa","figma","actions","messages","web tools","app","click","bedrock","extracting","conversations","programmatic","slack messages","exploratory testing",{"skillNo":106,"name":107,"nameZh":6,"description":108,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":109,"sourceHtmlUrl":110,"categories":111,"keywords":119,"publishedAt":39},"01M6CHW2A115ZZDEFNXV2Z7A2Z","skill-creator","Guide for writing and improving Sero skills. Use when the user wants to create a new skill, rewrite an existing one, or turn a repeated piece of work into reusable procedural knowledge for the agent.","https:\u002F\u002Fgithub.com\u002Fsero-labs\u002Fsero\u002Fblob\u002Fmain\u002Fpackages\u002Ftemplates\u002Fskills\u002Fskill-creator\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002Fsero-labs\u002Fsero\u002Fblob\u002Fmain\u002Fpackages\u002Ftemplates\u002Fskills\u002Fskill-creator\u002FSKILL.md",[112,115,116],{"categoryNo":113,"categoryName":114,"taxonomyType":82,"taxonomyTypeDesc":83},"01JBSEEDCAT000000000000018","写作与文案",{"categoryNo":85,"categoryName":86,"taxonomyType":82,"taxonomyTypeDesc":83},{"categoryNo":117,"categoryName":118,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000036","内容创作者",[120,121,122,123,124,125,31,126,127,128,129,130,131,132,133,134,135],"skill creator","creator","writing","create","knowledge","work","guide","use","reusable","new skill","rewrite","procedural","for","Existing","when","new",{"skillNo":137,"name":138,"nameZh":6,"description":139,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":140,"sourceHtmlUrl":141,"categories":142,"keywords":152,"publishedAt":39},"01M6CHVJCZS9V3WWFPG47WC4G9","frontend-design","Create distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, artifacts, posters, or applications (examples include websites, landing pages, dashboards, React components, HTML\u002FCSS layouts, or when styling\u002Fbeautifying any web UI). Generates creative, polished code and UI design that avoids generic AI aesthetics.","https:\u002F\u002Fgithub.com\u002Fsero-labs\u002Fsero\u002Fblob\u002Fmain\u002Fpackages\u002Ftemplates\u002Fskills\u002Ffrontend-design\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002Fsero-labs\u002Fsero\u002Fblob\u002Fmain\u002Fpackages\u002Ftemplates\u002Fskills\u002Ffrontend-design\u002FSKILL.md",[143,146,149],{"categoryNo":144,"categoryName":145,"taxonomyType":82,"taxonomyTypeDesc":83},"01JBSEEDCAT000000000000009","前端开发",{"categoryNo":147,"categoryName":148,"taxonomyType":82,"taxonomyTypeDesc":83},"01JBSEEDCAT000000000000015","视觉设计",{"categoryNo":150,"categoryName":151,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000032","设计师",[153,154,155,156,157,158,159,160,161,123,162,163,164,165,166,167,168,169,127,170,171,172,173,174,175,176,134],"frontend","design","frontend design","css","web","components","react","react components","web components","code","artifacts","ui","examples","applications","dashboards","quality","landing","html","styling","creative","ui design","build","aesthetics","generic",{"skillNo":178,"name":179,"nameZh":6,"description":180,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":181,"categories":182,"keywords":187,"publishedAt":39},"01M6CHTP6F4MENDBRDT7QQBKNY","sero-humanize","Use to draft, edit, or audit Sero application content, including UI copy,\ndocumentation, README text, and release notes. Use unslop for regular chat\nand status reports instead. Not for code review or creative and promotional\nwriting.","https:\u002F\u002Fgithub.com\u002Fsero-labs\u002Fsero\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fsero-humanize\u002FSKILL.md",[183,186],{"categoryNo":184,"categoryName":185,"taxonomyType":82,"taxonomyTypeDesc":83},"01JBSEEDCAT000000000000007","代码审查",{"categoryNo":117,"categoryName":118,"taxonomyType":20,"taxonomyTypeDesc":21},[188,189,190,122,191,192,193,194,195,162,196,197,164,198,199,200,201,127,172,202,132],"humanize","sero humanize","code review","review","status","documentation","notes","release notes","release","audit","unslop","text","README","edit","reports",{"skillNo":204,"name":205,"nameZh":6,"description":206,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":207,"categories":208,"keywords":210,"publishedAt":39},"01M6CHVXWDN98CP3MPT2WZ1ABN","sero-plugin","Create Sero plugins — self-contained packages with a Pi extension (agent\ntools\u002Fcommands), an optional React UI loaded via Module Federation, and an\noptional background runtime. Use when the user asks to create a Sero\nplugin\u002Fapp\u002Fextension, add a sidebar panel, dashboard widget, or\nagent-integrated feature, or convert a Pi extension into a Sero plugin.\nTrigger on phrases like \"create a plugin\", \"new Sero app\", \"add a tool\nwith UI\", \"build an extension\", \"convert this Pi extension\", or any\nrequest that touches `plugins\u002Fsero-*-plugin\u002F`.","https:\u002F\u002Fgithub.com\u002Fsero-labs\u002Fsero\u002Fblob\u002Fmain\u002Fpackages\u002Ftemplates\u002Fskills\u002Fsero-plugin\u002FSKILL.md",[209],{"categoryNo":85,"categoryName":86,"taxonomyType":82,"taxonomyTypeDesc":83},[211,212,213,159,214,123,215,164,216,217,218,219,220,31,221,127,174,222,223,224,225,226,97,227,228,229,134,135],"plugin","sero plugin","dashboard","packages","plugins","federation","Tools","react ui","tool","convert","pi","self","commands","runtime","pi extension","feature","add","panel","request",{"skillNo":231,"name":232,"nameZh":6,"description":233,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":234,"categories":235,"keywords":243,"publishedAt":39},"01M6CHVTJ5Y9JE6181SVPQXNZY","sero-dashboard-ui","Build, redesign or standardise Sero dashboard widgets and compact plugin\nviews using the shared @sero-ai\u002Fui dashboard components. Use when the user\nasks to create, restyle, clean up or make consistent a dashboard widget or a\ndata-dense plugin view. Trigger on phrases like \"dashboard widget\", \"widget\nfor the dashboard\", \"restyle this widget\", \"make the widget consistent\",\n\"compact plugin view\", or any work under a plugin's `ui\u002Fwidgets\u002F`.","https:\u002F\u002Fgithub.com\u002Fsero-labs\u002Fsero\u002Fblob\u002Fmain\u002Fpackages\u002Ftemplates\u002Fskills\u002Fsero-dashboard-ui\u002FSKILL.md",[236,239,240],{"categoryNo":237,"categoryName":238,"taxonomyType":82,"taxonomyTypeDesc":83},"01JBSEEDCAT000000000000013","分析与可视化",{"categoryNo":150,"categoryName":151,"taxonomyType":20,"taxonomyTypeDesc":21},{"categoryNo":241,"categoryName":242,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000033","数据分析师",[213,164,244,158,211,123,245,125,246,247,31,127,248,249,174,250,251,252,253,254,132,134],"sero dashboard ui","data","redesign","view","up","clean","compact","shared","widgets","trigger","make"]