[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6KGWDMEGRW5ZGA7RPHCKA4V":3,"skill-same:01M6KGWDMEGRW5ZGA7RPHCKA4V":83},{"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":23,"publishedAt":44,"linkOnly":45,"markdownContent":46,"markdownBody":47,"frontMatter":48,"refName":61,"commitSha":62,"skillDirectory":63,"forksCount":64,"repositoryHtmlUrl":65,"repositoryHomepageUrl":6,"ownerHtmlUrl":66,"ownerBlogUrl":6,"ownerDescription":67,"updatedAt":68,"install":69,"resources":82},"01M6KGWDMEGRW5ZGA7RPHCKA4V","unity-project",null,"Project information. Use when users want to read project metadata (Unity version, render pipeline), list shaders\u002FUPM packages, read Layer\u002FTag definitions, add a custom Tag, read build settings, or read Player Settings. Triggers: project info, project settings, Unity version, render pipeline, list shaders, UPM packages, package manifest, layers, tags, add tag, build settings, player settings, scripting backend, api compatibility, 项目信息, 项目设置, Unity 版本, 渲染管线, 着色器列表, UPM 包列表, 包清单, 图层列表, 标签列表, 添加标签, 构建设置, 玩家设置, 脚本后端.","dyCuong03\u002Funity-agent-team","dyCuong03","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F137050365?v=4","01M6KFXC85HQHXZJC2VC1KY6EZ","CuongND","01M6KFXCCHP6CD5MTA8NECJC36",8,"MIT","https:\u002F\u002Fgithub.com\u002FdyCuong03\u002Funity-agent-team\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Funity-skills\u002Fskills\u002Fproject\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000010","后端与接口","SCENARIO","使用场景",[24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43],"unity project","unity","project","info","at","layer","player","information","render","structure","packages","compatibility","project info","list","read","api","pipeline","server","shaders","code","2026-11-10 10:12:30",false,"---\nname: unity-project\ndescription: \"Project information. Use when users want to read project metadata (Unity version, render pipeline), list shaders\u002FUPM packages, read Layer\u002FTag definitions, add a custom Tag, read build settings, or read Player Settings. Triggers: project info, project settings, Unity version, render pipeline, list shaders, UPM packages, package manifest, layers, tags, add tag, build settings, player settings, scripting backend, api compatibility, 项目信息, 项目设置, Unity 版本, 渲染管线, 着色器列表, UPM 包列表, 包清单, 图层列表, 标签列表, 添加标签, 构建设置, 玩家设置, 脚本后端.\"\nplatforms: [unity-editor, claude-code]\ntask-categories: [project-structure, editor-automation]\nuse-when: |-\n  Load when the task requires: Project information. Use when users want to read project metadata (Unity version, render pipeline), list shaders\u002FUPM packages, read Layer\u002FTag definitions, add a custom Tag, read build settings, or read Player Settings. Unity Editor must be running with the unity-skills REST server reachable at http:\u002F\u002Flocalhost:8090.\ndo-not-use-when: |-\n  Do not load when Unity Editor is not running locally. Do not load when unity-skills REST server is unreachable at http:\u002F\u002Flocalhost:8090. For graphics \u002F quality \u002F SRP configuration → use `the` module instead.\nmetadata:\n  source: https:\u002F\u002Fgithub.com\u002FBesty0728\u002FUnity-Skills\n  version: 1.9.2\n  tier: 2\n\n---\n\n# Project Skills\n\nProject information and configuration.\n\n## Operating Mode\n\n本模块除 `project_add_tag`（`Operation = Create`，未设 Mode 字段，默认 FullAuto，Approval 模式下需 grant）外，其余 8 个 skill（`project_get_info` \u002F `project_get_render_pipeline` \u002F `project_list_shaders` \u002F `project_get_build_settings` \u002F `project_get_packages` \u002F `project_get_layers` \u002F `project_get_tags` \u002F `project_get_player_settings`）均标 `SkillMode.SemiAuto` 且为只读 Query，Approval \u002F Auto \u002F Bypass 三档下都可直接执行。**不含 NeverInSemi 高危 skill**。\n\n> Player Settings、Build Settings、Layer 通过本模块只读获取；如需编辑，请使用 `editor_execute_menu` 打开 `Edit\u002FProject Settings...` 或 `File\u002FBuild Settings...`（菜单本身在 editor 模块为 SemiAuto，可直接执行）。\n\n**DO NOT** (common hallucinations):\n- `project_save` does not exist → use `scene_save` (scene module) or `editor_execute_menu` menuPath=\"File\u002FSave\"\n- `project_settings` does not exist → use specific skills: `project_get_render_pipeline`, `project_get_build_settings`, etc.\n- `project_set_resolution` \u002F `project_set_player_settings` do not exist → Player Settings are read-only via `project_get_player_settings`; to edit, open Project Settings via `editor_execute_menu` with `Edit\u002FProject Settings...`\n- `project_create` does not exist → projects are created via Unity Hub, not REST API\n\n**Routing**:\n- For graphics \u002F quality \u002F SRP configuration → use the `graphics` module\n- For Layer\u002FTag management → `project_add_tag` (this module); Layers are read-only via `project_get_layers` (edit via `editor_execute_menu` → `Edit\u002FProject Settings...`)\n- For build settings → `project_get_build_settings` (read-only; use `editor_execute_menu` → `File\u002FBuild Settings...` to edit)\n\n## Skills\n\n### `project_get_info`\nGet project information including render pipeline, Unity version, and settings.\n**Parameters:** None.\n\n### `project_get_render_pipeline`\nGet current render pipeline type and recommended shaders.\n**Parameters:** None.\n\n### `project_list_shaders`\nList all available shaders in the project.\n**Parameters:**\n- `filter` (string, optional): Filter by name.\n- `limit` (int, optional): Max results (default 50).\n\n### `project_get_build_settings`\nGet build settings (platform, scenes).\n\n**Parameters:** None.\n\n**Returns:** `{ success, activeBuildTarget, buildTargetGroup, sceneCount, scenes }`\n\n### `project_get_packages`\nList installed UPM packages.\n\n**Parameters:** None.\n\n**Returns:** `{ success, manifest }`\n\n### `project_get_layers`\nGet all Layer definitions.\n\n**Parameters:** None.\n\n**Returns:** `{ success, count, layers }`\n\n### `project_get_tags`\nGet all Tag definitions.\n\n**Parameters:** None.\n\n**Returns:** `{ success, count, tags }`\n\n### `project_add_tag`\nAdd a custom Tag.\n\n| Parameter | Type | Required | Default | Description |\n|-----------|------|----------|---------|-------------|\n| tagName | string | Yes | - | The tag name to add |\n\n**Returns:** `{ success, tag }`\n\n### `project_get_player_settings`\nGet Player Settings.\n\n**Parameters:** None.\n\n**Returns:** `{ success, productName, companyName, bundleVersion, defaultScreenWidth, defaultScreenHeight, fullscreen, apiCompatibility, scriptingBackend }`\n\n---\n## Exact Signatures\n\nExact names, parameters, defaults, and returns are defined by `GET \u002Fskills\u002Fschema` or `unity_skills.get_skill_schema()`, not by this file.\n","# Project Skills\n\nProject information and configuration.\n\n## Operating Mode\n\n本模块除 `project_add_tag`（`Operation = Create`，未设 Mode 字段，默认 FullAuto，Approval 模式下需 grant）外，其余 8 个 skill（`project_get_info` \u002F `project_get_render_pipeline` \u002F `project_list_shaders` \u002F `project_get_build_settings` \u002F `project_get_packages` \u002F `project_get_layers` \u002F `project_get_tags` \u002F `project_get_player_settings`）均标 `SkillMode.SemiAuto` 且为只读 Query，Approval \u002F Auto \u002F Bypass 三档下都可直接执行。**不含 NeverInSemi 高危 skill**。\n\n> Player Settings、Build Settings、Layer 通过本模块只读获取；如需编辑，请使用 `editor_execute_menu` 打开 `Edit\u002FProject Settings...` 或 `File\u002FBuild Settings...`（菜单本身在 editor 模块为 SemiAuto，可直接执行）。\n\n**DO NOT** (common hallucinations):\n- `project_save` does not exist → use `scene_save` (scene module) or `editor_execute_menu` menuPath=\"File\u002FSave\"\n- `project_settings` does not exist → use specific skills: `project_get_render_pipeline`, `project_get_build_settings`, etc.\n- `project_set_resolution` \u002F `project_set_player_settings` do not exist → Player Settings are read-only via `project_get_player_settings`; to edit, open Project Settings via `editor_execute_menu` with `Edit\u002FProject Settings...`\n- `project_create` does not exist → projects are created via Unity Hub, not REST API\n\n**Routing**:\n- For graphics \u002F quality \u002F SRP configuration → use the `graphics` module\n- For Layer\u002FTag management → `project_add_tag` (this module); Layers are read-only via `project_get_layers` (edit via `editor_execute_menu` → `Edit\u002FProject Settings...`)\n- For build settings → `project_get_build_settings` (read-only; use `editor_execute_menu` → `File\u002FBuild Settings...` to edit)\n\n## Skills\n\n### `project_get_info`\nGet project information including render pipeline, Unity version, and settings.\n**Parameters:** None.\n\n### `project_get_render_pipeline`\nGet current render pipeline type and recommended shaders.\n**Parameters:** None.\n\n### `project_list_shaders`\nList all available shaders in the project.\n**Parameters:**\n- `filter` (string, optional): Filter by name.\n- `limit` (int, optional): Max results (default 50).\n\n### `project_get_build_settings`\nGet build settings (platform, scenes).\n\n**Parameters:** None.\n\n**Returns:** `{ success, activeBuildTarget, buildTargetGroup, sceneCount, scenes }`\n\n### `project_get_packages`\nList installed UPM packages.\n\n**Parameters:** None.\n\n**Returns:** `{ success, manifest }`\n\n### `project_get_layers`\nGet all Layer definitions.\n\n**Parameters:** None.\n\n**Returns:** `{ success, count, layers }`\n\n### `project_get_tags`\nGet all Tag definitions.\n\n**Parameters:** None.\n\n**Returns:** `{ success, count, tags }`\n\n### `project_add_tag`\nAdd a custom Tag.\n\n| Parameter | Type | Required | Default | Description |\n|-----------|------|----------|---------|-------------|\n| tagName | string | Yes | - | The tag name to add |\n\n**Returns:** `{ success, tag }`\n\n### `project_get_player_settings`\nGet Player Settings.\n\n**Parameters:** None.\n\n**Returns:** `{ success, productName, companyName, bundleVersion, defaultScreenWidth, defaultScreenHeight, fullscreen, apiCompatibility, scriptingBackend }`\n\n---\n## Exact Signatures\n\nExact names, parameters, defaults, and returns are defined by `GET \u002Fskills\u002Fschema` or `unity_skills.get_skill_schema()`, not by this file.\n",{"name":5,"metadata":49,"use-when":53,"platforms":54,"description":7,"do-not-use-when":57,"task-categories":58},{"tier":50,"source":51,"version":52},2,"https:\u002F\u002Fgithub.com\u002FBesty0728\u002FUnity-Skills","1.9.2","Load when the task requires: Project information. Use when users want to read project metadata (Unity version, render pipeline), list shaders\u002FUPM packages, read Layer\u002FTag definitions, add a custom Tag, read build settings, or read Player Settings. Unity Editor must be running with the unity-skills REST server reachable at http:\u002F\u002Flocalhost:8090.",[55,56],"unity-editor","claude-code","Do not load when Unity Editor is not running locally. Do not load when unity-skills REST server is unreachable at http:\u002F\u002Flocalhost:8090. For graphics \u002F quality \u002F SRP configuration → use `the` module instead.",[59,60],"project-structure","editor-automation","main","fe4746b9f07e6c7c2b6d3932002183af9b9f6fa2",".claude\u002Fskills\u002Funity-skills\u002Fskills\u002Fproject",0,"https:\u002F\u002Fgithub.com\u002FdyCuong03\u002Funity-agent-team","https:\u002F\u002Fgithub.com\u002FdyCuong03","Game developer","2026-07-25 22:22:25",{"source":8,"skillName":5,"commands":70,"prompt":80,"zipAvailable":81},[71,74,77],{"tool":72,"command":73},"npx","npx skills add dyCuong03\u002Funity-agent-team --skill unity-project",{"tool":75,"command":76},"bunx","bunx skills add dyCuong03\u002Funity-agent-team --skill unity-project",{"tool":78,"command":79},"pnpm","pnpm dlx skills add dyCuong03\u002Funity-agent-team --skill unity-project","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FdyCuong03\u002Funity-agent-team\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Funity-skills\u002Fskills\u002Fproject\u002FSKILL.md",true,[],[84,109,132,157,175,196],{"skillNo":85,"name":86,"nameZh":6,"description":87,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":88,"categories":89,"keywords":90,"publishedAt":44},"01M6KH55FFS00ET877QSMRYGX4","dots-update-groups","How to choose the right ECS system group and ordering so per-frame and per-fixed-step work is deterministic and never races its own readers. Covers InitializationSystemGroup \u002F SimulationSystemGroup \u002F PresentationSystemGroup \u002F FixedStepSimulationSystemGroup \u002F VariableRateSimulationSystemGroup, UpdateBefore \u002F UpdateAfter peer ordering, OrderFirst \u002F OrderLast group-boundary placement, RateManager, and the cross-group ordering trap. Use when adding an ISystem, fixing \"value visible one frame late\" bugs, or coupling simulation to a fixed timestep.","https:\u002F\u002Fgithub.com\u002FdyCuong03\u002Funity-agent-team\u002Fblob\u002Fmain\u002Fworkspace\u002Fdots-program\u002Fscratch\u002Fwave-2-orchestrator-drafts\u002Fdots-update-groups\u002FSKILL.md",[],[91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108],"update","dots update groups","boundary","simulation","how","system","choose","work","use","never","peer","deterministic","how to","coupling","ecs","bugs","frame","value",{"skillNo":110,"name":111,"nameZh":6,"description":112,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":113,"categories":114,"keywords":115,"publishedAt":44},"01M6KH50PWYEFQDCGYBZ0326F1","dots-transform-patterns","The Entities 1.x transform model — LocalTransform (writable input) vs LocalToWorld (system-owned matrix), Parent\u002FChild hierarchy, reparenting cost, uniform vs non-uniform scale (PostTransformMatrix), and when to opt out with custom transform systems. Use when designing parent\u002Fchild hierarchies, runtime reparenting (mount\u002Fdismount\u002Fsocket), or choosing transform components at the Baker boundary.","https:\u002F\u002Fgithub.com\u002FdyCuong03\u002Funity-agent-team\u002Fblob\u002Fmain\u002Fworkspace\u002Fdots-program\u002Fscratch\u002Fwave-2-orchestrator-drafts\u002Fdots-transform-patterns\u002FSKILL.md",[],[116,117,118,119,93,96,120,121,99,122,123,124,125,126,127,128,28,129,130,131],"patterns","transform","dots transform patterns","components","mount","model","cost","runtime","systems","input","with","matrix","socket","child","custom","hierarchy",{"skillNo":133,"name":134,"nameZh":6,"description":135,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":136,"categories":137,"keywords":143,"publishedAt":44},"01M6KH4VW4MA14DQW4KQYPFT0S","dots-singleton-patterns","Model cross-system shared configuration and game state as a single-entity component with a strict single-writer contract. Covers RequireForUpdate gating, SystemAPI.GetSingleton \u002F GetSingletonRW \u002F HasSingleton \u002F TryGetSingleton, bake-time vs runtime-created vs ECB-system singletons, the \"exactly one entity\" runtime invariant, and the single-writer rule. Use when designing frame-stable global config, shared mutable state, or any component intended to exist on exactly one entity.","https:\u002F\u002Fgithub.com\u002FdyCuong03\u002Funity-agent-team\u002Fblob\u002Fmain\u002Fworkspace\u002Fdots-program\u002Fscratch\u002Fwave-2-orchestrator-drafts\u002Fdots-singleton-patterns\u002FSKILL.md",[138],{"categoryNo":139,"categoryName":140,"taxonomyType":141,"taxonomyTypeDesc":142},"01JBSEEDCAT000000000000037","律师与法务","PROFESSION","适用职业",[116,144,145,146,147,148,149,96,121,99,150,151,152,123,153,154,126,107,155,156],"singleton","dots singleton patterns","component","config","state","game","writer","time","shared","contract","as","ecb","gating",{"skillNo":158,"name":159,"nameZh":6,"description":160,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":161,"categories":162,"keywords":163,"publishedAt":44},"01M6KH4PR076AYNDZHD63HHWX6","dots-hybrid-bridge","The one-way bridge between DOTS-owned runtime state and Unity-owned presentation. Covers UnityObjectRef for managed asset refs in components, the DOTS-writes \u002F Unity-reads ownership rule, when to use managed IComponentData vs UnityObjectRef vs CompanionComponent, baker-bridge vs runtime-bridge, and SubScene boundary rules. Use when an entity must reference Unity assets (Mesh, Material, AudioClip, ScriptableObject), a MonoBehaviour view must read entity state, or input\u002FUI must trigger ECS work.","https:\u002F\u002Fgithub.com\u002FdyCuong03\u002Funity-agent-team\u002Fblob\u002Fmain\u002Fworkspace\u002Fdots-program\u002Fscratch\u002Fwave-2-orchestrator-drafts\u002Fdots-hybrid-bridge\u002FSKILL.md",[],[164,165,166,167,119,148,93,168,169,98,38,170,99,123,171,25,125,172,173,174],"bridge","hybrid","dots hybrid bridge","mesh","assets","Rules","view","trigger","material","for","managed",{"skillNo":176,"name":177,"nameZh":6,"description":178,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":179,"categories":180,"keywords":181,"publishedAt":44},"01M6KH4FGRQ9AP2ND5H5HX4D83","dots-event-driven-ecs","Model one-frame events and external requests in ECS without dual ownership, polling, or persistent state leaks. Covers request-tag pattern with ECB, enableable command components (no structural change), event buffers (IBufferElementData), explicit consumer ownership, one-frame latency rules, and the banned C# event \u002F UnityEvent \u002F static bus anti-patterns. Use when input\u002FUI\u002Fnetwork must trigger ECS work, when a one-frame signal fans out to N consumers (damage, hit, collision), or when state changes must be processed exactly once.","https:\u002F\u002Fgithub.com\u002FdyCuong03\u002Funity-agent-team\u002Fblob\u002Fmain\u002Fworkspace\u002Fdots-program\u002Fscratch\u002Fwave-2-orchestrator-drafts\u002Fdots-event-driven-ecs\u002FSKILL.md",[],[182,183,105,184,185,119,186,187,188,121,98,189,190,116,191,192,125,193,194,195],"event driven","driven","event","dots event driven ecs","change","ui","network","command","anti-patterns","pattern","structural","events","static","request",{"skillNo":197,"name":198,"nameZh":6,"description":199,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":200,"categories":201,"keywords":211,"publishedAt":44},"01M6KH4BWRGCEBJ8PKCKCSGT33","valid_skill","A complete, well-formed test fixture skill for SkillHub validation testing. Covers basic task routing and code review for Unity projects.","https:\u002F\u002Fgithub.com\u002FdyCuong03\u002Funity-agent-team\u002Fblob\u002Fmain\u002Ftests\u002Ffixtures\u002Fvalid_skill\u002FSKILL.md",[202,205,208],{"categoryNo":203,"categoryName":204,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000007","代码审查",{"categoryNo":206,"categoryName":207,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000008","测试与质量",{"categoryNo":209,"categoryName":210,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发",[212,213,214,215,216,217,218,43,219,220,221,222,223,224,25,225,173],"valid skill","valid","code review","testing","review","test","routing","validation","projects","fixture skill","task","fixture","basic","complete"]