[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"extension-plugin-vuejs-ai-create-adaptable-composable-th":3,"guides-for-vuejs-ai-create-adaptable-composable":270,"similar-k17besa80a5an3dsv6j5hfz9vx867naz":271},{"_creationTime":4,"_id":5,"children":6,"community":7,"display":9,"evaluation":20,"identity":209,"isFallback":214,"parentExtension":215,"providers":247,"relations":250,"repo":251,"workflow":269},1778053016918.5974,"k17besa80a5an3dsv6j5hfz9vx867naz",[],{"reviewCount":8},0,{"description":10,"installMethods":11,"name":12,"sourceUrl":13,"tags":14},"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","https://github.com/vuejs-ai/skills/tree/HEAD/skills/create-adaptable-composable",[15,16,17,18,19],"vue","composable","typescript","reactivity","developer-tools",{"_creationTime":21,"_id":22,"extensionId":5,"locale":23,"result":24,"trustSignals":198,"workflow":207},1778053048559.4133,"kn788hpxd8c7xap7x303ej8fjd867036","en",{"checks":25,"evaluatedAt":188,"extensionSummary":189,"promptVersionExtension":190,"promptVersionScoring":191,"rationale":192,"score":193,"summary":194,"tags":195,"targetMarket":196,"tier":197},[26,31,34,37,41,44,49,53,56,59,63,68,71,75,78,81,84,87,90,93,97,101,105,109,113,116,119,122,126,129,132,135,138,141,144,147,150,153,156,159,161,164,167,170,174,177,180,184],{"category":27,"check":28,"severity":29,"summary":30},"Practical Utility","Problem relevance","pass","The description clearly states the problem of creating adaptable Vue composables that accept reactive or non-reactive inputs and mentions the use case of making composables adaptable and reusable.",{"category":27,"check":32,"severity":29,"summary":33},"Unique selling proposition","The extension provides a concrete solution for handling reactive and non-reactive inputs in Vue composables using `toValue()` and `toRef()`, which is a specific implementation beyond basic prompt engineering.",{"category":27,"check":35,"severity":29,"summary":36},"Production readiness","The extension provides a well-defined pattern for creating adaptable Vue composables, including type definitions and example usage, indicating it is ready for use in a workflow.",{"category":38,"check":39,"severity":29,"summary":40},"Scope","Single responsibility principle","The extension focuses solely on the pattern of creating adaptable Vue composables, adhering to a single responsibility.",{"category":38,"check":42,"severity":29,"summary":43},"Description quality","The displayed description accurately reflects the functionality detailed in the SKILL.md file, explaining the purpose and usage of adaptable composables.",{"category":45,"check":46,"severity":47,"summary":48},"Invocation","Scoped tools","not_applicable","This extension is a skill/composable pattern, not a tool executor, and therefore does not have tools to evaluate for scoping.",{"category":50,"check":51,"severity":29,"summary":52},"Documentation","Configuration & parameter reference","The SKILL.md file clearly documents the `MaybeRef` and `MaybeRefOrGetter` types, their intended uses, and provides examples of how to use `toValue()` and `toRef()` for normalization.",{"category":38,"check":54,"severity":47,"summary":55},"Tool naming","This extension is a skill/composable pattern, not a tool executor, and therefore has no tools to evaluate for naming conventions.",{"category":38,"check":57,"severity":47,"summary":58},"Minimal I/O surface","This extension describes a coding pattern and does not expose direct tools with input/output schemas.",{"category":60,"check":61,"severity":29,"summary":62},"License","License usability","The extension includes a standard MIT license file, which is a permissive open-source license.",{"category":64,"check":65,"severity":66,"summary":67},"Maintenance","Commit recency","warning","No commits found in the last 90 days (last commit date is unavailable).",{"category":64,"check":69,"severity":47,"summary":70},"Dependency Management","No third-party dependencies are used in this skill.",{"category":72,"check":73,"severity":47,"summary":74},"Security","Secret Management","The skill does not handle any secrets.",{"category":72,"check":76,"severity":29,"summary":77},"Injection","No third-party data loading or web fetching is performed by this skill, thus no injection vulnerabilities.",{"category":72,"check":79,"severity":29,"summary":80},"Transitive Supply-Chain Grenades","The skill does not fetch remote content or execute external scripts, mitigating supply-chain risks.",{"category":72,"check":82,"severity":29,"summary":83},"Sandbox Isolation","This skill is a code pattern and does not interact with the file system or external processes.",{"category":72,"check":85,"severity":29,"summary":86},"Sandbox escape primitives","As this skill is purely descriptive and does not execute code, there are no sandbox escape primitives.",{"category":72,"check":88,"severity":29,"summary":89},"Data Exfiltration","The skill does not make any outbound network calls or handle sensitive data.",{"category":72,"check":91,"severity":29,"summary":92},"Hidden Text Tricks","The bundled files are free of hidden-steering tricks or obfuscated content.",{"category":94,"check":95,"severity":29,"summary":96},"Hooks","Opaque code execution","This skill does not involve any opaque code execution mechanisms.",{"category":98,"check":99,"severity":29,"summary":100},"Portability","Structural Assumption","The skill describes a coding pattern and does not make assumptions about the user's project structure.",{"category":102,"check":103,"severity":47,"summary":104},"Trust","Issues Attention","No issues data available for this repository.",{"category":106,"check":107,"severity":29,"summary":108},"Versioning","Release Management","The SKILL.md frontmatter specifies a version ('17.0.0').",{"category":110,"check":111,"severity":47,"summary":112},"Code Execution","Validation","This extension is a code pattern description and does not execute code that requires input validation.",{"category":72,"check":114,"severity":29,"summary":115},"Unguarded Destructive Operations","The skill is purely descriptive and contains no destructive operations.",{"category":110,"check":117,"severity":47,"summary":118},"Error Handling","This extension is a code pattern and does not involve executable code with error handling concerns.",{"category":110,"check":120,"severity":47,"summary":121},"Logging","This extension is descriptive and does not perform actions that require logging.",{"category":123,"check":124,"severity":29,"summary":125},"Compliance","GDPR","The skill does not operate on personal data.",{"category":123,"check":127,"severity":29,"summary":128},"Target market","The skill provides a general Vue.js pattern applicable globally, with no regional restrictions detected.",{"category":98,"check":130,"severity":29,"summary":131},"Runtime stability","The skill describes a pattern applicable to any Vue 3 or Nuxt 3 project, with no runtime-specific assumptions.",{"category":38,"check":133,"severity":47,"summary":134},"Tool surface size","This extension is a skill/composable pattern, not a tool executor, so its surface size cannot be evaluated.",{"category":45,"check":136,"severity":47,"summary":137},"Name collisions","This extension is a skill/composable pattern and does not bundle multiple extensions with potential name collisions.",{"category":45,"check":139,"severity":47,"summary":140},"Overlapping near-synonym tools","This extension is a skill/composable pattern and does not expose tools with overlapping functionality.",{"category":45,"check":142,"severity":47,"summary":143},"Hooks-off mechanism","This extension does not utilize hooks and therefore does not require a hooks-off mechanism.",{"category":45,"check":145,"severity":47,"summary":146},"Hook matcher tightness","This extension does not utilize hooks and therefore has no hook matchers.",{"category":72,"check":148,"severity":47,"summary":149},"Hook security","This extension does not utilize hooks.",{"category":94,"check":151,"severity":47,"summary":152},"Silent prompt rewriting","This extension does not utilize UserPromptSubmit hooks.",{"category":72,"check":154,"severity":47,"summary":155},"Permission Hook","This extension does not utilize PermissionRequest hooks.",{"category":123,"check":157,"severity":47,"summary":158},"Hook privacy","This extension does not utilize hooks for logging or telemetry.",{"category":110,"check":160,"severity":47,"summary":149},"Hook dependency",{"category":50,"check":162,"severity":29,"summary":163},"Install / Setup Instructions","The README provides clear installation instructions for both direct CLI and Claude Code Marketplace usage.",{"category":50,"check":165,"severity":29,"summary":166},"Feature Transparency","The README clearly outlines the available skills, including 'create-adaptable-composable', and their purposes.",{"category":50,"check":168,"severity":29,"summary":169},"Phantom features","All features listed in the README, such as 'create-adaptable-composable', have corresponding implementations and documentation.",{"category":171,"check":172,"severity":47,"summary":173},"Convention","Layout convention adherence","This extension is not a Claude Code plugin and therefore does not need to adhere to its specific layout conventions.",{"category":171,"check":175,"severity":47,"summary":176},"Plugin state","This extension does not maintain persistent state.",{"category":72,"check":178,"severity":47,"summary":179},"Keychain-stored secrets","This extension does not handle any secrets.",{"category":181,"check":182,"severity":47,"summary":183},"Dependencies","Tagged release sourcing","This extension does not bundle any MCP servers.",{"category":185,"check":186,"severity":47,"summary":187},"Installation","Clean uninstall","This extension does not install any background services or daemons that would prevent a clean uninstall.",1778053030073,"This skill details how to create reusable Vue composables that can accept both reactive and non-reactive inputs using Vue's `MaybeRef` and `MaybeRefOrGetter` types, normalized with `toValue()` and `toRef()`. It includes type definitions and code examples for implementing this pattern.","2.0.0","3.4.0","The extension is well-documented, provides a clear and useful pattern for Vue development, and adheres to good practices. The only minor concern is the lack of recent commits, but given the nature of the skill as a documentation/pattern provider, this is not a critical issue.",95,"A high-quality skill providing guidance on creating adaptable Vue composables.",[15,16,17,18,19],"global","verified",{"codeQuality":199,"collectedAt":200,"documentation":201,"maintenance":203,"security":204,"testCoverage":206},{},1778053020158,{"descriptionLength":202,"readmeSize":8},358,{},{"hasNpmPackage":205,"smitheryVerified":205},false,{"hasCi":205,"hasTests":205},{"updatedAt":208},1778053048559,{"githubOwner":210,"githubRepo":211,"locale":23,"slug":212,"type":213},"vuejs-ai","skills","create-adaptable-composable","plugin",true,{"_creationTime":216,"_id":217,"community":218,"display":219,"identity":229,"parentExtension":232,"providers":233,"relations":242,"workflow":244},1778053016918.5964,"k17fd4gchexq7sy58y7jbefn35866n79",{"reviewCount":8},{"description":220,"installMethods":221,"name":222,"sourceUrl":223,"tags":224},"A collection of skills for Vue.js development.",{},"Vue.js Skills","https://github.com/vuejs-ai/skills",[15,225,226,227,228,211],"javascript","frontend","development","best-practices",{"githubOwner":210,"githubRepo":211,"locale":23,"slug":230,"type":231},"vue-skills","marketplace",null,{"extract":234,"llm":239},{"commitSha":235,"license":236,"marketplace":237},"c9d355ff23f654309dd02006be671859df0a134c","MIT",{"name":230,"pluginCount":238},9,{"promptVersionExtension":190,"promptVersionScoring":191,"score":240,"targetMarket":196,"tier":241},78,"evaluated",{"repoId":243},"kd736nk4j56y4625jh9ww69x3s865kjr",{"anyEnrichmentAt":245,"extractAt":246,"githubAt":245,"llmAt":208,"updatedAt":208},1778053018134,1778053016918,{"extract":248,"llm":249},{"commitSha":235,"license":236},{"promptVersionExtension":190,"promptVersionScoring":191,"score":193,"targetMarket":196,"tier":197},{"parentExtensionId":217,"repoId":243},{"_creationTime":252,"_id":243,"identity":253,"providers":254,"workflow":266},1777995558409.841,{"githubOwner":210,"githubRepo":211,"sourceUrl":223},{"discover":255,"github":258},{"sources":256},[257],"skills-sh",{"closedIssues90d":259,"forks":260,"license":236,"openIssues90d":261,"pushedAt":262,"readmeSize":263,"stars":264,"topics":265},3,137,6,1774504225000,5159,2352,[],{"discoverAt":267,"extractAt":268,"githubAt":268,"updatedAt":268},1777995558409,1778053018768,{"anyEnrichmentAt":245,"extractAt":246,"githubAt":245,"llmAt":208,"updatedAt":208},[],[272],{"_creationTime":273,"_id":274,"community":275,"display":276,"identity":287,"providers":291,"relations":298,"workflow":301},1778054452948.4253,"k1767a8yk98h8qcz0rkh7t64an867zws",{"reviewCount":8},{"description":277,"installMethods":278,"name":279,"sourceUrl":280,"tags":281},"Skills for designing and building MCP servers that work seamlessly with Claude. Guides you through deployment models (remote HTTP, MCPB, local), tool design patterns, auth, and interactive MCP apps.",{},"MCP Server Development Suite","https://github.com/anthropics/claude-plugins-official/tree/HEAD/plugins/mcp-server-dev",[282,283,227,17,284,285,286,213],"mcp","server","python","documentation","security",{"githubOwner":288,"githubRepo":289,"locale":23,"slug":290,"type":213},"anthropics","claude-plugins-official","mcp-server-dev",{"extract":292,"llm":295,"smithery":297},{"commitSha":293,"license":294},"06f52cd3ac3e47ecb45228a86183ea2a86e9d6ff","Apache-2.0",{"promptVersionExtension":190,"promptVersionScoring":191,"score":296,"targetMarket":196,"tier":197},98,{"qualityScore":8,"totalActivations":8,"uniqueUsers":8,"useCount":8,"verified":205},{"parentExtensionId":299,"repoId":300},"k171b9714j6pgfxqht22y94q4x866sck","kd798hf3w99qz2xt1fqtgq7gf9865e31",{"anyEnrichmentAt":302,"extractAt":303,"githubAt":304,"llmAt":305,"smitheryAt":302,"updatedAt":305},1778054509977,1778054452948,1778054454391,1778054703946]