[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"extension-skill-anthropics-webapp-testing-uk":3,"guides-for-anthropics-webapp-testing":266},{"_creationTime":4,"_id":5,"children":6,"community":7,"display":9,"evaluation":22,"identity":191,"isFallback":196,"parentExtension":197,"providers":248,"relations":254,"repo":255,"workflow":265},1778003232571.9216,"k170ar5j9zen6bm13fhq0x2r2s864bb4",[],{"reviewCount":8},0,{"description":10,"installMethods":11,"name":12,"sourceUrl":13,"tags":14},"Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.",{},"Web Application Testing","https://github.com/anthropics/skills/tree/HEAD/skills/webapp-testing",[15,16,17,18,19,20,21],"playwright","testing","web-development","automation","python","devops","coding",{"_creationTime":23,"_id":24,"extensionId":5,"locale":25,"result":26,"trustSignals":179,"workflow":189},1778007125066.7239,"kn7cy9634245nfbm019ygfyj3d865ved","en",{"checks":27,"evaluatedAt":169,"extensionSummary":170,"promptVersionExtension":171,"promptVersionScoring":172,"rationale":173,"score":174,"summary":175,"tags":176,"targetMarket":177,"tier":178},[28,33,36,39,43,46,50,55,58,61,65,70,73,77,80,83,86,89,92,95,99,103,107,111,115,118,121,124,128,131,134,137,140,143,147,150,153,156,159,162,166],{"category":29,"check":30,"severity":31,"summary":32},"Practical Utility","Problem relevance","pass","The description clearly states the problem of testing local web applications and highlights key functionalities like verifying frontend, debugging, capturing screenshots, and viewing logs.",{"category":29,"check":34,"severity":31,"summary":35},"Unique selling proposition","The skill provides a specific toolkit and helper scripts for Playwright, offering value beyond a simple prompt by managing server lifecycles and guiding users through reconnaissance-then-action patterns for web app testing.",{"category":29,"check":37,"severity":31,"summary":38},"Production readiness","The extension is production-ready, offering robust scripts for server management and a clear pattern for web application testing, covering the typical lifecycle from server startup to automation execution.",{"category":40,"check":41,"severity":31,"summary":42},"Scope","Single responsibility principle","The skill focuses on the domain of local web application testing using Playwright and associated helper scripts, without extending into unrelated areas.",{"category":40,"check":44,"severity":31,"summary":45},"Description quality","The displayed description accurately and concisely reflects the skill's capabilities.",{"category":47,"check":48,"severity":31,"summary":49},"Invocation","Scoped tools","The skill relies on Python scripts that encapsulate specific functionalities, promoting a verb-noun structure for actions rather than relying on a single generalist tool.",{"category":51,"check":52,"severity":53,"summary":54},"Documentation","Configuration & parameter reference","warning","While the script usage is explained with `--help`, the specific parameters for the Playwright automation itself (e.g., browser options, wait conditions) are not explicitly documented in the SKILL.md, requiring users to consult Playwright documentation.",{"category":40,"check":56,"severity":31,"summary":57},"Tool naming","The primary script is named `with_server.py`, which is descriptive of its function in managing server lifecycles.",{"category":40,"check":59,"severity":31,"summary":60},"Minimal I/O surface","The helper scripts appear to manage their inputs and outputs effectively, with the main automation logic expected to be provided by the user's Python script.",{"category":62,"check":63,"severity":31,"summary":64},"License","License usability","The license is Apache 2.0, a permissive open-source license, clearly indicated by the LICENSE.txt file and referenced in the SKILL.md.",{"category":66,"check":67,"severity":68,"summary":69},"Maintenance","Commit recency","not_applicable","The provided Trust Signals indicate 'n/a' for the last commit date, and the repository structure doesn't lend itself to this check for individual skills.",{"category":66,"check":71,"severity":53,"summary":72},"Dependency Management","The Python scripts use Playwright, but there's no explicit mention of vulnerability scanning or automated dependency updates for these Python dependencies.",{"category":74,"check":75,"severity":31,"summary":76},"Security","Secret Management","The skill does not appear to handle or expose secrets directly; user-provided automation scripts would be responsible for secure secret management.",{"category":74,"check":78,"severity":31,"summary":79},"Injection","The skill relies on user-provided Python scripts for automation, and assumes these scripts handle any untrusted data appropriately. No direct loading of external untrusted data is observed within the skill's own scripts.",{"category":74,"check":81,"severity":31,"summary":82},"Transitive Supply-Chain Grenades","The skill bundles Python scripts and Playwright, but does not fetch remote code or data at runtime. User-provided scripts would be responsible for any external fetches.",{"category":74,"check":84,"severity":31,"summary":85},"Sandbox Isolation","The Python scripts are intended to run within a controlled environment, and the provided examples write outputs to predictable locations like `/tmp` or `/mnt/user-data/outputs`.",{"category":74,"check":87,"severity":31,"summary":88},"Sandbox escape primitives","No sandbox-escape primitives such as detached processes or deny-retry loops were found in the provided scripts.",{"category":74,"check":90,"severity":31,"summary":91},"Data Exfiltration","The skill itself does not perform any outbound calls for data exfiltration. User-provided scripts are responsible for their own outbound communication.",{"category":74,"check":93,"severity":31,"summary":94},"Hidden Text Tricks","The bundled files do not contain any hidden-steering tricks, invisible characters, or obfuscated content.",{"category":96,"check":97,"severity":31,"summary":98},"Hooks","Opaque code execution","The bundled scripts are standard Python and are not obfuscated, minified, or fetched at runtime.",{"category":100,"check":101,"severity":31,"summary":102},"Portability","Structural Assumption","The skill assumes standard Python and Playwright environments. It correctly uses relative paths or standard output directories for temporary files.",{"category":104,"check":105,"severity":68,"summary":106},"Trust","Issues Attention","Issues data is not available for this repository.",{"category":108,"check":109,"severity":53,"summary":110},"Versioning","Release Management","There is no explicit versioning information (e.g., version field in SKILL.md, CHANGELOG, or Git tags) for this skill. The installation instructions do not specify a version, implying use of the main branch.",{"category":112,"check":113,"severity":53,"summary":114},"Code Execution","Validation","The Python scripts themselves do not appear to use a schema validation library for their arguments; users are expected to provide correct command-line arguments.",{"category":74,"check":116,"severity":68,"summary":117},"Unguarded Destructive Operations","The skill is primarily for testing and automation, and the provided scripts do not contain inherently destructive operations like deletions or infrastructure changes without appropriate user-defined safeguards.",{"category":112,"check":119,"severity":31,"summary":120},"Error Handling","The `with_server.py` script includes error handling for server startup failures and uses `sys.exit()` to propagate command return codes. User-provided automation scripts are expected to handle their own Playwright errors.",{"category":112,"check":122,"severity":31,"summary":123},"Logging","The `with_server.py` script provides console output for server status and command execution. User automation scripts can implement their own logging, as demonstrated in the `console_logging.py` example.",{"category":125,"check":126,"severity":68,"summary":127},"Compliance","GDPR","The skill does not operate on personal data; it's a tool for web application testing.",{"category":125,"check":129,"severity":31,"summary":130},"Target market","The extension is a general-purpose web application testing tool with no regional restrictions; targetMarket is global.",{"category":100,"check":132,"severity":31,"summary":133},"Runtime stability","The skill relies on standard Python and Playwright, which are widely available. The `with_server.py` script handles server startup and cleanup, promoting stability.",{"category":47,"check":135,"severity":31,"summary":136},"Precise Purpose","The skill clearly defines its purpose as a toolkit for local web application testing using Playwright, and the decision tree helps users choose the appropriate approach.",{"category":47,"check":138,"severity":31,"summary":139},"Concise Frontmatter","The frontmatter is concise, providing a clear name and description that effectively communicates the skill's core capability.",{"category":51,"check":141,"severity":31,"summary":142},"Concise Body","The SKILL.md is concise, outlining the core concepts and directing users to example scripts and helper script usage.",{"category":144,"check":145,"severity":31,"summary":146},"Context","Progressive Disclosure","The SKILL.md is concise and effectively links to external files for examples, promoting progressive disclosure of information.",{"category":144,"check":148,"severity":68,"summary":149},"Forked exploration","This skill is a utility for running Playwright scripts, not an exploration or audit-style skill that would require forked context.",{"category":29,"check":151,"severity":31,"summary":152},"Usage examples","The skill provides several ready-to-use examples demonstrating element discovery, console logging, and static HTML automation, with clear instructions on how to run them.",{"category":29,"check":154,"severity":31,"summary":155},"Edge cases","The skill explicitly addresses the common pitfall of inspecting the DOM before waiting for 'networkidle' and lists best practices for waits and selectors, indicating handling of at least one failure mode.",{"category":100,"check":157,"severity":68,"summary":158},"Tool Fallback","The skill does not rely on external tools like MCP servers; it uses standard Python and Playwright.",{"category":100,"check":160,"severity":31,"summary":161},"Stack assumptions","The skill explicitly states its reliance on Python 3 and Playwright, and the `with_server.py` script includes a shebang. Example scripts demonstrate basic Python usage.",{"category":163,"check":164,"severity":31,"summary":165},"Safety","Halt on unexpected state","The `with_server.py` script includes error handling for server startup and the main command execution, halting the workflow on unexpected states and reporting errors.",{"category":100,"check":167,"severity":31,"summary":168},"Cross-skill coupling","The skill is self-contained and does not implicitly rely on other skills. It focuses solely on web application testing with Playwright.",1778007056559,"This skill provides Python scripts and guidance for using Playwright to test local web applications. It includes a helper script to manage server lifecycles (single or multiple) and offers examples for element discovery, console logging, and interacting with static HTML files.","2.0.0","3.4.0","The webapp-testing skill is well-structured and documented, providing a robust toolkit for local web application testing with Playwright. It effectively manages server lifecycles and guides users through common testing patterns. The skill exhibits strong production readiness, good documentation quality, and clear scope. A minor warning exists for the lack of explicit parameter documentation for Playwright configurations within the SKILL.md, and for dependency management of Python packages.",90,"A comprehensive toolkit for automating local web application testing with Playwright, including server management and example workflows.",[15,16,17,18,19],"global","verified",{"codeQuality":180,"collectedAt":181,"documentation":182,"maintenance":184,"security":185,"testCoverage":188},{},1778007042667,{"descriptionLength":183,"readmeSize":8},204,{},{"hasNpmPackage":186,"license":187,"smitheryVerified":186},false,"Complete terms in LICENSE.txt",{"hasCi":186,"hasTests":186},{"invalidatedAt":190,"updatedAt":190},1778008076651,{"githubOwner":192,"githubRepo":193,"locale":25,"slug":194,"type":195},"anthropics","skills","webapp-testing","skill",true,{"_creationTime":198,"_id":199,"community":200,"display":201,"identity":209,"parentExtension":212,"providers":243,"relations":246,"workflow":247},1778003232571.9158,"k178h7yq3ctta15zcwenpxpkvd864mcm",{"reviewCount":8},{"description":202,"installMethods":203,"name":204,"sourceUrl":205,"tags":206},"Collection of example skills demonstrating various capabilities including skill creation, MCP building, visual design, algorithmic art, internal communications, web testing, artifact building, Slack GIFs, and theme styling",{},"Example Skills Collection","https://github.com/anthropics/skills",[207,193,208],"examples","mcp",{"githubOwner":192,"githubRepo":193,"locale":25,"slug":210,"type":211},"example-skills","plugin",{"_creationTime":213,"_id":214,"community":215,"display":216,"identity":226,"providers":229,"relations":237,"workflow":239},1778003232571.9128,"k17124zdhjkq8c15ck8qz63e5d8652gy",{"reviewCount":8},{"description":217,"installMethods":218,"name":219,"sourceUrl":205,"tags":220},"Anthropic example skills",{},"Anthropic Skills",[207,221,193,222,223,224,225],"documentation","claude","creative","technical","enterprise",{"githubOwner":192,"githubRepo":193,"locale":25,"slug":227,"type":228},"anthropic-agent-skills","marketplace",{"extract":230,"smithery":236},{"commitSha":231,"license":232,"marketplace":233},"d230a6dd6eb1a0dbee9fec55e2f00a96e28dff81","Apache-2.0",{"name":227,"pluginCount":234,"version":235},3,"1.0.0",{"qualityScore":8,"totalActivations":8,"uniqueUsers":8,"useCount":8,"verified":186},{"repoId":238},"kd72m31vxr2nd4hahhzvp0cyrn864eyx",{"anyEnrichmentAt":190,"extractAt":240,"githubAt":241,"invalidatedAt":190,"llmAt":242,"smitheryAt":190,"updatedAt":190},1778003232571,1778003234861,1778007125066,{"extract":244,"smithery":245},{"commitSha":231,"license":68},{"qualityScore":8,"totalActivations":8,"uniqueUsers":8,"useCount":8,"verified":186},{"parentExtensionId":214,"repoId":238},{"anyEnrichmentAt":190,"extractAt":240,"githubAt":241,"invalidatedAt":190,"llmAt":242,"smitheryAt":190,"updatedAt":190},{"extract":249,"smithery":250},{"commitSha":231,"license":232},{"qualityScore":251,"totalActivations":252,"uniqueUsers":253,"useCount":8,"verified":186},0.9738781,547,242,{"parentExtensionId":199,"repoId":238},{"_creationTime":256,"_id":238,"identity":257,"providers":258,"workflow":263},1777995558409.8123,{"githubOwner":192,"githubRepo":193,"sourceUrl":205},{"discover":259},{"sources":260},[261,262],"skills-sh","smithery",{"discoverAt":264,"extractAt":240,"updatedAt":240},1777995558409,{"anyEnrichmentAt":190,"extractAt":240,"githubAt":241,"invalidatedAt":190,"llmAt":242,"smitheryAt":190,"updatedAt":190},[]]