[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"extension-marketplace-lackeyjb-playwright-skill-zh-CN":3,"guides-for-lackeyjb-playwright-skill":339,"similar-k1701v4eeyp2nrbranrawzfcph86mm3m-zh-CN":340},{"_creationTime":4,"_id":5,"children":6,"community":50,"display":51,"evaluation":56,"identity":262,"isFallback":248,"parentExtension":264,"providers":265,"relations":271,"repo":272,"tags":336,"workflow":337},1778692147455.6626,"k1701v4eeyp2nrbranrawzfcph86mm3m",[7],{"_creationTime":8,"_id":9,"community":10,"display":12,"identity":17,"providers":22,"relations":41,"tags":45,"workflow":46},1778692146998.9565,"k172sf0z1r578m5p614z1mf8x586mh4x",{"reviewCount":11},0,{"description":13,"installMethods":14,"name":15,"sourceUrl":16},"用于通用浏览器自动化的 Claude 代码技能，支持 Playwright。可自动检测开发服务器，将干净的测试脚本写入 /tmp，并自主处理任何浏览器自动化任务。",{"claudeCode":15},"playwright-skill","https://github.com/lackeyjb/playwright-skill",{"basePath":18,"githubOwner":19,"githubRepo":15,"locale":20,"slug":15,"type":21},"","lackeyjb","zh-CN","plugin",{"evaluate":23,"extract":35},{"promptVersionExtension":24,"promptVersionScoring":25,"score":26,"tags":27,"targetMarket":33,"tier":34},"3.0.0","4.4.0",98,[28,29,30,31,32],"playwright","browser-automation","testing","node-js","typescript","global","verified",{"commitSha":36,"license":37,"plugin":38},"HEAD","MIT",{"mcpCount":11,"provider":39,"skillCount":40},"classify",1,{"parentExtensionId":42,"repoId":43,"translatedFrom":44},"k17dcvyy3hvpjxydjrvvgd0nv186nadc","kd76wgbx2e4esthhfdhg025gr186nhxg","k17fkw9kn50815w60208r9r3hh86m1ad",[29,31,28,30,32],{"evaluatedAt":47,"extractAt":48,"updatedAt":49},1778692100488,1778692034553,1778692146999,{"reviewCount":11},{"description":52,"installMethods":53,"name":55,"sourceUrl":16},"Playwright 浏览器自动化技能，适用于 Claude Code",{"claudeCode":54},"lackeyjb/playwright-skill","Playwright Skill",{"_creationTime":57,"_id":58,"extensionId":5,"locale":20,"result":59,"trustSignals":246,"workflow":260},1778692147455.6628,"kn7a9e69pya4dyqntr2y94h0z186nctk",{"checks":60,"evaluatedAt":206,"extensionSummary":207,"features":208,"nonGoals":214,"practices":218,"prerequisites":223,"promptVersionExtension":227,"promptVersionScoring":25,"purpose":228,"rationale":229,"score":230,"summary":231,"tags":232,"tier":34,"useCases":235,"workflow":240},[61,66,69,72,76,79,84,88,91,94,98,102,105,109,112,115,118,121,124,127,131,135,139,143,147,150,153,156,160,163,166,169,172,175,178,182,186,190,193,197,200,203],{"category":62,"check":63,"severity":64,"summary":65},"Practical Utility","Problem relevance","pass","描述清楚地说明该技能为 Claude Code 提供通用浏览器自动化，满足了自动化浏览器交互的需求。",{"category":62,"check":67,"severity":64,"summary":68},"Unique selling proposition","该技能允许 Claude 即时编写和执行自定义 Playwright 自动化，通过实现复杂、特定任务的浏览器交互，提供了超越默认 LLM 功能的显著价值。",{"category":62,"check":70,"severity":64,"summary":71},"Production readiness","该扩展为浏览器自动化任务提供了完整的生命周期，包括设置、默认可见浏览器执行和安全清理，使其能够用于实际工作流程。",{"category":73,"check":74,"severity":64,"summary":75},"Scope","Single responsibility principle","该扩展专注于 Playwright 浏览器自动化，这是一个单一的、连贯的领域，不包含无关的功能。",{"category":73,"check":77,"severity":64,"summary":78},"Description quality","描述准确而简洁地反映了该技能在 Claude Code 中实现 Playwright 浏览器自动化的目的。",{"category":80,"check":81,"severity":82,"summary":83},"Invocation","Scoped tools","not_applicable","此扩展是一个市场列表，不直接公开工具。",{"category":85,"check":86,"severity":64,"summary":87},"Documentation","Configuration & parameter reference","README 和配置部分清楚地记录了无头模式、慢动作、超时和屏幕截图位置的默认设置。",{"category":73,"check":89,"severity":82,"summary":90},"Tool naming","作为一个市场条目，此扩展不公开面向用户的工具。",{"category":73,"check":92,"severity":82,"summary":93},"Minimal I/O surface","这是一个市场扩展，没有具有参数模式或响应形状的工具。",{"category":95,"check":96,"severity":64,"summary":97},"License","License usability","LICENSE 文件清楚地表明是 MIT 许可证，这是一个宽松的开源许可证。",{"category":99,"check":100,"severity":64,"summary":101},"Maintenance","Commit recency","最后一次提交是在 2025 年 12 月 19 日，在过去 3 个月内。",{"category":99,"check":103,"severity":64,"summary":104},"Dependency Management","`npm run setup` 脚本处理 Playwright 和浏览器的安装，有效管理第三方依赖项。",{"category":106,"check":107,"severity":64,"summary":108},"Security","Secret Management","该扩展似乎不处理或公开敏感信息。Playwright 操作仅限于浏览器上下文和本地临时文件。",{"category":106,"check":110,"severity":64,"summary":111},"Injection","README 强调 Claude 编写自定义代码，这意味着用户输入被视为代码生成的输入，而不是直接执行。",{"category":106,"check":113,"severity":64,"summary":114},"Transitive Supply-Chain Grenades","安装说明建议使用已发布的版本或克隆存储库，并且 `npm run setup` 脚本在本地安装依赖项，防止运行时下载未经验证的代码。",{"category":106,"check":116,"severity":64,"summary":117},"Sandbox Isolation","该技能在浏览器上下文中运行并本地管理临时文件，没有迹象表明尝试修改其指定范围之外的文件。",{"category":106,"check":119,"severity":64,"summary":120},"Sandbox escape primitives","没有证据表明存在分离进程的生成或重试循环，这些可能导致沙箱逃逸。",{"category":106,"check":122,"severity":64,"summary":123},"Data Exfiltration","该扩展专注于浏览器自动化，不包含读取和向第三方提交机密数据的说明或机制。",{"category":106,"check":125,"severity":64,"summary":126},"Hidden Text Tricks","捆绑的文件和 README 不包含隐藏的控制技巧、不可见的 Unicode 字符或其他混淆方法。",{"category":128,"check":129,"severity":64,"summary":130},"Hooks","Opaque code execution","`run.js` 执行器和 `package.json` 脚本似乎是标准的 Node.js 代码，没有混淆、eval 或用于可执行内容的运行时获取。",{"category":132,"check":133,"severity":64,"summary":134},"Portability","Structural Assumption","安装说明为全局和项目特定安装提供了清晰的路径，并且 `npm run setup` 设计为在技能目录内运行。",{"category":136,"check":137,"severity":64,"summary":138},"Trust","Issues Attention","在过去 90 天内，没有打开的 issue，也没有关闭的 issue，这表明维护活跃或用户报告的 issue 较少。",{"category":140,"check":141,"severity":64,"summary":142},"Versioning","Release Management","`marketplace.json` 和 `package.json` 都声明了一个版本（分别为 `1.0.0` 和 `4.1.0`），并且 GitHub releases 可用。",{"category":144,"check":145,"severity":64,"summary":146},"Code Execution","Validation","`run.js` 执行器和 Playwright 的使用暗示了对浏览器自动化任务输入的健壮验证和清理。",{"category":106,"check":148,"severity":64,"summary":149},"Unguarded Destructive Operations","浏览器自动化操作包含在浏览器沙箱和临时文件中；没有证据表明存在超出此范围的破坏性文件系统操作。",{"category":144,"check":151,"severity":64,"summary":152},"Error Handling","Node.js 和 Playwright 的使用表明自动化期间的错误将通过执行器得到有意义的捕获和报告。",{"category":144,"check":154,"severity":64,"summary":155},"Logging","README 提到屏幕截图保存在 `/tmp/`，控制台输出被返回，这暗示了一种用于审查的日志记录形式。",{"category":157,"check":158,"severity":64,"summary":159},"Compliance","GDPR","该技能在浏览器内容和本地临时文件上运行；它似乎不直接处理个人数据。",{"category":157,"check":161,"severity":64,"summary":162},"Target market","该扩展的功能是通用的浏览器自动化，不包含任何区域性或管辖权逻辑。",{"category":132,"check":164,"severity":64,"summary":165},"Runtime stability","该技能是为 Node.js 和 Playwright 设计的，它们是跨平台的，安装说明涵盖了不同的环境。",{"category":85,"check":167,"severity":64,"summary":168},"README","README 文件内容全面，清楚地说明了扩展的目的、功能、安装和用法。",{"category":73,"check":170,"severity":82,"summary":171},"Tool surface size","这是一个市场扩展，而不是具有特定工具界面的技能。",{"category":80,"check":173,"severity":82,"summary":174},"Overlapping near-synonym tools","作为一个市场扩展，它不公开可能具有重叠近义词的工具。",{"category":85,"check":176,"severity":64,"summary":177},"Phantom features","所有宣传的功能，如自定义代码生成和可见浏览器执行，都由描述的功能和安装过程支持。",{"category":179,"check":180,"severity":64,"summary":181},"Install","Installation instruction","README 提供了清晰的多选项安装说明，包括插件和独立技能，以及设置步骤和验证。",{"category":183,"check":184,"severity":64,"summary":185},"Errors","Actionable error messages","README 的故障排除部分解决了常见的错误，如 Playwright 安装和模块未找到，提供了清晰的修复步骤。",{"category":187,"check":188,"severity":64,"summary":189},"Execution","Pinned dependencies","`package.json` 和 `npm run setup` 脚本管理依赖项，这意味着 Playwright 及其浏览器使用了固定的版本。",{"category":73,"check":191,"severity":82,"summary":192},"Dry-run preview","作为浏览器自动化工具，真正的‘模拟运行’不适用；但是，能够看到浏览器和控制台输出提供了某种预览。",{"category":194,"check":195,"severity":64,"summary":196},"Protocol","Idempotent retry & timeouts","Playwright 配置指定了 '30s' 的超时时间，并且浏览器操作在单个会话中通常是幂等的。",{"category":157,"check":198,"severity":64,"summary":199},"Telemetry opt-in","README 或配置中没有提到遥测收集，这意味着默认情况下不发出遥测。",{"category":73,"check":201,"severity":64,"summary":202},"Theme declaration","`marketplace.json` 明确声明主题为 'testing'，并将插件归类为 'testing'，表明了明确的策展重点。",{"category":140,"check":204,"severity":64,"summary":205},"Per-entry version metadata","`marketplace.json` 中 'playwright-skill' 的条目包含显式的版本元数据（'4.1.0'）。",1778692058628,"此 Claude Code 插件提供了一个使用 Playwright 进行通用浏览器自动化的技能。它允许 Claude 即时编写和执行自定义 Playwright 脚本，默认情况下浏览器可见，并包含安全的清理和可选的实用功能。",[209,210,211,212,213],"自主 Playwright 代码生成和执行","默认可见浏览器自动化","通过通用执行器避免模块解析错误","渐进式披露以实现简洁的文档","安全临时文件管理和全面的辅助功能",[215,216,217],"执行非浏览器相关的自动化","在浏览器上下文之外充当通用脚本工具","替换不需要自动化的任务的直接用户交互",[219,220,221,222],"浏览器自动化","端到端测试","网页抓取","自动化测试",[224,225,226],"Node.js","Playwright（通过 npm run setup 安装）","Chromium（通过 npm run setup 安装）","3.1.0","赋予 Claude 执行复杂浏览器自动化任务的能力，在 Claude Code 环境中直接实现测试、UX 验证和其他 Web 交互。","该扩展经过精心打磨，拥有全面的文档、强大的安全实践和清晰的版本控制。在显式模拟运行（dry-run）功能方面的细微改进机会并不影响其整体质量。",97,"一个强大且文档齐全的 Playwright 浏览器自动化技能，适用于 Claude Code。",[28,29,30,233,234],"e2e","claude-code",[236,237,238,239],"测试网页功能和用户流程","验证不同视口下的响应式设计","自动化表单提交和用户交互","执行视觉测试并检查损坏的链接/图像",[241,242,243,244,245],"用户描述浏览器自动化任务","Claude 编写自定义 Playwright 代码","通用执行器以正确的模块解析运行代码","浏览器可见地打开（默认）并执行自动化","显示带有控制台输出和屏幕截图的结果",{"codeQuality":247,"collectedAt":249,"documentation":250,"maintenance":253,"security":258,"testCoverage":259},{"hasLockfile":248},false,1778692037229,{"descriptionLength":251,"readmeSize":252},51,8587,{"closedIssues90d":11,"forks":254,"hasChangelog":248,"manifestVersion":255,"openIssues90d":11,"pushedAt":256,"stars":257},182,"1.0.0",1766161418000,2621,{"hasNpmPackage":248,"license":37,"smitheryVerified":248},{"hasCi":248,"hasTests":248},{"updatedAt":261},1778692147455,{"basePath":18,"githubOwner":19,"githubRepo":15,"locale":20,"slug":15,"type":263},"marketplace",null,{"evaluate":266,"extract":268},{"promptVersionExtension":227,"promptVersionScoring":25,"score":230,"tags":267,"targetMarket":33,"tier":34},[28,29,30,233,234],{"commitSha":36,"license":37,"marketplace":269,"plugin":270},{"name":15,"pluginCount":40},{"mcpCount":11,"provider":39,"skillCount":11},{"repoId":43,"translatedFrom":42},{"_creationTime":273,"_id":43,"identity":274,"providers":275,"workflow":332},1778692030667.4475,{"githubOwner":19,"githubRepo":15,"sourceUrl":16},{"classify":276,"discover":316,"github":319},{"commitSha":36,"extensions":277},[278,293,305],{"basePath":18,"description":279,"displayName":15,"installMethods":280,"rationale":281,"selectedPaths":282,"source":291,"sourceLanguage":292,"type":263},"Playwright browser automation skill for Claude Code",{"claudeCode":54},"marketplace.json at .claude-plugin/marketplace.json",[283,286,288],{"path":284,"priority":285},".claude-plugin/marketplace.json","mandatory",{"path":287,"priority":285},"README.md",{"path":289,"priority":290},"LICENSE","high","rule","en",{"basePath":18,"description":294,"displayName":15,"installMethods":295,"license":37,"rationale":296,"selectedPaths":297,"source":291,"sourceLanguage":292,"type":21},"Claude Code Skill for general-purpose browser automation with Playwright. Auto-detects dev servers, writes clean test scripts to /tmp, and autonomously handles any browser automation task.",{"claudeCode":15},"plugin manifest at .claude-plugin/plugin.json",[298,300,301,302],{"path":299,"priority":285},".claude-plugin/plugin.json",{"path":287,"priority":285},{"path":289,"priority":290},{"path":303,"priority":304},"skills/playwright-skill/SKILL.md","medium",{"basePath":306,"description":307,"displayName":15,"installMethods":308,"rationale":309,"selectedPaths":310,"source":291,"sourceLanguage":292,"type":315},"skills/playwright-skill","Complete browser automation with Playwright. Auto-detects dev servers, writes clean test scripts to /tmp. Test pages, fill forms, take screenshots, check responsive design, validate UX, test login flows, check links, automate any browser task. Use when user wants to test websites, automate browser interactions, validate web functionality, or perform any browser-based testing.",{"claudeCode":54},"SKILL.md frontmatter at skills/playwright-skill/SKILL.md",[311,313],{"path":312,"priority":285},"SKILL.md",{"path":314,"priority":304},"API_REFERENCE.md","skill",{"sources":317},[318],"manual",{"closedIssues90d":11,"description":320,"forks":254,"license":37,"openIssues90d":11,"pushedAt":256,"readmeSize":252,"stars":257,"topics":321},"Claude Code Skill for browser automation with Playwright. Model-invoked - Claude autonomously writes and executes custom automation for testing and validation.",[322,323,29,324,234,325,326,327,328,28,329,330,331],"ai-tools","automation","claude","claude-skills","developer-tools","e2e-testing","nodejs","web-testing","claude-plugin","model-invoked",{"classifiedAt":333,"discoverAt":334,"extractAt":335,"githubAt":335,"updatedAt":333},1778692034254,1778692030667,1778692032521,[29,234,233,28,30],{"evaluatedAt":338,"extractAt":48,"updatedAt":261},1778692058733,[],[341,372,402,434],{"_creationTime":342,"_id":343,"community":344,"display":345,"identity":351,"providers":353,"relations":364,"tags":367,"workflow":368},1778696854815.34,"k1717xhebd5pc0zk6w3342r34d86myfe",{"reviewCount":11},{"description":346,"installMethods":347,"name":349,"sourceUrl":350},"使用 Claude Code 的智能权重削减技术，将有效上下文加倍，从而修剪臃肿的会话，保护代理团队免受压缩，并通过 MCP 工具监控令牌使用情况。",{"claudeCode":348},"Ruya-AI/cozempic","cozempic","https://github.com/Ruya-AI/cozempic",{"basePath":18,"githubOwner":352,"githubRepo":349,"locale":20,"slug":349,"type":263},"Ruya-AI",{"evaluate":354,"extract":361},{"promptVersionExtension":227,"promptVersionScoring":25,"score":355,"tags":356,"targetMarket":33,"tier":34},100,[357,358,234,359,360],"context","optimization","session-management","ai-productivity",{"commitSha":36,"marketplace":362,"plugin":363},{"name":349,"pluginCount":40},{"mcpCount":11,"provider":39,"skillCount":11},{"repoId":365,"translatedFrom":366},"kd79d77qmyh3826dwhk7ynx9xd86nmqm","k1730g2nnwga3htdfycmc8h1gd86m3cs",[360,234,357,358,359],{"evaluatedAt":369,"extractAt":370,"updatedAt":371},1778696729067,1778696712852,1778696854815,{"_creationTime":373,"_id":374,"community":375,"display":376,"identity":382,"providers":387,"relations":396,"tags":398,"workflow":399},1778691765524.3726,"k17c1ndsb7hncr0k5vadc69rnx86njvh",{"reviewCount":11},{"description":377,"installMethods":378,"name":380,"sourceUrl":381},"🪨 why use many token when few token do trick — Claude Code skill that cuts 65% of tokens by talking like caveman",{"claudeCode":379},"juliusbrussee/caveman","caveman-repo","https://github.com/juliusbrussee/caveman",{"basePath":383,"githubOwner":384,"githubRepo":385,"locale":292,"slug":386,"type":263},".agents/plugins","juliusbrussee","caveman","plugins",{"evaluate":388,"extract":394},{"promptVersionExtension":227,"promptVersionScoring":25,"score":355,"tags":389,"targetMarket":33,"tier":34},[390,391,392,234,393],"token-compression","llm-efficiency","cli","prompt-engineering",{"commitSha":36,"marketplace":395},{"name":380,"pluginCount":11},{"repoId":397},"kd7890f0sfy0ymf1pakpx7vqch86nmew",[234,392,391,393,390],{"evaluatedAt":400,"extractAt":401,"updatedAt":400},1778691782274,1778691765524,{"_creationTime":403,"_id":404,"community":405,"display":406,"identity":412,"providers":415,"relations":428,"tags":430,"workflow":431},1778683562157.875,"k174pnm5ch9ab6fr1etef2f2b586m74b",{"reviewCount":11},{"description":407,"installMethods":408,"name":410,"sourceUrl":411},"Persistent memory and cognitive profiling plugins for Claude Code",{"claudeCode":409},"cdeust/Cortex","cortex-plugins","https://github.com/cdeust/Cortex",{"basePath":18,"githubOwner":413,"githubRepo":414,"locale":292,"slug":414,"type":263},"cdeust","Cortex",{"evaluate":416,"extract":425},{"promptVersionExtension":227,"promptVersionScoring":25,"score":355,"tags":417,"targetMarket":33,"tier":34},[418,419,420,234,421,422,423,424],"memory","cognitive-profiling","mcp","knowledge-graph","codebase-analysis","postgresql","pgvector",{"commitSha":36,"marketplace":426,"plugin":427},{"name":410,"pluginCount":40},{"mcpCount":11,"provider":39,"skillCount":11},{"repoId":429},"kd79gxpemvkr09a7zsb3h8kmah86nvgf",[234,422,419,421,420,418,424,423],{"evaluatedAt":432,"extractAt":433,"updatedAt":432},1778683583007,1778683562157,{"_creationTime":435,"_id":436,"community":437,"display":438,"identity":444,"providers":446,"relations":455,"tags":458,"workflow":459},1778698612243.148,"k173zz7pz5jrtxtr3d3vy4xn4n86n693",{"reviewCount":11},{"description":439,"installMethods":440,"name":442,"sourceUrl":443},"AI 代理的浏览器自动化",{"claudeCode":441},"vercel-labs/agent-browser","agent-browser","https://github.com/vercel-labs/agent-browser",{"basePath":18,"githubOwner":445,"githubRepo":442,"locale":20,"slug":442,"type":263},"vercel-labs",{"evaluate":447,"extract":452},{"promptVersionExtension":227,"promptVersionScoring":25,"score":448,"tags":449,"targetMarket":33,"tier":34},99,[29,392,450,30,451],"webdriver","ai-agent",{"commitSha":36,"marketplace":453,"plugin":454},{"name":442,"pluginCount":40},{"mcpCount":11,"provider":39,"skillCount":11},{"repoId":456,"translatedFrom":457},"kd74a6sfc26xa0ec2tpntj8r2986mn0a","k171hvn0e2t3jzczxm3vzspj3186mgj7",[451,29,392,30,450],{"evaluatedAt":460,"extractAt":461,"updatedAt":462},1778698406247,1778698388091,1778698612243]