[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"extension-skill-hyf0-vue-testing-best-practices-en":3,"guides-for-hyf0-vue-testing-best-practices":491,"similar-k17fjjgdng9c2xwz18cc594g0986n7wy-en":492},{"_creationTime":4,"_id":5,"children":6,"community":7,"display":9,"evaluation":15,"identity":241,"isFallback":225,"parentExtension":246,"providers":300,"relations":304,"repo":305,"tags":489,"workflow":490},1778690831986.3767,"k17fjjgdng9c2xwz18cc594g0986n7wy",[],{"reviewCount":8},0,{"description":10,"installMethods":11,"name":13,"sourceUrl":14},"Use for Vue.js testing. Covers Vitest, Vue Test Utils, component testing, mocking, testing patterns, and Playwright for E2E testing.",{"claudeCode":12},"hyf0/vue-skills","vue-testing-best-practices","https://github.com/hyf0/vue-skills",{"_creationTime":16,"_id":17,"extensionId":5,"locale":18,"result":19,"trustSignals":223,"workflow":239},1778691195044.539,"kn7erpxgefmwfg7zpckr0y2q2x86nfk0","en",{"checks":20,"evaluatedAt":192,"extensionSummary":193,"features":194,"nonGoals":200,"promptVersionExtension":203,"promptVersionScoring":204,"purpose":205,"rationale":206,"score":207,"summary":208,"tags":209,"targetMarket":216,"tier":217,"useCases":218},[21,26,29,32,36,39,44,48,51,54,58,62,65,69,72,75,78,81,84,87,91,95,99,103,107,110,113,116,120,123,126,129,132,135,138,142,146,150,153,157,160,163,166,169,173,176,179,182,185,189],{"category":22,"check":23,"severity":24,"summary":25},"Practical Utility","Problem relevance","pass","The description clearly states the problem of Vue.js testing and its coverage of related tools and patterns.",{"category":22,"check":27,"severity":24,"summary":28},"Unique selling proposition","The skill offers specific guidance for Vue.js testing patterns and tools that go beyond general AI capabilities.",{"category":22,"check":30,"severity":24,"summary":31},"Production readiness","The skill provides comprehensive guidance for setting up and executing various aspects of Vue.js testing, covering the full lifecycle.",{"category":33,"check":34,"severity":24,"summary":35},"Scope","Single responsibility principle","The skill focuses exclusively on Vue.js testing best practices and related tools, without extending into unrelated domains.",{"category":33,"check":37,"severity":24,"summary":38},"Description quality","The displayed description accurately and concisely reflects the skill's content and purpose.",{"category":40,"check":41,"severity":42,"summary":43},"Invocation","Scoped tools","not_applicable","This is a skill, not a tool-based extension, so the concept of scoped tools does not apply.",{"category":45,"check":46,"severity":42,"summary":47},"Documentation","Configuration & parameter reference","This skill does not expose explicit configurations or parameters for users to reference; it provides procedural guidance.",{"category":33,"check":49,"severity":42,"summary":50},"Tool naming","This is a skill and does not expose user-facing tools with names.",{"category":33,"check":52,"severity":42,"summary":53},"Minimal I/O surface","This is a skill that provides guidance, not a tool with distinct input/output schemas.",{"category":55,"check":56,"severity":24,"summary":57},"License","License usability","The extension uses the MIT license, which is a permissive open-source license, clearly declared in the LICENSE file and SKILL.md.",{"category":59,"check":60,"severity":24,"summary":61},"Maintenance","Commit recency","The last commit was on March 26, 2026, which is within the last 3 months.",{"category":59,"check":63,"severity":42,"summary":64},"Dependency Management","The skill itself does not appear to have external dependencies that require management within the skill's code.",{"category":66,"check":67,"severity":42,"summary":68},"Security","Secret Management","The skill provides guidance on testing and does not handle or expose secrets.",{"category":66,"check":70,"severity":24,"summary":71},"Injection","The skill's content focuses on testing best practices and does not appear to load untrusted third-party data as instructions.",{"category":66,"check":73,"severity":24,"summary":74},"Transitive Supply-Chain Grenades","The skill does not fetch remote content at runtime or include mechanisms that could lead to supply chain vulnerabilities.",{"category":66,"check":76,"severity":24,"summary":77},"Sandbox Isolation","The skill provides documentation and guidance, not executable code that would interact with the file system or sandbox.",{"category":66,"check":79,"severity":42,"summary":80},"Sandbox escape primitives","The skill does not contain scripts or code that could be used for sandbox escape.",{"category":66,"check":82,"severity":42,"summary":83},"Data Exfiltration","The skill's purpose is to provide testing guidance and does not involve reading or submitting confidential data.",{"category":66,"check":85,"severity":24,"summary":86},"Hidden Text Tricks","The bundled content (SKILL.md and README.md) is free of hidden steering tricks, control characters, or invisible unicode sequences.",{"category":88,"check":89,"severity":42,"summary":90},"Hooks","Opaque code execution","The skill does not contain any scripts or code that would be considered opaque execution.",{"category":92,"check":93,"severity":42,"summary":94},"Portability","Structural Assumption","The skill provides guidance and does not make assumptions about user project structure beyond general Vue.js practices.",{"category":96,"check":97,"severity":24,"summary":98},"Trust","Issues Attention","There are 0 open and 0 closed issues in the last 90 days, indicating either a new project or low issue volume.",{"category":100,"check":101,"severity":24,"summary":102},"Versioning","Release Management","The skill has a `version: 1.0.0` in its frontmatter.",{"category":104,"check":105,"severity":42,"summary":106},"Code Execution","Validation","This skill provides guidance and does not execute code with input arguments or structured output.",{"category":66,"check":108,"severity":42,"summary":109},"Unguarded Destructive Operations","The skill is purely informational and does not perform any destructive operations.",{"category":104,"check":111,"severity":42,"summary":112},"Error Handling","The skill provides documentation and does not execute code that would require error handling.",{"category":104,"check":114,"severity":42,"summary":115},"Logging","The skill does not execute code and therefore does not require logging.",{"category":117,"check":118,"severity":42,"summary":119},"Compliance","GDPR","The skill does not operate on data that could include personal information.",{"category":117,"check":121,"severity":24,"summary":122},"Target market","The skill is focused on Vue.js testing, a technology with global applicability, and has no regional restrictions.",{"category":92,"check":124,"severity":42,"summary":125},"Runtime stability","The skill is documentation-based and does not have runtime dependencies that would affect stability across platforms.",{"category":45,"check":127,"severity":24,"summary":128},"README","A README file exists and clearly states the project's purpose and available skills.",{"category":33,"check":130,"severity":42,"summary":131},"Tool surface size","This is a skill, not a tool-based extension, so the concept of tool surface size does not apply.",{"category":40,"check":133,"severity":42,"summary":134},"Overlapping near-synonym tools","This is a skill, not a tool-based extension, so overlapping tools are not applicable.",{"category":45,"check":136,"severity":24,"summary":137},"Phantom features","All advertised features in the README are supported by the listed skills in SKILL.md.",{"category":139,"check":140,"severity":24,"summary":141},"Install","Installation instruction","Clear installation instructions are provided in the README for both direct installation and the Claude Code Marketplace.",{"category":143,"check":144,"severity":42,"summary":145},"Errors","Actionable error messages","The skill provides guidance and documentation, not executable code paths that would emit user-facing errors.",{"category":147,"check":148,"severity":42,"summary":149},"Execution","Pinned dependencies","The skill does not bundle scripts with external dependencies requiring pinning.",{"category":33,"check":151,"severity":42,"summary":152},"Dry-run preview","The skill provides guidance and does not perform state-changing operations.",{"category":154,"check":155,"severity":42,"summary":156},"Protocol","Idempotent retry & timeouts","The skill does not involve remote calls or state-changing operations that would require idempotency or timeouts.",{"category":117,"check":158,"severity":42,"summary":159},"Telemetry opt-in","The skill does not emit telemetry.",{"category":40,"check":161,"severity":24,"summary":162},"Precise Purpose","The skill's purpose is precisely defined as Vue.js testing, covering specific tools and patterns.",{"category":40,"check":164,"severity":24,"summary":165},"Concise Frontmatter","The frontmatter is concise and effectively summarizes the core capability of Vue.js testing.",{"category":45,"check":167,"severity":24,"summary":168},"Concise Body","The SKILL.md body is concise and delegates deeper material to reference files.",{"category":170,"check":171,"severity":24,"summary":172},"Context","Progressive Disclosure","The SKILL.md outlines procedures and links to detailed reference files, demonstrating effective progressive disclosure.",{"category":170,"check":174,"severity":42,"summary":175},"Forked exploration","This skill focuses on best practices and does not involve deep exploration that would require forked context.",{"category":22,"check":177,"severity":24,"summary":178},"Usage examples","The README provides usage examples for other skills in the bundle, and the SKILL.md details specific testing scenarios.",{"category":22,"check":180,"severity":24,"summary":181},"Edge cases","The SKILL.md documents various edge cases and common gotchas in Vue.js testing, with links to specific solutions.",{"category":104,"check":183,"severity":42,"summary":184},"Tool Fallback","This skill does not rely on external tools or MCP servers, so fallback mechanisms are not applicable.",{"category":186,"check":187,"severity":42,"summary":188},"Safety","Halt on unexpected state","The skill provides guidance and documentation, not executable code that requires checking preconditions or halting on unexpected states.",{"category":92,"check":190,"severity":24,"summary":191},"Cross-skill coupling","The skill is self-contained and does not implicitly rely on other skills; related skills are cross-referenced explicitly.",1778691194930,"This skill provides comprehensive guidance on best practices for testing Vue.js applications, covering Vitest, Vue Test Utils, component testing strategies, mocking techniques, and end-to-end testing with Playwright.",[195,196,197,198,199],"Vitest setup and recommendations","Vue Test Utils component testing patterns","Mocking strategies for composables and Pinia","Handling async operations and race conditions","Playwright for end-to-end testing guidance",[201,202],"Providing executable test code, but rather guidance on how to write it.","Covering testing for Vue 2 or non-Vue JavaScript projects.","3.0.0","4.4.0","To guide users in effectively testing Vue.js applications by covering essential tools, patterns, and common pitfalls.","No critical or warning findings were present. All checks passed or were not applicable.",100,"Excellent skill for Vue.js testing, covering a wide range of tools and patterns with clear documentation.",[210,211,212,213,214,215],"vue-js","testing","vitest","playwright","component-testing","e2e-testing","global","verified",[219,220,221,222],"Setting up a Vitest testing environment for a Vue 3 project.","Implementing black-box testing for Vue components.","Resolving intermittent test failures due to race conditions.","Choosing and configuring an end-to-end testing framework for Vue apps.",{"codeQuality":224,"collectedAt":226,"documentation":227,"maintenance":230,"security":235,"testCoverage":237},{"hasLockfile":225},false,1778691174748,{"descriptionLength":228,"readmeSize":229},132,5159,{"closedIssues90d":8,"forks":231,"hasChangelog":225,"manifestVersion":232,"openIssues90d":8,"pushedAt":233,"stars":234},140,"1.0.0",1774504225000,2398,{"hasNpmPackage":225,"license":236,"smitheryVerified":225},"MIT",{"hasCi":238,"hasTests":225},true,{"updatedAt":240},1778691195044,{"basePath":242,"githubOwner":243,"githubRepo":244,"locale":18,"slug":13,"type":245},"skills/vue-testing-best-practices","hyf0","vue-skills","skill",{"_creationTime":247,"_id":248,"community":249,"display":250,"identity":254,"parentExtension":257,"providers":287,"relations":296,"tags":297,"workflow":298},1778690831986.3728,"k17fvvpt61wrah7aepwqhgjp4d86n8jx",{"reviewCount":8},{"description":251,"installMethods":252,"name":253,"sourceUrl":14},"Install all Vue.js skills at once, including best practices, testing, router, Pinia, JSX, Options API, debug guides, and composable patterns.",{"claudeCode":244},"Vue Skills Bundle",{"basePath":255,"githubOwner":243,"githubRepo":244,"locale":18,"slug":244,"type":256},"","plugin",{"_creationTime":258,"_id":259,"community":260,"display":261,"identity":264,"providers":266,"relations":281,"tags":283,"workflow":284},1778690831986.3726,"k177xnpmcr1m47q4bptm8mfn4186mcby",{"reviewCount":8},{"description":262,"installMethods":263,"name":244,"sourceUrl":14},"A collection of skills for Vue.js development.",{"claudeCode":12},{"basePath":255,"githubOwner":243,"githubRepo":244,"locale":18,"slug":244,"type":265},"marketplace",{"evaluate":267,"extract":275},{"promptVersionExtension":268,"promptVersionScoring":204,"score":269,"tags":270,"targetMarket":216,"tier":217},"3.1.0",95,[271,272,273,274,265],"vue","javascript","frontend","development",{"commitSha":276,"marketplace":277,"plugin":279},"HEAD",{"name":244,"pluginCount":278},9,{"mcpCount":8,"provider":280,"skillCount":8},"classify",{"repoId":282},"kd7a1a0bdc2ez150x3razht61n86m6a8",[274,273,272,265,271],{"evaluatedAt":285,"extractAt":286,"updatedAt":285},1778690847963,1778690831986,{"evaluate":288,"extract":293},{"promptVersionExtension":203,"promptVersionScoring":204,"score":289,"tags":290,"targetMarket":216,"tier":217},99,[210,256,274,291,211,292],"best-practices","composables",{"commitSha":276,"license":236,"plugin":294},{"mcpCount":8,"provider":280,"skillCount":295},8,{"parentExtensionId":259,"repoId":282},[291,292,274,256,211,210],{"evaluatedAt":299,"extractAt":286,"updatedAt":299},1778690869600,{"evaluate":301,"extract":303},{"promptVersionExtension":203,"promptVersionScoring":204,"score":207,"tags":302,"targetMarket":216,"tier":217},[210,211,212,213,214,215],{"commitSha":276},{"parentExtensionId":248,"repoId":282},{"_creationTime":306,"_id":282,"identity":307,"providers":308,"workflow":485},1778689596167.0537,{"githubOwner":243,"githubRepo":244,"sourceUrl":14},{"classify":309,"discover":479,"github":482},{"commitSha":276,"extensions":310},[311,324,331,340,348,356,364,372,380,388,393,398,449,454,459,464,469,474],{"basePath":255,"description":262,"displayName":244,"installMethods":312,"rationale":313,"selectedPaths":314,"source":323,"sourceLanguage":18,"type":265},{"claudeCode":12},"marketplace.json at .claude-plugin/marketplace.json",[315,318,320],{"path":316,"priority":317},".claude-plugin/marketplace.json","mandatory",{"path":319,"priority":317},"README.md",{"path":321,"priority":322},"LICENSE","high","rule",{"basePath":255,"description":251,"displayName":325,"installMethods":326,"rationale":327,"selectedPaths":328,"source":323,"sourceLanguage":18,"type":256},"vue-skills-bundle",{"claudeCode":244},"inline plugin source from marketplace.json at /",[329,330],{"path":319,"priority":317},{"path":321,"priority":322},{"basePath":332,"description":333,"displayName":334,"installMethods":335,"rationale":336,"selectedPaths":337,"source":323,"sourceLanguage":18,"type":256},"skills/create-adaptable-composable","Create a library-grade Vue composable that accepts maybe-reactive inputs (MaybeRef / MaybeRefOrGetter) so callers can pass a plain value, ref, or getter. Normalize inputs with toValue()/toRef() inside reactive effects (watch/watchEffect) to keep behavior predictable and reactive. Use this skill when user asks for creating adaptable or reusable composables.","create-adaptable-composable",{"claudeCode":334},"inline plugin source from marketplace.json at skills/create-adaptable-composable",[338],{"path":339,"priority":322},"SKILL.md",{"basePath":341,"description":342,"displayName":343,"installMethods":344,"rationale":345,"selectedPaths":346,"source":323,"sourceLanguage":18,"type":256},"skills/vue-best-practices","A collection of best practices and tips for developing applications using Vue.js. MUST be used when developing, refactoring, or reviewing Vue.js and Nuxt tasks.","vue-best-practices",{"claudeCode":343},"inline plugin source from marketplace.json at skills/vue-best-practices",[347],{"path":339,"priority":322},{"basePath":349,"description":350,"displayName":351,"installMethods":352,"rationale":353,"selectedPaths":354,"source":323,"sourceLanguage":18,"type":256},"skills/vue-debug-guides","Vue 3 debugging and error handling for runtime errors, warnings, async failures, and SSR/hydration issues. Use when diagnosing or fixing Vue issues.","vue-debug-guides",{"claudeCode":351},"inline plugin source from marketplace.json at skills/vue-debug-guides",[355],{"path":339,"priority":322},{"basePath":357,"description":358,"displayName":359,"installMethods":360,"rationale":361,"selectedPaths":362,"source":323,"sourceLanguage":18,"type":256},"skills/vue-jsx-best-practices","JSX syntax in Vue (e.g., class vs className, JSX plugin config).","vue-jsx-best-practices",{"claudeCode":359},"inline plugin source from marketplace.json at skills/vue-jsx-best-practices",[363],{"path":339,"priority":322},{"basePath":365,"description":366,"displayName":367,"installMethods":368,"rationale":369,"selectedPaths":370,"source":323,"sourceLanguage":18,"type":256},"skills/vue-options-api-best-practices","Vue 3 Options API style (data(), methods, this context). Each reference shows Options API solution only.","vue-options-api-best-practices",{"claudeCode":367},"inline plugin source from marketplace.json at skills/vue-options-api-best-practices",[371],{"path":339,"priority":322},{"basePath":373,"description":374,"displayName":375,"installMethods":376,"rationale":377,"selectedPaths":378,"source":323,"sourceLanguage":18,"type":256},"skills/vue-pinia-best-practices","Pinia stores, state management patterns, store setup, and reactivity with stores.","vue-pinia-best-practices",{"claudeCode":375},"inline plugin source from marketplace.json at skills/vue-pinia-best-practices",[379],{"path":339,"priority":322},{"basePath":381,"description":382,"displayName":383,"installMethods":384,"rationale":385,"selectedPaths":386,"source":323,"sourceLanguage":18,"type":256},"skills/vue-router-best-practices","Vue Router 4 patterns, navigation guards, route params, and route-component lifecycle interactions.","vue-router-best-practices",{"claudeCode":383},"inline plugin source from marketplace.json at skills/vue-router-best-practices",[387],{"path":339,"priority":322},{"basePath":242,"description":10,"displayName":13,"installMethods":389,"rationale":390,"selectedPaths":391,"source":323,"sourceLanguage":18,"type":256},{"claudeCode":13},"inline plugin source from marketplace.json at skills/vue-testing-best-practices",[392],{"path":339,"priority":322},{"basePath":332,"description":333,"displayName":334,"installMethods":394,"rationale":395,"selectedPaths":396,"source":323,"sourceLanguage":18,"type":245},{"claudeCode":12},"SKILL.md frontmatter at skills/create-adaptable-composable/SKILL.md",[397],{"path":339,"priority":317},{"basePath":341,"description":399,"displayName":343,"installMethods":400,"rationale":401,"selectedPaths":402,"source":323,"sourceLanguage":18,"type":245},"MUST be used for Vue.js tasks. Strongly recommends Composition API with `\u003Cscript setup>` and TypeScript as the standard approach. Covers Vue 3, SSR, Volar, vue-tsc. Load for any Vue, .vue files, Vue Router, Pinia, or Vite with Vue work. ALWAYS use Composition API unless the project explicitly requires Options API.",{"claudeCode":12},"SKILL.md frontmatter at skills/vue-best-practices/SKILL.md",[403,404,407,409,411,413,415,417,419,421,423,425,427,429,431,433,435,437,439,441,443,445,447],{"path":339,"priority":317},{"path":405,"priority":406},"references/animation-class-based-technique.md","medium",{"path":408,"priority":406},"references/animation-state-driven-technique.md",{"path":410,"priority":406},"references/component-async.md",{"path":412,"priority":406},"references/component-data-flow.md",{"path":414,"priority":406},"references/component-fallthrough-attrs.md",{"path":416,"priority":406},"references/component-keep-alive.md",{"path":418,"priority":406},"references/component-slots.md",{"path":420,"priority":406},"references/component-suspense.md",{"path":422,"priority":406},"references/component-teleport.md",{"path":424,"priority":406},"references/component-transition-group.md",{"path":426,"priority":406},"references/component-transition.md",{"path":428,"priority":406},"references/composables.md",{"path":430,"priority":406},"references/directives.md",{"path":432,"priority":406},"references/perf-avoid-component-abstraction-in-lists.md",{"path":434,"priority":406},"references/perf-v-once-v-memo-directives.md",{"path":436,"priority":406},"references/perf-virtualize-large-lists.md",{"path":438,"priority":406},"references/plugins.md",{"path":440,"priority":406},"references/reactivity.md",{"path":442,"priority":406},"references/render-functions.md",{"path":444,"priority":406},"references/sfc.md",{"path":446,"priority":406},"references/state-management.md",{"path":448,"priority":406},"references/updated-hook-performance.md",{"basePath":349,"description":350,"displayName":351,"installMethods":450,"rationale":451,"selectedPaths":452,"source":323,"sourceLanguage":18,"type":245},{"claudeCode":12},"SKILL.md frontmatter at skills/vue-debug-guides/SKILL.md",[453],{"path":339,"priority":317},{"basePath":357,"description":358,"displayName":359,"installMethods":455,"rationale":456,"selectedPaths":457,"source":323,"sourceLanguage":18,"type":245},{"claudeCode":12},"SKILL.md frontmatter at skills/vue-jsx-best-practices/SKILL.md",[458],{"path":339,"priority":317},{"basePath":365,"description":366,"displayName":367,"installMethods":460,"rationale":461,"selectedPaths":462,"source":323,"sourceLanguage":18,"type":245},{"claudeCode":12},"SKILL.md frontmatter at skills/vue-options-api-best-practices/SKILL.md",[463],{"path":339,"priority":317},{"basePath":373,"description":374,"displayName":375,"installMethods":465,"rationale":466,"selectedPaths":467,"source":323,"sourceLanguage":18,"type":245},{"claudeCode":12},"SKILL.md frontmatter at skills/vue-pinia-best-practices/SKILL.md",[468],{"path":339,"priority":317},{"basePath":381,"description":382,"displayName":383,"installMethods":470,"rationale":471,"selectedPaths":472,"source":323,"sourceLanguage":18,"type":245},{"claudeCode":12},"SKILL.md frontmatter at skills/vue-router-best-practices/SKILL.md",[473],{"path":339,"priority":317},{"basePath":242,"description":10,"displayName":13,"installMethods":475,"rationale":476,"selectedPaths":477,"source":323,"sourceLanguage":18,"type":245},{"claudeCode":12},"SKILL.md frontmatter at skills/vue-testing-best-practices/SKILL.md",[478],{"path":339,"priority":317},{"sources":480},[481],"manual",{"closedIssues90d":8,"description":483,"forks":231,"license":236,"openIssues90d":8,"pushedAt":233,"readmeSize":229,"stars":234,"topics":484},"Agent skills for Vue 3 development",[],{"classifiedAt":486,"discoverAt":487,"extractAt":488,"githubAt":488,"updatedAt":486},1778690831804,1778689596167,1778690830077,[214,215,213,211,212,210],{"evaluatedAt":240,"extractAt":286,"updatedAt":240},[],[493,521,549,577,603,633],{"_creationTime":494,"_id":495,"community":496,"display":497,"identity":503,"providers":507,"relations":515,"tags":517,"workflow":518},1778685991755.7456,"k17djff3pz3wam5kpz7pkg92h586menn",{"reviewCount":8},{"description":498,"installMethods":499,"name":501,"sourceUrl":502},"Use when Codex is building or iterating on a web game (HTML/JS) and needs a reliable development + testing loop: implement small changes, run a Playwright-based test script with short input bursts and intentional pauses, inspect screenshots/text, and review console errors with render_game_to_text.",{"claudeCode":500},"davila7/claude-code-templates","develop-web-game","https://github.com/davila7/claude-code-templates",{"basePath":504,"githubOwner":505,"githubRepo":506,"locale":18,"slug":501,"type":245},"cli-tool/components/skills/creative-design/develop-web-game","davila7","claude-code-templates",{"evaluate":508,"extract":514},{"promptVersionExtension":203,"promptVersionScoring":204,"score":207,"tags":509,"targetMarket":216,"tier":217},[510,511,272,512,213,211,513],"web-development","game-development","html","automation",{"commitSha":276},{"repoId":516},"kd71fzn4s7r0269fkw47wt670n86ndz0",[513,511,512,272,213,211,510],{"evaluatedAt":519,"extractAt":520,"updatedAt":519},1778690648090,1778685991755,{"_creationTime":522,"_id":523,"community":524,"display":525,"identity":531,"providers":534,"relations":542,"tags":544,"workflow":545},1778685735333.8196,"k17axqfsk2shpatbgra08fjtgh86neqd",{"reviewCount":8},{"description":526,"installMethods":527,"name":529,"sourceUrl":530},"Use when writing Playwright tests, fixing flaky tests, debugging failures, implementing Page Object Model, configuring CI/CD, optimizing performance, mocking APIs, handling authentication or OAuth, testing accessibility (axe-core), file uploads/downloads, date/time mocking, WebSockets, geolocation, permissions, multi-tab/popup flows, mobile/responsive layouts, touch gestures, GraphQL, error handling, offline mode, multi-user collaboration, third-party services (payments, email verification), console error monitoring, global setup/teardown, test annotations (skip, fixme, slow), test tags (@smoke, @fast, @critical, filtering with --grep), project dependencies, security testing (XSS, CSRF, auth), performance budgets (Web Vitals, Lighthouse), iframes, component testing, canvas/WebGL, service workers/PWA, test coverage, i18n/localization, Electron apps, or browser extension testing. Covers E2E, component, API, visual, accessibility, security, Electron, and extension testing.",{"claudeCode":528},"currents-dev/playwright-best-practices-skill","playwright-best-practices","https://github.com/currents-dev/playwright-best-practices-skill",{"basePath":255,"githubOwner":532,"githubRepo":533,"locale":18,"slug":533,"type":245},"currents-dev","playwright-best-practices-skill",{"evaluate":535,"extract":541},{"promptVersionExtension":203,"promptVersionScoring":204,"score":207,"tags":536,"targetMarket":216,"tier":217},[213,211,537,538,513,539,540],"typescript","e2e","debugging","ci-cd",{"commitSha":276},{"repoId":543},"kd77ayvtb7bpbf2cjy3n64zekd86ndw6",[513,540,539,538,213,211,537],{"evaluatedAt":546,"extractAt":547,"updatedAt":548},1778685761971,1778685735333,1778685791119,{"_creationTime":550,"_id":551,"community":552,"display":553,"identity":558,"providers":562,"relations":571,"tags":573,"workflow":574},1778683190010.276,"k17c4p499dkdddx2p7pcj7g2zn86n9mp",{"reviewCount":8},{"description":554,"installMethods":555,"name":212,"sourceUrl":557},"Vitest - Modern TypeScript testing framework with Vite-native performance, ESM support, and TypeScript-first design",{"claudeCode":556},"bobmatnyc/claude-mpm-skills","https://github.com/bobmatnyc/claude-mpm-skills",{"basePath":559,"githubOwner":560,"githubRepo":561,"locale":18,"slug":212,"type":245},"toolchains/typescript/testing/vitest","bobmatnyc","claude-mpm-skills",{"evaluate":563,"extract":570},{"promptVersionExtension":203,"promptVersionScoring":204,"score":564,"tags":565,"targetMarket":216,"tier":217},97,[211,212,566,537,567,214,568,569,271],"vite","unit-testing","esm","react",{"commitSha":276},{"repoId":572},"kd72g55e5qeqs90bk1bvkt8wbx86nkn3",[214,568,569,211,537,567,566,212,271],{"evaluatedAt":575,"extractAt":576,"updatedAt":575},1778685456577,1778683190010,{"_creationTime":578,"_id":579,"community":580,"display":581,"identity":587,"providers":591,"relations":596,"tags":599,"workflow":600},1778675056600.244,"k17brjwr0y833wd5ccthcxfht986n0tw",{"reviewCount":8},{"description":582,"installMethods":583,"name":585,"sourceUrl":586},"Sync tests with TestRail. Use when user mentions \"testrail\", \"test management\", \"test cases\", \"test run\", \"sync test cases\", \"push results to testrail\", or \"import from testrail\".",{"claudeCode":584},"alirezarezvani/claude-skills","testrail","https://github.com/alirezarezvani/claude-skills",{"basePath":588,"githubOwner":589,"githubRepo":590,"locale":18,"slug":585,"type":245},"engineering-team/playwright-pro/skills/testrail","alirezarezvani","claude-skills",{"evaluate":592,"extract":595},{"promptVersionExtension":203,"promptVersionScoring":204,"score":207,"tags":593,"targetMarket":216,"tier":217},[585,213,211,513,594],"integration",{"commitSha":276},{"parentExtensionId":597,"repoId":598},"k1791c2qh3tst80ee9cnsck4x986n9pa","kd7ff9s1w43mfyy1n7hf87816186m6px",[513,594,213,211,585],{"evaluatedAt":601,"extractAt":602,"updatedAt":601},1778682801273,1778675056600,{"_creationTime":604,"_id":605,"community":606,"display":607,"identity":613,"providers":617,"relations":626,"tags":629,"workflow":630},1778695548458.405,"k17e4fvenz80ssf2drcpw8g07d86nmyp",{"reviewCount":8},{"description":608,"installMethods":609,"name":611,"sourceUrl":612},"Test A2A interoperability between agents by validating Agent Card conformance, exercising all task lifecycle states, and verifying streaming and error handling. Use when verifying a new A2A server implementation before deployment, validating interoperability between two or more A2A agents, running conformance tests in CI/CD for A2A services, debugging failures in multi-agent A2A workflows, or certifying that an agent meets A2A protocol requirements for a registry.\n",{"claudeCode":610},"pjt222/agent-almanac","test-a2a-interop","https://github.com/pjt222/agent-almanac",{"basePath":614,"githubOwner":615,"githubRepo":616,"locale":18,"slug":611,"type":245},"skills/test-a2a-interop","pjt222","agent-almanac",{"evaluate":618,"extract":625},{"promptVersionExtension":203,"promptVersionScoring":204,"score":207,"tags":619,"targetMarket":216,"tier":217},[620,211,621,622,623,624],"a2a","interoperability","conformance","protocol","agent-card",{"commitSha":276},{"parentExtensionId":627,"repoId":628},"k170h0janaa9kwn7cfgfz2ykss86mmh9","kd7aryv63z61j39n2td1aeqkvh86mh12",[620,624,622,621,623,211],{"evaluatedAt":631,"extractAt":632,"updatedAt":631},1778701974333,1778695548458,{"_creationTime":634,"_id":635,"community":636,"display":637,"identity":641,"providers":643,"relations":652,"tags":653,"workflow":654},1778695548458.3948,"k17dt4dfvv34st23k22bndh01186m334",{"reviewCount":8},{"description":638,"installMethods":639,"name":640,"sourceUrl":612},"Run the jigsawR test suite via WSL R execution. Supports full suite, filtered by pattern, or single file. Interprets pass/fail/skip counts and identifies failing tests. Never uses --vanilla flag (renv needs .Rprofile for activation). Use after modifying any R source code, after adding a new puzzle type or feature, before committing changes to verify nothing is broken, or when debugging a specific test failure.\n",{"claudeCode":610},"run-puzzle-tests",{"basePath":642,"githubOwner":615,"githubRepo":616,"locale":18,"slug":640,"type":245},"skills/run-puzzle-tests",{"evaluate":644,"extract":651},{"promptVersionExtension":203,"promptVersionScoring":204,"score":207,"tags":645,"targetMarket":216,"tier":217},[646,211,647,648,649,650],"r","jigsawr","wsl","testthat","renv",{"commitSha":276},{"parentExtensionId":627,"repoId":628},[647,646,650,211,649,648],{"evaluatedAt":655,"extractAt":632,"updatedAt":655},1778700998995]