[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"extension-skill-enzed-r3f-loaders-ru":3,"guides-for-enzed-r3f-loaders":225,"similar-k17ctjcmeeeae7myfch5f9t2s5866pwm":226},{"_creationTime":4,"_id":5,"children":6,"community":7,"display":9,"evaluation":22,"identity":191,"isFallback":196,"parentExtension":197,"providers":198,"relations":203,"repo":205,"workflow":222},1778053572007.0488,"k17ctjcmeeeae7myfch5f9t2s5866pwm",[],{"reviewCount":8},0,{"description":10,"installMethods":11,"name":12,"sourceUrl":13,"tags":14},"React Three Fiber asset loading - useGLTF, useLoader, Suspense patterns, preloading. Use when loading 3D models, textures, HDR environments, or managing loading states.",{},"React Three Fiber Loaders","https://github.com/enzed/r3f-skills/tree/HEAD/skills/r3f-loaders",[15,16,17,18,19,20,21],"react","three-js","r3f","drei","3d-modeling","asset-loading","documentation",{"_creationTime":23,"_id":24,"extensionId":5,"locale":25,"result":26,"trustSignals":180,"workflow":189},1778053609759.0103,"kn7f604ar4d2tw84w1wm0q0ven8667ez","en",{"checks":27,"evaluatedAt":170,"extensionSummary":171,"promptVersionExtension":172,"promptVersionScoring":173,"rationale":174,"score":175,"summary":176,"tags":177,"targetMarket":178,"tier":179},[28,33,36,39,43,46,51,56,59,62,66,71,74,78,81,84,87,90,93,96,100,104,108,112,116,119,122,125,129,132,135,138,141,144,148,151,154,157,160,163,167],{"category":29,"check":30,"severity":31,"summary":32},"Practical Utility","Problem relevance","pass","The description clearly states the problem: loading assets and managing loading states in React Three Fiber, specifically mentioning useGLTF, useLoader, and Suspense.",{"category":29,"check":34,"severity":31,"summary":35},"Unique selling proposition","The extension provides specific, up-to-date patterns and examples for React Three Fiber asset loading, which goes beyond basic LLM knowledge and offers value over a simple prompt.",{"category":29,"check":37,"severity":31,"summary":38},"Production readiness","The extension covers the full lifecycle of asset loading within React Three Fiber, providing clear examples for various loaders, configurations, and patterns like Suspense and preloading, making it ready for use in development workflows.",{"category":40,"check":41,"severity":31,"summary":42},"Scope","Single responsibility principle","The extension focuses solely on asset loading within React Three Fiber, covering various loaders and related patterns without extending into unrelated domains.",{"category":40,"check":44,"severity":31,"summary":45},"Description quality","The provided description is concise, readable, and accurately reflects the source code's functionality, detailing the use of specific R3F and Drei hooks for asset loading.",{"category":47,"check":48,"severity":49,"summary":50},"Invocation","Scoped tools","not_applicable","This extension does not expose specific tools in the traditional sense; it provides code examples and usage patterns for React Three Fiber libraries rather than distinct, actionable commands.",{"category":52,"check":53,"severity":54,"summary":55},"Documentation","Configuration & parameter reference","info","While the examples demonstrate various parameters for loaders and hooks, explicit default values for all configurations are not fully documented within the SKILL.md, though many are standard Three.js or R3F behaviors.",{"category":40,"check":57,"severity":49,"summary":58},"Tool naming","As this skill primarily provides code examples and documentation rather than discrete tools, tool naming conventions do not apply.",{"category":40,"check":60,"severity":49,"summary":61},"Minimal I/O surface","This extension provides code patterns, not executable tools with distinct input/output schemas, so this check is not applicable.",{"category":63,"check":64,"severity":31,"summary":65},"License","License usability","The extension explicitly states an MIT license in the README.md, which is a permissive open-source license.",{"category":67,"check":68,"severity":69,"summary":70},"Maintenance","Commit recency","warning","There are no commits on the default branch (pushedAt: n/a), indicating the project is likely unmaintained or the commit history is unavailable.",{"category":67,"check":72,"severity":49,"summary":73},"Dependency Management","The extension itself does not introduce third-party dependencies directly; it documents and demonstrates the use of existing React Three Fiber and Three.js libraries.",{"category":75,"check":76,"severity":49,"summary":77},"Security","Secret Management","The extension focuses on asset loading patterns and does not handle or expose any secrets.",{"category":75,"check":79,"severity":31,"summary":80},"Injection","The extension focuses on providing code examples for loading assets and does not involve loading or executing untrusted third-party data as instructions.",{"category":75,"check":82,"severity":31,"summary":83},"Transitive Supply-Chain Grenades","The extension does not fetch remote code or data at runtime, and all assets referenced are expected to be part of the user's project or a known CDN for Three.js libraries, not dynamic instructions.",{"category":75,"check":85,"severity":49,"summary":86},"Sandbox Isolation","As this extension provides code examples and documentation, it does not interact with the file system or perform operations that would require sandbox isolation.",{"category":75,"check":88,"severity":49,"summary":89},"Sandbox escape primitives","The extension is documentation-based and does not contain scripts or hooks that could be used for sandbox escape.",{"category":75,"check":91,"severity":49,"summary":92},"Data Exfiltration","The extension does not perform any outbound network calls or handle sensitive data that could be exfiltrated.",{"category":75,"check":94,"severity":31,"summary":95},"Hidden Text Tricks","The bundled files do not contain any hidden text tricks, invisible characters, or obfuscated content.",{"category":97,"check":98,"severity":31,"summary":99},"Hooks","Opaque code execution","The provided code examples are clear, readable TypeScript/JSX and do not contain obfuscated code, base64 payloads, or runtime fetched scripts.",{"category":101,"check":102,"severity":31,"summary":103},"Portability","Structural Assumption","The examples use relative paths for assets (e.g., '/models/robot.glb') and clearly state dependencies on R3F and Drei, which are standard practices and do not assume a specific project structure beyond that.",{"category":105,"check":106,"severity":49,"summary":107},"Trust","Issues Attention","Issue data is not available (n/a).",{"category":109,"check":110,"severity":69,"summary":111},"Versioning","Release Management","There is no manifest version, no GitHub release tags, and no CHANGELOG.md. Install instructions reference 'HEAD' (implied by URL), making version pinning impossible.",{"category":113,"check":114,"severity":49,"summary":115},"Code Execution","Validation","This extension provides code examples and documentation, not executable tools with input arguments that require validation.",{"category":75,"check":117,"severity":49,"summary":118},"Unguarded Destructive Operations","The extension is read-only and does not perform any destructive operations.",{"category":113,"check":120,"severity":31,"summary":121},"Error Handling","The SKILL.md includes examples demonstrating error handling with React's ErrorBoundary and Suspense, providing guidance on managing loading and potential errors gracefully.",{"category":113,"check":123,"severity":49,"summary":124},"Logging","As this extension is documentation-focused and does not execute destructive actions or outbound calls, explicit logging is not applicable.",{"category":126,"check":127,"severity":49,"summary":128},"Compliance","GDPR","The extension does not operate on or submit personal data.",{"category":126,"check":130,"severity":31,"summary":131},"Target market","The extension focuses on general React Three Fiber development practices and does not contain any region-specific logic or data formats, making it globally applicable.",{"category":101,"check":133,"severity":31,"summary":134},"Runtime stability","The extension demonstrates standard R3F/Drei usage, which is generally cross-platform and relies on common JS runtimes and browser APIs, with clear dependencies stated.",{"category":47,"check":136,"severity":31,"summary":137},"Precise Purpose","The skill clearly defines its purpose (React Three Fiber asset loading) and provides specific use cases (loading 3D models, textures, environments) and patterns (useGLTF, Suspense).",{"category":47,"check":139,"severity":31,"summary":140},"Concise Frontmatter","The frontmatter is concise and effectively summarizes the core capability and provides relevant trigger phrases.",{"category":52,"check":142,"severity":31,"summary":143},"Concise Body","The SKILL.md body is well-structured with clear sections and code examples, keeping the core instructions focused and deferring deeper material to implicit understanding of R3F/Drei usage.",{"category":145,"check":146,"severity":31,"summary":147},"Context","Progressive Disclosure","The SKILL.md focuses on core loading patterns and provides examples, relying on the user's existing knowledge of R3F/Drei for deeper implementation details, aligning with progressive disclosure.",{"category":145,"check":149,"severity":49,"summary":150},"Forked exploration","This skill is documentation-focused and does not involve deep exploration or code review tasks, so `context: fork` is not applicable.",{"category":29,"check":152,"severity":31,"summary":153},"Usage examples","The SKILL.md provides numerous end-to-end, ready-to-use code examples for various loading scenarios, demonstrating input, invocation, and observable outcomes.",{"category":29,"check":155,"severity":54,"summary":156},"Edge cases","While the SKILL.md provides good examples and mentions error handling, specific failure modes and recovery steps for edge cases in asset loading are not extensively documented.",{"category":113,"check":158,"severity":49,"summary":159},"Tool Fallback","This skill does not rely on external tools like MCP servers; it provides examples for using R3F/Drei hooks directly.",{"category":101,"check":161,"severity":31,"summary":162},"Stack assumptions","The skill clearly assumes a React/R3F/Drei environment and lists key packages covered, implicitly defining the stack.",{"category":164,"check":165,"severity":49,"summary":166},"Safety","Halt on unexpected state","This skill provides documentation and code examples, not executable code that requires pre-state validation or halting on unexpected conditions.",{"category":101,"check":168,"severity":31,"summary":169},"Cross-skill coupling","The skill is self-contained and focuses purely on R3F asset loading, without implicit reliance on other skills.",1778053596689,"This skill offers detailed code examples and best practices for loading 3D models, textures, and environments within React Three Fiber applications. It covers hooks like `useGLTF` and `useLoader`, demonstrates `Suspense` patterns for managing loading states, and includes tips on preloading and performance.","2.0.0","3.4.0","The extension is well-documented with clear examples covering its scope of React Three Fiber asset loading. The primary issues are a lack of commit recency and a warning for release management due to missing versioning, which are minor given the documentation-focused nature of the skill.",85,"Provides comprehensive examples and guidance for asset loading in React Three Fiber using various loaders and patterns.",[15,16,17,18,19,20,21],"global","verified",{"codeQuality":181,"collectedAt":182,"documentation":183,"maintenance":185,"security":186,"testCoverage":188},{},1778053585081,{"descriptionLength":184,"readmeSize":8},168,{},{"hasNpmPackage":187,"smitheryVerified":187},false,{"hasCi":187,"hasTests":187},{"updatedAt":190},1778053609759,{"githubOwner":192,"githubRepo":193,"locale":25,"slug":194,"type":195},"enzed","r3f-skills","r3f-loaders","skill",true,null,{"extract":199,"llm":202},{"commitSha":200,"license":201},"8ce187a05a5316cf19fb6cc020e30018a418e565","MIT",{"promptVersionExtension":172,"promptVersionScoring":173,"score":175,"targetMarket":178,"tier":179},{"repoId":204},"kd7fm0ngr6axzqs9ck4nsz141n864ek3",{"_creationTime":206,"_id":204,"identity":207,"providers":209,"workflow":219},1777995558409.8987,{"githubOwner":192,"githubRepo":193,"sourceUrl":208},"https://github.com/enzed/r3f-skills",{"discover":210,"github":213},{"sources":211},[212],"skills-sh",{"closedIssues90d":8,"forks":214,"openIssues90d":8,"pushedAt":215,"readmeSize":216,"stars":217,"topics":218},6,1768943487000,2992,79,[],{"discoverAt":220,"extractAt":221,"githubAt":221,"updatedAt":221},1777995558409,1778053573142,{"anyEnrichmentAt":223,"extractAt":224,"githubAt":223,"llmAt":190,"updatedAt":190},1778053572340,1778053572007,[],[227,249,268,288,316,334],{"_creationTime":228,"_id":229,"community":230,"display":231,"identity":241,"providers":243,"relations":247,"workflow":248},1778053572007.0479,"k179yffat29k81hb62xgqqdzen866bha",{"reviewCount":8},{"description":232,"name":233,"sourceUrl":234,"tags":235},"React Three Fiber interaction - pointer events, controls, gestures, selection. Use when handling user input, implementing click detection, adding camera controls, or creating interactive 3D experiences.","React Three Fiber Interaction","https://github.com/enzed/r3f-skills/tree/HEAD/skills/r3f-interaction",[15,236,17,18,237,238,239,240],"threejs","3d","interaction","controls","graphics",{"githubOwner":192,"githubRepo":193,"locale":25,"slug":242,"type":195},"r3f-interaction",{"extract":244,"llm":245},{"commitSha":200,"license":201},{"promptVersionExtension":172,"promptVersionScoring":173,"score":246,"targetMarket":178,"tier":179},98,{"repoId":204},{"anyEnrichmentAt":223,"extractAt":224,"githubAt":223,"llmAt":190,"updatedAt":190},{"_creationTime":250,"_id":251,"community":252,"display":253,"identity":260,"providers":262,"relations":266,"workflow":267},1778053572007.0474,"k17cj2nvh8x9nx7pps6dsy3cyn8679gt",{"reviewCount":8},{"description":254,"installMethods":255,"name":256,"sourceUrl":257,"tags":258},"React Three Fiber geometry - built-in shapes, BufferGeometry, instancing with Drei. Use when creating 3D shapes, custom meshes, point clouds, lines, or optimizing with instanced rendering.",{},"React Three Fiber Geometry","https://github.com/enzed/r3f-skills/tree/HEAD/skills/r3f-geometry",[15,17,16,259,237,18],"geometry",{"githubOwner":192,"githubRepo":193,"locale":25,"slug":261,"type":195},"r3f-geometry",{"extract":263,"llm":264},{"commitSha":200,"license":201},{"promptVersionExtension":172,"promptVersionScoring":173,"score":265,"targetMarket":178,"tier":179},90,{"repoId":204},{"anyEnrichmentAt":223,"extractAt":224,"githubAt":223,"llmAt":190,"updatedAt":190},{"_creationTime":269,"_id":270,"community":271,"display":272,"identity":281,"providers":283,"relations":286,"workflow":287},1778053572007.0513,"k1799abvexzxjvnbqqberkvqcx867sa9",{"reviewCount":8},{"description":273,"installMethods":274,"name":275,"sourceUrl":276,"tags":277},"React Three Fiber textures - useTexture, texture loading, environment maps, texture configuration. Use when loading images, working with PBR texture sets, cubemaps, HDR environments, or optimizing texture usage.",{},"React Three Fiber Textures","https://github.com/enzed/r3f-skills/tree/HEAD/skills/r3f-textures",[278,17,279,18,16,240,280],"react-three-fiber","textures","webgl",{"githubOwner":192,"githubRepo":193,"locale":25,"slug":282,"type":195},"r3f-textures",{"extract":284,"llm":285},{"commitSha":200,"license":201},{"promptVersionExtension":172,"promptVersionScoring":173,"score":175,"targetMarket":178,"tier":179},{"repoId":204},{"anyEnrichmentAt":223,"extractAt":224,"githubAt":223,"llmAt":190,"updatedAt":190},{"_creationTime":289,"_id":290,"community":291,"display":292,"identity":302,"providers":306,"relations":310,"workflow":312},1778053713797.3567,"k17csgdbhn95sza4djdsc4rt6x866kgj",{"reviewCount":8},{"description":293,"installMethods":294,"name":295,"sourceUrl":296,"tags":297},"Guide for implementing navigation in Next.js Server Components using Link component and redirect() function. Covers the difference between server and client navigation methods. Use when adding links, redirects, or navigation logic in server components without converting them to client components unnecessarily.",{},"Next.js Server Component Navigation Pattern","https://github.com/wsimmonds/claude-nextjs-skills/tree/HEAD/nextjs-server-navigation",[298,15,299,21,300,301],"next-js","typescript","navigation","server-components",{"githubOwner":303,"githubRepo":304,"locale":25,"slug":305,"type":195},"wsimmonds","claude-nextjs-skills","nextjs-server-navigation",{"extract":307,"llm":309},{"commitSha":308,"license":201},"9e0aa5f99b6cfcede69e375d1a40951dae283046",{"promptVersionExtension":172,"promptVersionScoring":173,"score":246,"targetMarket":178,"tier":179},{"repoId":311},"kd70ctdbv8qax0cnxv6aaw2hhn864bqf",{"anyEnrichmentAt":313,"extractAt":314,"githubAt":313,"llmAt":315,"updatedAt":315},1778053714259,1778053713797,1778053743253,{"_creationTime":317,"_id":318,"community":319,"display":320,"identity":327,"providers":329,"relations":332,"workflow":333},1778053713797.3562,"k177sctvw8nnwgpp08s884652s866jf6",{"reviewCount":8},{"description":321,"installMethods":322,"name":323,"sourceUrl":324,"tags":325},"Guide for choosing between Server Components and Client Components in Next.js App Router. CRITICAL for useSearchParams (requires Suspense + 'use client'), navigation (Link, redirect, useRouter), cookies/headers access, and 'use client' directive. Activates when prompt mentions useSearchParams, Suspense, navigation, routing, Link component, redirect, pathname, searchParams, cookies, headers, async components, or 'use client'. Essential for avoiding mixing server/client APIs.",{},"Next.js Server vs. Client Components","https://github.com/wsimmonds/claude-nextjs-skills/tree/HEAD/nextjs-server-client-components",[298,15,299,326,21],"components",{"githubOwner":303,"githubRepo":304,"locale":25,"slug":328,"type":195},"nextjs-server-client-components",{"extract":330,"llm":331},{"commitSha":308,"license":201},{"promptVersionExtension":172,"promptVersionScoring":173,"score":246,"targetMarket":178,"tier":179},{"repoId":311},{"anyEnrichmentAt":313,"extractAt":314,"githubAt":313,"llmAt":315,"updatedAt":315},{"_creationTime":335,"_id":336,"community":337,"display":338,"identity":348,"providers":351,"relations":355,"workflow":357},1778054812528.7205,"k179w7m3n2zkvrbhmmwn1stces86799q",{"reviewCount":8},{"description":339,"installMethods":340,"name":341,"sourceUrl":342,"tags":343},"3D web graphics with Three.js (WebGL/WebGPU). Capabilities: scenes, cameras, geometries, materials, lights, animations, model loading (GLTF/FBX), PBR materials, shadows, post-processing (bloom, SSAO, SSR), custom shaders, instancing, LOD, physics, VR/XR. Actions: create, build, animate, render 3D scenes/models. Keywords: Three.js, WebGL, WebGPU, 3D graphics, scene, camera, geometry, material, light, animation, GLTF, FBX, OrbitControls, PBR, shadow mapping, post-processing, bloom, SSAO, shader, instancing, LOD, WebXR, VR, AR, product configurator, data visualization, architectural walkthrough, interactive 3D, canvas. Use when: creating 3D visualizations, building WebGL/WebGPU apps, loading 3D models, adding animations, implementing VR/XR, creating interactive graphics, building product configurators.",{},"3D Graphics with Three.js","https://github.com/samhvw8/dot-claude/tree/HEAD/skills/3d-graphics",[16,280,344,345,21,346,347],"webgpu","3d-graphics","learning","examples",{"githubOwner":349,"githubRepo":350,"locale":25,"slug":345,"type":195},"samhvw8","dot-claude",{"extract":352,"llm":354},{"commitSha":353,"license":201},"28c76162116d2eedab131c0e1548fdc76a2999f7",{"promptVersionExtension":172,"promptVersionScoring":173,"score":246,"targetMarket":178,"tier":179},{"repoId":356},"kd79ad9dpqazy79y2s6rvajgjn865xek",{"anyEnrichmentAt":358,"extractAt":359,"githubAt":358,"llmAt":360,"updatedAt":360},1778054813688,1778054812528,1778054896678]