[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6K139V2ACXV7GHVANDKV09K":3,"skill-same:01M6K139V2ACXV7GHVANDKV09K":67},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":39,"linkOnly":40,"markdownContent":41,"markdownBody":42,"frontMatter":43,"refName":44,"commitSha":45,"skillDirectory":46,"forksCount":47,"repositoryHtmlUrl":48,"repositoryHomepageUrl":6,"ownerHtmlUrl":49,"ownerBlogUrl":50,"ownerDescription":51,"updatedAt":52,"install":53,"resources":66},"01M6K139V2ACXV7GHVANDKV09K","web-3d-asset-pipeline",null,"Prepare and optimize browser-game 3D assets. Use when the user asks for GLB or glTF shipping work, including Blender cleanup and export, collision or LOD setup, compression, texture packaging, and runtime validation.","NagyVikt\u002Fcodex-plugins","NagyVikt","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F137165288?v=4","01M6K0SJ3R2DAZRJKJJS10VN87","Viktor Nagy","01M6K0SJ9HXN0GBD91QDQ9WNVV",2,"MIT","https:\u002F\u002Fgithub.com\u002FNagyVikt\u002Fcodex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Fgame-studio\u002Fskills\u002Fweb-3d-asset-pipeline\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38],"asset pipeline","web","asset","web 3d asset pipeline","pipeline","3D","lod","gltf","for","runtime","optimize","use","packaging","work","assets","game","browser","shipping","cleanup","runtime validation","2026-11-10 10:12:30",false,"---\nname: web-3d-asset-pipeline\ndescription: Prepare and optimize browser-game 3D assets. Use when the user asks for GLB or glTF shipping work, including Blender cleanup and export, collision or LOD setup, compression, texture packaging, and runtime validation.\n---\n\n# Web 3D Asset Pipeline\n\n## Overview\n\nUse this skill for shipped 3D assets, not runtime scene code. The default output format for browser 3D work in this plugin is GLB or glTF 2.0. The goal is predictable runtime assets, not whatever the DCC tool happened to export first.\n\nThis guidance is engine-agnostic and can serve Three.js, React Three Fiber, Babylon.js, or PlayCanvas.\n\n## Use This Skill When\n\n- the task is about GLB or glTF shipping format\n- the task is about model cleanup, texture packaging, compression, LOD, or collision proxies\n- the runtime stack is already chosen and the remaining problem is asset quality or size\n\n## Do Not Use This Skill When\n\n- the task is about scene, camera, renderer, or game-loop structure\n- the task is purely about React versus vanilla Three.js routing\n- the user is still deciding between runtime engines\n\n## Default Pipeline\n\n1. Author and clean the source asset in a DCC tool such as Blender.\n2. Export to GLB or glTF 2.0.\n3. Optimize with glTF Transform.\n4. Validate naming, pivots, transforms, material reuse, and texture budgets.\n5. Add collision proxies, LOD strategy, and baked-lighting assumptions as needed.\n6. Ship the optimized asset and load it with engine-native GLTF support.\n\n## Format Rules\n\n- Default shipping format: GLB or glTF 2.0.\n- Do not treat FBX, OBJ, or DCC-native formats as the long-term runtime contract.\n- Apply or normalize transforms before shipping.\n- Keep units, pivots, and orientation conventions consistent across the whole asset set.\n\n## Optimization Rules\n\n- Use glTF Transform for pruning, deduplication, simplification, and packaging.\n- Use geometry compression intentionally.\n  - Draco is a valid option when decode cost and compatibility fit the runtime.\n  - Meshopt is often a strong default for web delivery.\n- Compress textures deliberately.\n  - Use KTX2 or BasisU when the runtime stack supports it.\n  - Use WebP or AVIF where they make sense in the broader asset pipeline.\n- Reuse materials and textures where possible to cut memory and draw-call cost.\n\n## Runtime-Ready Asset Rules\n\n- Keep model hierarchy names stable and meaningful.\n- Set pivots and origins for gameplay interaction, not just for DCC convenience.\n- Author explicit collision proxies for physics-heavy scenes.\n- Decide whether lighting is dynamic, baked, or hybrid before final export.\n- Plan LODs for large environments or repeated props.\n- Keep texture resolution proportional to on-screen use, not source-art ambition.\n\n## Common Failure Modes\n\n- Shipping raw DCC exports without cleanup\n- Too many unique materials\n- Texture sizes far above visible need\n- Missing collision proxies\n- Scale or pivot mismatches between assets\n- Runtime code compensating for asset mistakes that should be fixed upstream\n\n## References\n\n- Three.js stack: `..\u002F..\u002Freferences\u002Fthreejs-stack.md`\n- React Three Fiber stack: `..\u002F..\u002Freferences\u002Freact-three-fiber-stack.md`\n- GLB loader starter: `..\u002F..\u002Freferences\u002Fgltf-loading-starter.md`\n- Rapier starter: `..\u002F..\u002Freferences\u002Frapier-integration-starter.md`\n- 3D asset pipeline reference: `..\u002F..\u002Freferences\u002Fweb-3d-asset-pipeline.md`\n- Alternative engines: `..\u002F..\u002Freferences\u002Falternative-3d-engines.md`\n","# Web 3D Asset Pipeline\n\n## Overview\n\nUse this skill for shipped 3D assets, not runtime scene code. The default output format for browser 3D work in this plugin is GLB or glTF 2.0. The goal is predictable runtime assets, not whatever the DCC tool happened to export first.\n\nThis guidance is engine-agnostic and can serve Three.js, React Three Fiber, Babylon.js, or PlayCanvas.\n\n## Use This Skill When\n\n- the task is about GLB or glTF shipping format\n- the task is about model cleanup, texture packaging, compression, LOD, or collision proxies\n- the runtime stack is already chosen and the remaining problem is asset quality or size\n\n## Do Not Use This Skill When\n\n- the task is about scene, camera, renderer, or game-loop structure\n- the task is purely about React versus vanilla Three.js routing\n- the user is still deciding between runtime engines\n\n## Default Pipeline\n\n1. Author and clean the source asset in a DCC tool such as Blender.\n2. Export to GLB or glTF 2.0.\n3. Optimize with glTF Transform.\n4. Validate naming, pivots, transforms, material reuse, and texture budgets.\n5. Add collision proxies, LOD strategy, and baked-lighting assumptions as needed.\n6. Ship the optimized asset and load it with engine-native GLTF support.\n\n## Format Rules\n\n- Default shipping format: GLB or glTF 2.0.\n- Do not treat FBX, OBJ, or DCC-native formats as the long-term runtime contract.\n- Apply or normalize transforms before shipping.\n- Keep units, pivots, and orientation conventions consistent across the whole asset set.\n\n## Optimization Rules\n\n- Use glTF Transform for pruning, deduplication, simplification, and packaging.\n- Use geometry compression intentionally.\n  - Draco is a valid option when decode cost and compatibility fit the runtime.\n  - Meshopt is often a strong default for web delivery.\n- Compress textures deliberately.\n  - Use KTX2 or BasisU when the runtime stack supports it.\n  - Use WebP or AVIF where they make sense in the broader asset pipeline.\n- Reuse materials and textures where possible to cut memory and draw-call cost.\n\n## Runtime-Ready Asset Rules\n\n- Keep model hierarchy names stable and meaningful.\n- Set pivots and origins for gameplay interaction, not just for DCC convenience.\n- Author explicit collision proxies for physics-heavy scenes.\n- Decide whether lighting is dynamic, baked, or hybrid before final export.\n- Plan LODs for large environments or repeated props.\n- Keep texture resolution proportional to on-screen use, not source-art ambition.\n\n## Common Failure Modes\n\n- Shipping raw DCC exports without cleanup\n- Too many unique materials\n- Texture sizes far above visible need\n- Missing collision proxies\n- Scale or pivot mismatches between assets\n- Runtime code compensating for asset mistakes that should be fixed upstream\n\n## References\n\n- Three.js stack: `..\u002F..\u002Freferences\u002Fthreejs-stack.md`\n- React Three Fiber stack: `..\u002F..\u002Freferences\u002Freact-three-fiber-stack.md`\n- GLB loader starter: `..\u002F..\u002Freferences\u002Fgltf-loading-starter.md`\n- Rapier starter: `..\u002F..\u002Freferences\u002Frapier-integration-starter.md`\n- 3D asset pipeline reference: `..\u002F..\u002Freferences\u002Fweb-3d-asset-pipeline.md`\n- Alternative engines: `..\u002F..\u002Freferences\u002Falternative-3d-engines.md`\n",{"name":5,"description":7},"main","9a4409c8751439c3aeeea2bc3940ba05dc3cd3b5","plugins\u002Fgame-studio\u002Fskills\u002Fweb-3d-asset-pipeline",0,"https:\u002F\u002Fgithub.com\u002FNagyVikt\u002Fcodex-plugins","https:\u002F\u002Fgithub.com\u002FNagyVikt","https:\u002F\u002Fwebu.hu\u002F","Codex is a tool they said...\r\n\r\nCreator of GitGuardex, CueCards. Tech stack: Next.js · TypeScript · Rust · Linux. ","2026-03-30 02:19:53",{"source":8,"skillName":5,"commands":54,"prompt":64,"zipAvailable":65},[55,58,61],{"tool":56,"command":57},"npx","npx skills add NagyVikt\u002Fcodex-plugins --skill web-3d-asset-pipeline",{"tool":59,"command":60},"bunx","bunx skills add NagyVikt\u002Fcodex-plugins --skill web-3d-asset-pipeline",{"tool":62,"command":63},"pnpm","pnpm dlx skills add NagyVikt\u002Fcodex-plugins --skill web-3d-asset-pipeline","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FNagyVikt\u002Fcodex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Fgame-studio\u002Fskills\u002Fweb-3d-asset-pipeline\u002FSKILL.md",true,[],[68,110,144,168,197,219],{"skillNo":69,"name":70,"nameZh":6,"description":71,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":72,"categories":73,"keywords":90,"publishedAt":39},"01M6K1ZEN8P9R2S6NPNJNJ8JVH","workflow","Vercel Workflow DevKit (WDK) expert guidance. Use when building durable workflows, long-running tasks, API routes or agents that need pause\u002Fresume, retries, step-based execution, or crash-safe orchestration with Vercel Workflow.","https:\u002F\u002Fgithub.com\u002FNagyVikt\u002Fcodex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Fvercel\u002Fskills\u002Fworkflow\u002FSKILL.md",[74,79,82,87],{"categoryNo":75,"categoryName":76,"taxonomyType":77,"taxonomyTypeDesc":78},"01JBSEEDCAT000000000000010","后端与接口","SCENARIO","使用场景",{"categoryNo":80,"categoryName":81,"taxonomyType":77,"taxonomyTypeDesc":78},"01JBSEEDCAT000000000000023","Skill与智能体开发",{"categoryNo":83,"categoryName":84,"taxonomyType":85,"taxonomyTypeDesc":86},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",{"categoryNo":88,"categoryName":89,"taxonomyType":85,"taxonomyTypeDesc":86},"01JBSEEDCAT000000000000038","人力资源",[70,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109],"workflows","create","run","streaming","logs","start","why","loop","wait for","branch","auto","log","conversation","human","lib","condition","rendering","retries","sleep",{"skillNo":111,"name":112,"nameZh":6,"description":113,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":114,"categories":115,"keywords":126,"publishedAt":39},"01M6K1Z71NWFSPHK2VJJ73MVSY","verification","Full-story verification — infers what the user is building, then verifies the complete flow end-to-end: browser → API → data → response. Triggers on dev server start and 'why isn't this working' signals.","https:\u002F\u002Fgithub.com\u002FNagyVikt\u002Fcodex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Fvercel\u002Fskills\u002Fverification\u002FSKILL.md",[116,119,120,123],{"categoryNo":117,"categoryName":118,"taxonomyType":77,"taxonomyTypeDesc":78},"01JBSEEDCAT000000000000008","测试与质量",{"categoryNo":75,"categoryName":76,"taxonomyType":77,"taxonomyTypeDesc":78},{"categoryNo":121,"categoryName":122,"taxonomyType":85,"taxonomyTypeDesc":86},"01JBSEEDCAT000000000000031","产品经理",{"categoryNo":124,"categoryName":125,"taxonomyType":85,"taxonomyTypeDesc":86},"01JBSEEDCAT000000000000033","数据分析师",[112,127,94,128,129,130,100,131,132,133,134,135,136,137,138,139,140,141,142,143],"auth","routing middleware","api","projects","user story","full stack","jest","local","project","end","app","false","unit","error","middleware","loading","unit test",{"skillNo":145,"name":146,"nameZh":6,"description":147,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":148,"categories":149,"keywords":151,"publishedAt":39},"01M6K1YPRYJS3BQEDP8HKBHPEJ","vercel-storage","Vercel storage expert guidance — Blob, Edge Config, and Marketplace storage (Neon Postgres, Upstash Redis). Use when choosing, configuring, or using data storage with Vercel applications.","https:\u002F\u002Fgithub.com\u002FNagyVikt\u002Fcodex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Fvercel\u002Fskills\u002Fvercel-storage\u002FSKILL.md",[150],{"categoryNo":75,"categoryName":76,"taxonomyType":77,"taxonomyTypeDesc":78},[152,153,154,155,93,156,157,101,158,159,160,161,162,163,137,105,164,165,166,167],"storage","vercel storage","vercel","config","supabase","migrate","router","clerk","expert","prisma","connection pooling","neon","turso","upstash","URL","auth0",{"skillNo":169,"name":170,"nameZh":6,"description":171,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":172,"categories":173,"keywords":181,"publishedAt":39},"01M6K1YFEP0GPPGMQ3D0FPTS27","vercel-services","Vercel Services — deploy multiple services within a single Vercel project. Use for monorepo layouts or when combining a backend (Python, Go) with a frontend (Next.js, Vite) in one deployment.","https:\u002F\u002Fgithub.com\u002FNagyVikt\u002Fcodex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Fvercel\u002Fskills\u002Fvercel-services\u002FSKILL.md",[174,177,178],{"categoryNo":175,"categoryName":176,"taxonomyType":77,"taxonomyTypeDesc":78},"01JBSEEDCAT000000000000009","前端开发",{"categoryNo":75,"categoryName":76,"taxonomyType":77,"taxonomyTypeDesc":78},{"categoryNo":179,"categoryName":180,"taxonomyType":77,"taxonomyTypeDesc":78},"01JBSEEDCAT000000000000011","运维与部署",[182,183,154,184,185,186,187,188,189,190,191,44,192,193,135,194,137,195,140,196],"vercel services","services","frontend","docker compose","SET","configure","monorepo","go api","fastapi","up","aws lambda","go backend","get","apps","python backend",{"skillNo":198,"name":199,"nameZh":6,"description":200,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":201,"categories":202,"keywords":203,"publishedAt":39},"01M6K1Y8S3CRD43DPKX0PK1MTT","vercel-sandbox","Vercel Sandbox guidance — ephemeral Firecracker microVMs for running untrusted code safely. Supports AI agents, code generation, and experimentation. Use when executing user-generated or AI-generated code in isolation.","https:\u002F\u002Fgithub.com\u002FNagyVikt\u002Fcodex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Fvercel\u002Fskills\u002Fvercel-sandbox\u002FSKILL.md",[],[204,205,154,206,207,92,93,208,209,210,211,212,213,214,215,216,142,217,199,218],"sandbox","vercel sandbox","safe","ai agents","code","ai sdk","Code Generation","playground","generated","spawn","install","runner","io","child","student",{"skillNo":220,"name":221,"nameZh":6,"description":222,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":223,"categories":224,"keywords":226,"publishedAt":39},"01M6K1Y1J8S7AN97H75SHBGF7J","vercel-queues","Vercel Queues guidance (public beta) — durable event streaming with topics, consumer groups, retries, and delayed delivery. $0.60\u002F1M ops. Powers Workflow DevKit. Use when building async processing, fan-out patterns, or event-driven architectures.","https:\u002F\u002Fgithub.com\u002FNagyVikt\u002Fcodex-plugins\u002Fblob\u002Fmain\u002Fplugins\u002Fvercel\u002Fskills\u002Fvercel-queues\u002FSKILL.md",[225],{"categoryNo":80,"categoryName":81,"taxonomyType":77,"taxonomyTypeDesc":78},[227,154,70,91,94,228,186,129,187,191,229,230,231,232,137,105,233,108,142,234],"vercel queues","beta","message","delivery","across","worker","processing","at"]