[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6CHTGFGA371DHPZPSK55WKH":3,"skill-same:01M6CHTGFGA371DHPZPSK55WKH":71},{"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":33,"linkOnly":34,"markdownContent":35,"markdownBody":36,"frontMatter":37,"refName":39,"commitSha":40,"skillDirectory":41,"forksCount":42,"repositoryHtmlUrl":43,"repositoryHomepageUrl":44,"ownerHtmlUrl":45,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":46,"install":47,"resources":60},"01M6CHTGFGA371DHPZPSK55WKH","react-doctor",null,"Use after React source changes or when the user requests React Doctor diagnostics, including \u002Fdoctor.","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\u002F.agents\u002Fskills\u002Freact-doctor\u002FSKILL.md",[17],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000009","前端开发","SCENARIO","使用场景",[23,24,25,26,27,28,29,30,31,32],"react","doctor","react doctor","diagnostics","user","use","requests","source","changes","when","2026-11-10 10:12:30",false,"---\nname: react-doctor\ndescription: Use after React source changes or when the user requests React Doctor diagnostics, including \u002Fdoctor.\nversion: \"1.2.0\"\n---\n\n# React Doctor\n\nScans React codebases for security, performance, correctness, and architecture issues. Outputs a 0–100 health score.\n\n## After making React code changes:\n\nRun `npx react-doctor@latest --verbose --scope changed` and check the score did not regress.\n\nIf the score dropped, fix the regressions before committing.\n\n## Scan scope\n\nUse `--scope changed` for normal React work and fix introduced regressions.\nUse the full scan and triage workflow only when the user requests a full\nReact audit or cleanup, including `\u002Fdoctor`.\n\n## \u002Fdoctor — full local triage workflow\n\nWhen the user types `\u002Fdoctor`, says \"run react doctor\", or asks for a full triage \u002F cleanup pass (not just a regression check), fetch the canonical local-triage playbook and follow every step in it:\n\n```bash\ncurl --fail --silent --show-error \\\n  --header 'Cache-Control: no-cache' \\\n  https:\u002F\u002Fwww.react.doctor\u002Fprompts\u002Freact-doctor-agent.md\n```\n\nThe playbook is the single source of truth — a scan → filter → triage → fix → validate loop that edits the working tree directly (never commits, never opens PRs). Updating the prompt at its source updates every agent on its next fetch — no skill reinstall needed.\n\nPair it with the matching per-rule prompts at `https:\u002F\u002Fwww.react.doctor\u002Fprompts\u002Frules\u002F\u003Cplugin>\u002F\u003Crule>.md` (fetched on demand inside the playbook) so each fix uses the canonical, reviewer-tested recipe.\n\n## Configuring or explaining rules\n\nWhen the user wants to understand a rule, disagrees with one, or wants to disable \u002F tune which rules run (not fix code), read [references\u002Fexplain.md](references\u002Fexplain.md) and follow it. Start with `npx react-doctor@latest rules explain \u003Crule>`, then apply the narrowest control via `npx react-doctor@latest rules disable|set|category|ignore-tag …`, which edits your `doctor.config.*` (or `package.json#reactDoctor`).\n\n## Command\n\n```bash\nnpx react-doctor@latest --verbose --scope changed\n```\n\n| Flag              | Purpose                                                          |\n| ----------------- | ---------------------------------------------------------------- |\n| `.`               | Scan current directory                                           |\n| `--verbose`       | Show affected files and line numbers per rule                    |\n| `--scope changed` | Only report issues introduced vs the base branch (default: full) |\n| `--scope lines`   | Only report issues on the changed lines                          |\n| `--score`         | Output only the numeric score                                    |\n","# React Doctor\n\nScans React codebases for security, performance, correctness, and architecture issues. Outputs a 0–100 health score.\n\n## After making React code changes:\n\nRun `npx react-doctor@latest --verbose --scope changed` and check the score did not regress.\n\nIf the score dropped, fix the regressions before committing.\n\n## Scan scope\n\nUse `--scope changed` for normal React work and fix introduced regressions.\nUse the full scan and triage workflow only when the user requests a full\nReact audit or cleanup, including `\u002Fdoctor`.\n\n## \u002Fdoctor — full local triage workflow\n\nWhen the user types `\u002Fdoctor`, says \"run react doctor\", or asks for a full triage \u002F cleanup pass (not just a regression check), fetch the canonical local-triage playbook and follow every step in it:\n\n```bash\ncurl --fail --silent --show-error \\\n  --header 'Cache-Control: no-cache' \\\n  https:\u002F\u002Fwww.react.doctor\u002Fprompts\u002Freact-doctor-agent.md\n```\n\nThe playbook is the single source of truth — a scan → filter → triage → fix → validate loop that edits the working tree directly (never commits, never opens PRs). Updating the prompt at its source updates every agent on its next fetch — no skill reinstall needed.\n\nPair it with the matching per-rule prompts at `https:\u002F\u002Fwww.react.doctor\u002Fprompts\u002Frules\u002F\u003Cplugin>\u002F\u003Crule>.md` (fetched on demand inside the playbook) so each fix uses the canonical, reviewer-tested recipe.\n\n## Configuring or explaining rules\n\nWhen the user wants to understand a rule, disagrees with one, or wants to disable \u002F tune which rules run (not fix code), read [references\u002Fexplain.md](references\u002Fexplain.md) and follow it. Start with `npx react-doctor@latest rules explain \u003Crule>`, then apply the narrowest control via `npx react-doctor@latest rules disable|set|category|ignore-tag …`, which edits your `doctor.config.*` (or `package.json#reactDoctor`).\n\n## Command\n\n```bash\nnpx react-doctor@latest --verbose --scope changed\n```\n\n| Flag              | Purpose                                                          |\n| ----------------- | ---------------------------------------------------------------- |\n| `.`               | Scan current directory                                           |\n| `--verbose`       | Show affected files and line numbers per rule                    |\n| `--scope changed` | Only report issues introduced vs the base branch (default: full) |\n| `--scope lines`   | Only report issues on the changed lines                          |\n| `--score`         | Output only the numeric score                                    |\n",{"name":5,"version":38,"description":7},"1.2.0","main","e91c3c773b84e88a929cae3c36977e892ca4871a",".agents\u002Fskills\u002Freact-doctor",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":48,"prompt":58,"zipAvailable":59},[49,52,55],{"tool":50,"command":51},"npx","npx skills add sero-labs\u002Fsero --skill react-doctor",{"tool":53,"command":54},"bunx","bunx skills add sero-labs\u002Fsero --skill react-doctor",{"tool":56,"command":57},"pnpm","pnpm dlx skills add sero-labs\u002Fsero --skill react-doctor","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fsero-labs\u002Fsero\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Freact-doctor\u002FSKILL.md",true,[61,67],{"path":62,"resourceType":63,"resourceTypeDesc":64,"sizeBytes":65,"sourceHtmlUrl":66},"references\u002Fexplain.md","REFERENCE","参考文档",4136,"https:\u002F\u002Fgithub.com\u002Fsero-labs\u002Fsero\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Freact-doctor\u002Freferences\u002Fexplain.md",{"path":68,"resourceType":63,"resourceTypeDesc":64,"sizeBytes":69,"sourceHtmlUrl":70},"references\u002Ftype-scale-and-history.md",6403,"https:\u002F\u002Fgithub.com\u002Fhashgraph-online\u002Fawesome-codex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002FHDeibler\u002Funiversal-design-principles\u002Fplugins\u002Fperception-and-hierarchy-principles\u002Fskills\u002Fhierarchy-typographic\u002Freferences\u002Ftype-scale-and-history.md",[72,104,135,173,199,226],{"skillNo":73,"name":74,"nameZh":6,"description":75,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":76,"categories":77,"keywords":84,"publishedAt":33},"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",[78,81],{"categoryNo":79,"categoryName":80,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000008","测试与质量",{"categoryNo":82,"categoryName":83,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000023","Skill与智能体开发",[85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,74,102,103],"agent browser","browser","testing","browser automation","notion","qa","figma","actions","messages","open","web tools","app","click","bedrock","extracting","conversations","programmatic","slack messages","exploratory testing",{"skillNo":105,"name":106,"nameZh":6,"description":107,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":108,"sourceHtmlUrl":109,"categories":110,"keywords":120,"publishedAt":33},"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",[111,114,115],{"categoryNo":112,"categoryName":113,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000018","写作与文案",{"categoryNo":82,"categoryName":83,"taxonomyType":20,"taxonomyTypeDesc":21},{"categoryNo":116,"categoryName":117,"taxonomyType":118,"taxonomyTypeDesc":119},"01JBSEEDCAT000000000000036","内容创作者","PROFESSION","适用职业",[121,122,123,124,125,126,27,127,28,128,129,130,131,132,133,32,134],"skill creator","creator","writing","create","knowledge","work","guide","reusable","new skill","rewrite","procedural","for","Existing","new",{"skillNo":136,"name":137,"nameZh":6,"description":138,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":139,"sourceHtmlUrl":140,"categories":141,"keywords":149,"publishedAt":33},"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",[142,143,146],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},{"categoryNo":144,"categoryName":145,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000015","视觉设计",{"categoryNo":147,"categoryName":148,"taxonomyType":118,"taxonomyTypeDesc":119},"01JBSEEDCAT000000000000032","设计师",[150,151,152,153,154,155,23,156,157,124,158,159,160,161,162,163,164,165,28,166,167,168,169,170,171,172,32],"frontend","design","frontend design","css","web","components","react components","web components","code","artifacts","ui","examples","applications","dashboards","quality","landing","html","styling","creative","ui design","build","aesthetics","generic",{"skillNo":174,"name":175,"nameZh":6,"description":176,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":177,"categories":178,"keywords":183,"publishedAt":33},"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",[179,182],{"categoryNo":180,"categoryName":181,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000007","代码审查",{"categoryNo":116,"categoryName":117,"taxonomyType":118,"taxonomyTypeDesc":119},[184,185,186,123,187,188,189,190,191,158,192,193,160,194,195,196,197,28,168,198,132],"humanize","sero humanize","code review","review","status","documentation","notes","release notes","release","audit","unslop","text","README","edit","reports",{"skillNo":200,"name":201,"nameZh":6,"description":202,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":203,"categories":204,"keywords":206,"publishedAt":33},"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",[205],{"categoryNo":82,"categoryName":83,"taxonomyType":20,"taxonomyTypeDesc":21},[207,208,209,23,210,124,211,160,212,213,214,215,216,27,217,28,170,218,219,220,221,222,96,223,224,225,32,134],"plugin","sero plugin","dashboard","packages","plugins","federation","Tools","react ui","tool","convert","pi","self","commands","runtime","pi extension","feature","add","panel","request",{"skillNo":227,"name":228,"nameZh":6,"description":229,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":230,"categories":231,"keywords":239,"publishedAt":33},"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",[232,235,236],{"categoryNo":233,"categoryName":234,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000013","分析与可视化",{"categoryNo":147,"categoryName":148,"taxonomyType":118,"taxonomyTypeDesc":119},{"categoryNo":237,"categoryName":238,"taxonomyType":118,"taxonomyTypeDesc":119},"01JBSEEDCAT000000000000033","数据分析师",[209,160,240,155,207,124,241,126,242,243,27,28,244,245,170,246,247,248,249,250,132,32],"sero dashboard ui","data","redesign","view","up","clean","compact","shared","widgets","trigger","make"]