nccgs 2.1.1 → 3.0.0-rc.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (705) hide show
  1. package/CHANGELOG.md +76 -235
  2. package/LICENSE +1 -1
  3. package/README.md +87 -206
  4. package/THIRD_PARTY_NOTICES.md +6 -34
  5. package/bin/nccgs.mjs +96 -0
  6. package/cli/doctor.mjs +82 -0
  7. package/cli/feedback.mjs +13 -0
  8. package/cli/install.mjs +111 -0
  9. package/cli/release.mjs +59 -0
  10. package/cli/run.mjs +35 -0
  11. package/cli/spawn.mjs +20 -0
  12. package/cli/uninstall.mjs +43 -0
  13. package/cli/update-check.mjs +66 -0
  14. package/docs/EVIDENCE-VERIFICATION.md +22 -0
  15. package/package.json +23 -30
  16. package/runtime/core/diag.mjs +43 -0
  17. package/runtime/core/feedback-policy.mjs +54 -0
  18. package/runtime/core/fs.mjs +80 -0
  19. package/runtime/core/job-object.mjs +73 -0
  20. package/runtime/core/modes.mjs +87 -0
  21. package/runtime/core/process-tree.mjs +109 -0
  22. package/runtime/core/project.mjs +113 -0
  23. package/runtime/core/snapshot.mjs +114 -0
  24. package/runtime/hooks/common.mjs +22 -0
  25. package/runtime/hooks/done-guard.mjs +15 -0
  26. package/runtime/hooks/guard-mcp.mjs +8 -0
  27. package/runtime/hooks/guard-shell.mjs +16 -0
  28. package/runtime/hooks/guard-write.mjs +25 -0
  29. package/runtime/hooks/session-log.mjs +7 -0
  30. package/runtime/hooks/session-start.mjs +40 -0
  31. package/runtime/hooks/unity-transport.mjs +12 -0
  32. package/runtime/modes.json +39 -0
  33. package/runtime/task/cost.mjs +103 -0
  34. package/runtime/task/criteria.mjs +128 -0
  35. package/runtime/task/feedback.mjs +136 -0
  36. package/runtime/task/ledger.mjs +109 -0
  37. package/runtime/task/plan.mjs +69 -0
  38. package/runtime/task/project.mjs +79 -0
  39. package/runtime/task/report.mjs +252 -0
  40. package/runtime/task/task.mjs +238 -0
  41. package/runtime/unity/assets.mjs +51 -0
  42. package/runtime/unity/playtest.mjs +145 -0
  43. package/runtime/unity/unity.mjs +350 -0
  44. package/scripts/check-job-object.mjs +18 -0
  45. package/scripts/sync-unity-skills.mjs +35 -119
  46. package/template/CLAUDE.md +39 -0
  47. package/template/agents/fast-fix.md +9 -0
  48. package/template/agents/implementer.md +19 -0
  49. package/template/agents/playtester.md +15 -0
  50. package/template/agents/reviewer.md +19 -0
  51. package/template/agents/scout.md +9 -0
  52. package/template/ponytail/README.md +8 -0
  53. package/{.claude/nccgs/packages → template}/ponytail/engineering.md +10 -0
  54. package/template/protocols/evidence.md +52 -0
  55. package/template/protocols/playtest.md +45 -0
  56. package/template/protocols/review.md +34 -0
  57. package/template/protocols/unity-cli-notes.md +56 -0
  58. package/template/settings.fragment.json +33 -0
  59. package/template/skills/art-bible/SKILL.md +19 -0
  60. package/template/skills/asset-spec/SKILL.md +19 -0
  61. package/template/skills/brainstorm/SKILL.md +17 -0
  62. package/template/skills/feedback/SKILL.md +16 -0
  63. package/template/skills/map-systems/SKILL.md +25 -0
  64. package/template/skills/playtest/SKILL.md +17 -0
  65. package/template/skills/status/SKILL.md +18 -0
  66. package/template/skills/test/SKILL.md +34 -0
  67. package/template/skills/unity-foundation/SKILL.md +17 -0
  68. package/template/skills/vertical-slice/SKILL.md +17 -0
  69. package/template/skills/work/SKILL.md +65 -0
  70. package/tools/feedback-worker/README.md +12 -0
  71. package/tools/feedback-worker/worker.js +39 -0
  72. package/tools/feedback-worker/wrangler.toml +12 -0
  73. package/unity-skills/2d-pixel-perfect/SKILL.md +208 -0
  74. package/unity-skills/2d-pixel-perfect/references/api-reference.md +81 -0
  75. package/unity-skills/2d-pixel-perfect/references/camera-setup-builtin.cs +40 -0
  76. package/unity-skills/2d-pixel-perfect/references/camera-setup-urp.cs +49 -0
  77. package/unity-skills/2d-pixel-perfect/references/pipeline-detection.cs +50 -0
  78. package/unity-skills/2d-pixel-perfect/references/sprite-settings.cs +37 -0
  79. package/unity-skills/asset-transformer-toolkit/SECURITY.md +15 -0
  80. package/unity-skills/asset-transformer-toolkit/SKILL.md +39 -0
  81. package/unity-skills/asset-transformer-toolkit/references/create-importer.md +121 -0
  82. package/unity-skills/asset-transformer-toolkit/references/lods.md +61 -0
  83. package/unity-skills/asset-transformer-toolkit/references/rule-api.md +154 -0
  84. package/unity-skills/asset-transformer-toolkit/references/ruleblock-api.md +37 -0
  85. package/unity-skills/asset-transformer-toolkit/references/ruleset-api.md +138 -0
  86. package/unity-skills/asset-transformer-toolkit/references/rulesets-and-actions.md +227 -0
  87. package/unity-skills/audio-setup-mixers/SECURITY.md +16 -0
  88. package/unity-skills/audio-setup-mixers/SKILL.md +127 -0
  89. package/unity-skills/audio-setup-mixers/references/api.md +162 -0
  90. package/unity-skills/build-gtk/SKILL.md +242 -0
  91. package/unity-skills/build-gtk/references/graph-api.md +324 -0
  92. package/unity-skills/build-gtk/references/pitfalls.md +86 -0
  93. package/unity-skills/build-gtk/references/runtime-and-visualization.md +196 -0
  94. package/unity-skills/build-gtk/references/state-machine-api.md +286 -0
  95. package/unity-skills/build-live-game/SKILL.md +255 -0
  96. package/{.claude/skills → unity-skills}/build-live-game/references/achievements.md +132 -154
  97. package/{.claude/skills → unity-skills}/build-live-game/references/apis.md +10 -19
  98. package/{.claude/skills → unity-skills}/build-live-game/references/authentication.md +14 -20
  99. package/{.claude/skills → unity-skills}/build-live-game/references/battlepass.md +269 -225
  100. package/unity-skills/build-live-game/references/blueprints-and-samples.md +75 -0
  101. package/unity-skills/build-live-game/references/cloud-code-cloudbehaviours.md +1111 -0
  102. package/unity-skills/build-live-game/references/cloud-code-modules.md +1276 -0
  103. package/unity-skills/build-live-game/references/cloud-code.md +58 -0
  104. package/{.claude/skills → unity-skills}/build-live-game/references/cloud-save.md +15 -25
  105. package/{.claude/skills → unity-skills}/build-live-game/references/deployment.md +33 -18
  106. package/{.claude/skills → unity-skills}/build-live-game/references/player-account.md +31 -23
  107. package/{.claude/skills → unity-skills}/build-live-game/references/tooling.md +0 -56
  108. package/unity-skills/build-live-game/references/ugs-cli.md +86 -0
  109. package/unity-skills/craft-game-floors/SECURITY.md +23 -0
  110. package/unity-skills/craft-game-floors/SKILL.md +134 -0
  111. package/unity-skills/craft-game-floors/references/art-direction.md +85 -0
  112. package/unity-skills/craft-game-floors/references/camera-rigs.md +51 -0
  113. package/unity-skills/craft-game-floors/references/character-motion.md +35 -0
  114. package/unity-skills/craft-game-floors/references/game-audio.md +47 -0
  115. package/unity-skills/craft-game-floors/references/game-feel.md +68 -0
  116. package/unity-skills/craft-game-floors/references/game-shell.md +45 -0
  117. package/unity-skills/craft-game-floors/references/live-floor.md +35 -0
  118. package/unity-skills/craft-game-floors/references/placeholder-assets.md +35 -0
  119. package/unity-skills/craft-game-floors/references/scene-lighting.md +52 -0
  120. package/unity-skills/craft-game-floors/references/toon-shading.md +34 -0
  121. package/unity-skills/craft-game-floors/references/vfx.md +40 -0
  122. package/unity-skills/craft-game-floors/references/visual-scorecard.md +43 -0
  123. package/unity-skills/create-2d-physics/SECURITY.md +16 -0
  124. package/unity-skills/create-2d-physics/SKILL.md +128 -0
  125. package/unity-skills/create-2d-physics/references/2d-physics-core.md +155 -0
  126. package/unity-skills/create-2d-physics/references/legacy-2d-physics.md +45 -0
  127. package/unity-skills/create-tile-palette-or-rule-tiles/SKILL.md +12 -0
  128. package/unity-skills/create-tile-palette-or-rule-tiles/references/hexagonalruletile.md +71 -0
  129. package/unity-skills/create-tile-palette-or-rule-tiles/references/palette-create.md +38 -0
  130. package/unity-skills/create-tile-palette-or-rule-tiles/references/ruletile-createempty.md +35 -0
  131. package/unity-skills/create-tile-palette-or-rule-tiles/references/ruletile-createfromsegment.md +212 -0
  132. package/unity-skills/create-tile-palette-or-rule-tiles/references/ruletile.md +90 -0
  133. package/unity-skills/create-tile-palette-or-rule-tiles/scripts/CreatePaletteTemplate.cs +148 -0
  134. package/unity-skills/create-tile-palette-or-rule-tiles/scripts/ManualWorkflowExample.cs +63 -0
  135. package/unity-skills/create-tile-palette-or-rule-tiles/scripts/RuleTileGenerator.cs +61 -0
  136. package/unity-skills/create-tile-palette-or-rule-tiles/scripts/TilemapRuleTileCreateFromSegment.cs +225 -0
  137. package/unity-skills/generate-editor-search-query/SECURITY.md +17 -0
  138. package/unity-skills/generate-editor-search-query/SKILL.md +117 -0
  139. package/unity-skills/generate-editor-search-query/references/open-search-window.md +70 -0
  140. package/unity-skills/generate-editor-search-query/references/query-patterns.md +124 -0
  141. package/{.claude/skills → unity-skills}/implement-in-app-purchases/SKILL.md +1 -2
  142. package/{.claude/skills → unity-skills}/implement-in-app-purchases/references/api-notes.md +25 -28
  143. package/{.claude/skills → unity-skills}/implement-in-app-purchases/references/path-convert-native-google-billing.md +1 -1
  144. package/{.claude/skills → unity-skills}/implement-in-app-purchases/references/path-implement-iap-d2c.md +40 -5
  145. package/{.claude/skills → unity-skills}/initialize-ai-navigation/SKILL.md +4 -4
  146. package/{.claude/skills → unity-skills}/initialize-ai-navigation/references/navigation-system.md +3 -3
  147. package/{.claude/skills → unity-skills}/levelplay-unity-integration/CHANGELOG.md +12 -0
  148. package/{.claude/skills → unity-skills}/levelplay-unity-integration/README.md +9 -5
  149. package/unity-skills/levelplay-unity-integration/SKILL.md +442 -0
  150. package/{.claude/skills → unity-skills}/levelplay-unity-integration/references/banner-api.md +15 -8
  151. package/{.claude/skills → unity-skills}/levelplay-unity-integration/references/best-practices.md +604 -536
  152. package/unity-skills/levelplay-unity-integration/references/dependency-resolution.md +94 -0
  153. package/{.claude/skills → unity-skills}/levelplay-unity-integration/references/ilrd-api.md +2 -2
  154. package/{.claude/skills → unity-skills}/levelplay-unity-integration/references/initialization-api.md +221 -0
  155. package/{.claude/skills → unity-skills}/levelplay-unity-integration/references/interstitial-api.md +11 -3
  156. package/{.claude/skills → unity-skills}/levelplay-unity-integration/references/ios-setup.md +6 -34
  157. package/{.claude/skills → unity-skills}/levelplay-unity-integration/references/migration-sdk-9.md +1 -1
  158. package/{.claude/skills → unity-skills}/levelplay-unity-integration/references/privacy-settings.md +14 -29
  159. package/{.claude/skills → unity-skills}/levelplay-unity-integration/references/rewarded-api.md +20 -4
  160. package/unity-skills/levelplay-unity-integration/references/testing-and-validation.md +222 -0
  161. package/unity-skills/levelplay-unity-integration/references/troubleshooting.md +99 -0
  162. package/unity-skills/localization/SKILL.md +347 -0
  163. package/{.claude/skills → unity-skills}/localization/references/api-notes.md +4 -0
  164. package/unity-skills/localization/resources/L10nBatchProcessor.cs +191 -0
  165. package/unity-skills/manage-sprite-atlas/SKILL.md +351 -0
  166. package/unity-skills/manage-sprite-atlas/references/addressables-delivery.md +58 -0
  167. package/unity-skills/manage-sprite-atlas/references/api.md +382 -0
  168. package/unity-skills/manage-sprite-atlas/references/best-practices.md +183 -0
  169. package/unity-skills/manage-sprite-atlas/references/common-errors.md +123 -0
  170. package/unity-skills/manage-sprite-atlas/references/custom-packing.md +147 -0
  171. package/unity-skills/manage-sprite-atlas/references/manual-authoring.md +39 -0
  172. package/unity-skills/manage-sprite-atlas/resources/authoringvsruntime.cs +176 -0
  173. package/unity-skills/manage-sprite-atlas/resources/buildaddressablespostprocess.cs +59 -0
  174. package/unity-skills/manage-sprite-atlas/resources/cacheloadedatlases.cs +145 -0
  175. package/unity-skills/manage-sprite-atlas/resources/cleanupbatchoperations.cs +119 -0
  176. package/unity-skills/manage-sprite-atlas/resources/createandconfiguremasteratlas.cs +57 -0
  177. package/unity-skills/manage-sprite-atlas/resources/custompackersetup.cs +88 -0
  178. package/unity-skills/manage-sprite-atlas/resources/deprecatedmethods.cs +142 -0
  179. package/unity-skills/manage-sprite-atlas/resources/dontmodifywithoutsaving.cs +120 -0
  180. package/unity-skills/manage-sprite-atlas/resources/dontpackinruntimebuilds.cs +190 -0
  181. package/unity-skills/manage-sprite-atlas/resources/dontscriptspriteatlasineditor.cs +114 -0
  182. package/unity-skills/manage-sprite-atlas/resources/editorconfiguration.cs +95 -0
  183. package/unity-skills/manage-sprite-atlas/resources/enablespritepacking.cs +172 -0
  184. package/unity-skills/manage-sprite-atlas/resources/gridspritepacker.cs +50 -0
  185. package/unity-skills/manage-sprite-atlas/resources/handlelatebinding.cs +147 -0
  186. package/unity-skills/manage-sprite-atlas/resources/handlenullcases.cs +141 -0
  187. package/unity-skills/manage-sprite-atlas/resources/migratev1tov2.cs +335 -0
  188. package/unity-skills/manage-sprite-atlas/resources/multipagepacker.cs +80 -0
  189. package/unity-skills/manage-sprite-atlas/resources/optimizetexturesettings.cs +191 -0
  190. package/unity-skills/manage-sprite-atlas/resources/packerdebugging.cs +158 -0
  191. package/unity-skills/manage-sprite-atlas/resources/packtransform.cs +51 -0
  192. package/unity-skills/manage-sprite-atlas/resources/platformnames.cs +127 -0
  193. package/unity-skills/manage-sprite-atlas/resources/queryspritesefficiently.cs +222 -0
  194. package/unity-skills/manage-sprite-atlas/resources/registercallbacks.cs +152 -0
  195. package/unity-skills/manage-sprite-atlas/resources/runtimeatlasloader.cs +15 -0
  196. package/unity-skills/manage-sprite-atlas/resources/runtimespriteaccess.cs +19 -0
  197. package/unity-skills/manage-sprite-atlas/resources/savespriteatlasasset.cs +107 -0
  198. package/unity-skills/manage-sprite-atlas/resources/scriptablepacker.cs +81 -0
  199. package/unity-skills/manage-sprite-atlas/resources/setincludeinbuild.cs +164 -0
  200. package/unity-skills/manage-sprite-atlas/resources/sizeoptimizedpacker.cs +88 -0
  201. package/unity-skills/manage-sprite-atlas/resources/spriteatlaslatebinding.cs +123 -0
  202. package/unity-skills/manage-sprite-atlas/resources/spriteatlasprebuildgenerator.cs +219 -0
  203. package/unity-skills/manage-sprite-atlas/resources/spritedata.cs +35 -0
  204. package/unity-skills/manage-sprite-atlas/resources/spritepack.cs +39 -0
  205. package/unity-skills/manage-sprite-atlas/resources/texturedata.cs +15 -0
  206. package/unity-skills/manage-sprite-atlas/resources/updatebuildscripts.cs +357 -0
  207. package/unity-skills/manage-sprite-atlas/resources/updatesettingsconfiguration.cs +135 -0
  208. package/unity-skills/manage-sprite-atlas/resources/usevariantswisely.cs +179 -0
  209. package/unity-skills/manage-sprite-atlas/resources/variantatlas.cs +39 -0
  210. package/unity-skills/manifest.json +1155 -0
  211. package/unity-skills/migrate-birp-to-urp/SECURITY.md +16 -0
  212. package/unity-skills/migrate-birp-to-urp/SKILL.md +543 -0
  213. package/unity-skills/migrate-birp-to-urp/references/capturing-the-editor.md +66 -0
  214. package/unity-skills/migrate-birp-to-urp/references/complex-shader-situations.md +272 -0
  215. package/unity-skills/migrate-birp-to-urp/references/custom-shader-triage.md +123 -0
  216. package/unity-skills/migrate-birp-to-urp/references/implementation-patterns.md +529 -0
  217. package/unity-skills/migrate-birp-to-urp/references/migration-workflow.md +265 -0
  218. package/unity-skills/migrate-birp-to-urp/references/quality-settings-map.md +69 -0
  219. package/unity-skills/new-unity-project/SECURITY.md +26 -0
  220. package/unity-skills/new-unity-project/SKILL.md +386 -0
  221. package/unity-skills/new-unity-project/references/skill-setup.md +66 -0
  222. package/unity-skills/optimize-audio/SECURITY.md +16 -0
  223. package/{.claude/skills → unity-skills}/optimize-audio/SKILL.md +17 -17
  224. package/{.claude/skills → unity-skills}/optimize-audio/resources/audio-import-api.md +8 -5
  225. package/{.claude/skills → unity-skills}/optimize-text-mesh-pro/SKILL.md +1 -11
  226. package/unity-skills/optimize-web/SECURITY.md +16 -0
  227. package/{.claude/skills → unity-skills}/optimize-web/SKILL.md +164 -27
  228. package/unity-skills/optimize-web/scripts/WebOptimizer.cs +46 -0
  229. package/unity-skills/optimize-web/scripts/toktx-examples.sh +11 -0
  230. package/{.claude/skills → unity-skills}/physics-3d-collision/SKILL.md +2 -2
  231. package/unity-skills/physics-3d-collision/references/troubleshooting.md +8 -0
  232. package/unity-skills/project-auditor-fixes/SKILL.md +64 -0
  233. package/{.claude/skills → unity-skills}/setup-multiplayer-services/SKILL.md +1 -4
  234. package/{.claude/skills → unity-skills}/setup-vivox-voice-chat/SKILL.md +1 -1
  235. package/{.claude/skills → unity-skills}/shader-graph-create-custom-node/SKILL.md +1 -1
  236. package/unity-skills/sprite-editor/SECURITY.md +16 -0
  237. package/{.claude/skills → unity-skills}/sprite-editor/SKILL.md +9 -9
  238. package/{.claude/skills → unity-skills}/sprite-editor/references/templates.md +1 -1
  239. package/unity-skills/sprite-segment-3x3grid/SKILL.md +136 -0
  240. package/unity-skills/sprite-segment-3x3grid/scripts/SpriteGridAnalysis.cs +119 -0
  241. package/{.claude/skills → unity-skills}/ui/SKILL.md +1 -1
  242. package/{.claude/skills → unity-skills}/ui-imgui/SKILL.md +1 -7
  243. package/{.claude/skills → unity-skills}/ui-ugui/SKILL.md +3 -9
  244. package/{.claude/skills → unity-skills}/ui-uitk/SKILL.md +8 -14
  245. package/{.claude/skills → unity-skills}/ui-uitk/references/custom-elements.md +1 -1
  246. package/unity-skills/unity-cli/CHANGELOG.md +515 -0
  247. package/unity-skills/unity-cli/SECURITY.md +68 -0
  248. package/unity-skills/unity-cli/SKILL.md +723 -0
  249. package/unity-skills/unity-cli/references/auth-license-cloud.md +318 -0
  250. package/unity-skills/unity-cli/references/build-run-test.md +555 -0
  251. package/unity-skills/unity-cli/references/cloud-automation.md +736 -0
  252. package/{.claude/skills → unity-skills}/unity-cli/references/collaboration.md +166 -105
  253. package/unity-skills/unity-cli/references/config-hub.md +239 -0
  254. package/unity-skills/unity-cli/references/diagnostics-maintenance.md +720 -0
  255. package/unity-skills/unity-cli/references/docs-workflow.md +179 -0
  256. package/unity-skills/unity-cli/references/editors-install.md +476 -0
  257. package/unity-skills/unity-cli/references/integration-advanced.md +1130 -0
  258. package/unity-skills/unity-cli/references/playmode-verification-loop.md +279 -0
  259. package/unity-skills/unity-cli/references/projects-templates.md +996 -0
  260. package/unity-skills/unity-cli/references/version-control.md +612 -0
  261. package/{.claude/skills → unity-skills}/unity-package-management/SKILL.md +60 -12
  262. package/{.claude/skills → unity-skills}/unity-package-management/references/select-packages.md +39 -21
  263. package/unity-skills/unity-pipeline/SECURITY.md +17 -0
  264. package/unity-skills/unity-pipeline/SKILL.md +335 -0
  265. package/unity-skills/urp-postprocessing/SECURITY.md +16 -0
  266. package/{.claude/skills → unity-skills}/urp-postprocessing/SKILL.md +12 -12
  267. package/{.claude/skills → unity-skills}/urp-postprocessing/references/code-templates.md +39 -8
  268. package/{.claude/skills → unity-skills}/validate-urp-render-graph-renderer-feature/SKILL.md +1 -1
  269. package/.claude/agents/nccgs-adversarial-reviewer.md +0 -43
  270. package/.claude/agents/nccgs-engine-programmer.md +0 -27
  271. package/.claude/agents/nccgs-fast-implementer.md +0 -30
  272. package/.claude/agents/nccgs-game-designer.md +0 -26
  273. package/.claude/agents/nccgs-gameplay-programmer.md +0 -26
  274. package/.claude/agents/nccgs-qa-engineer.md +0 -27
  275. package/.claude/agents/nccgs-task-scout.md +0 -24
  276. package/.claude/agents/nccgs-ui-programmer.md +0 -27
  277. package/.claude/agents/nccgs-unity-build-specialist.md +0 -27
  278. package/.claude/agents/nccgs-unity-implementer.md +0 -28
  279. package/.claude/agents/nccgs-unity-systems-specialist.md +0 -27
  280. package/.claude/agents/nccgs-unity-ui-specialist.md +0 -27
  281. package/.claude/agents/nccgs-verification-engineer.md +0 -27
  282. package/.claude/nccgs/MEMORY.md +0 -66
  283. package/.claude/nccgs/THIRD_PARTY_NOTICES.md +0 -29
  284. package/.claude/nccgs/VERSION +0 -1
  285. package/.claude/nccgs/agent-library/nccgs-accessibility-specialist.md +0 -25
  286. package/.claude/nccgs/agent-library/nccgs-adversarial-reviewer.md +0 -41
  287. package/.claude/nccgs/agent-library/nccgs-ai-programmer.md +0 -25
  288. package/.claude/nccgs/agent-library/nccgs-analytics-engineer.md +0 -25
  289. package/.claude/nccgs/agent-library/nccgs-art-direction-lead.md +0 -25
  290. package/.claude/nccgs/agent-library/nccgs-audio-direction-lead.md +0 -25
  291. package/.claude/nccgs/agent-library/nccgs-creative-director.md +0 -25
  292. package/.claude/nccgs/agent-library/nccgs-documentation-manager.md +0 -25
  293. package/.claude/nccgs/agent-library/nccgs-economy-designer.md +0 -25
  294. package/.claude/nccgs/agent-library/nccgs-engine-programmer.md +0 -25
  295. package/.claude/nccgs/agent-library/nccgs-fast-implementer.md +0 -28
  296. package/.claude/nccgs/agent-library/nccgs-game-design-lead.md +0 -25
  297. package/.claude/nccgs/agent-library/nccgs-game-designer.md +0 -24
  298. package/.claude/nccgs/agent-library/nccgs-gameplay-programmer.md +0 -24
  299. package/.claude/nccgs/agent-library/nccgs-level-designer.md +0 -25
  300. package/.claude/nccgs/agent-library/nccgs-live-ops-designer.md +0 -25
  301. package/.claude/nccgs/agent-library/nccgs-localization-lead.md +0 -25
  302. package/.claude/nccgs/agent-library/nccgs-narrative-lead.md +0 -25
  303. package/.claude/nccgs/agent-library/nccgs-network-programmer.md +0 -25
  304. package/.claude/nccgs/agent-library/nccgs-performance-analyst.md +0 -25
  305. package/.claude/nccgs/agent-library/nccgs-producer.md +0 -25
  306. package/.claude/nccgs/agent-library/nccgs-production-coordinator.md +0 -22
  307. package/.claude/nccgs/agent-library/nccgs-programming-lead.md +0 -25
  308. package/.claude/nccgs/agent-library/nccgs-prototyper.md +0 -25
  309. package/.claude/nccgs/agent-library/nccgs-qa-engineer.md +0 -25
  310. package/.claude/nccgs/agent-library/nccgs-qa-lead.md +0 -25
  311. package/.claude/nccgs/agent-library/nccgs-release-engineer.md +0 -25
  312. package/.claude/nccgs/agent-library/nccgs-release-lead.md +0 -25
  313. package/.claude/nccgs/agent-library/nccgs-security-engineer.md +0 -25
  314. package/.claude/nccgs/agent-library/nccgs-sound-designer.md +0 -25
  315. package/.claude/nccgs/agent-library/nccgs-systems-designer.md +0 -25
  316. package/.claude/nccgs/agent-library/nccgs-task-scout.md +0 -22
  317. package/.claude/nccgs/agent-library/nccgs-technical-architect.md +0 -25
  318. package/.claude/nccgs/agent-library/nccgs-technical-artist.md +0 -25
  319. package/.claude/nccgs/agent-library/nccgs-technical-director.md +0 -25
  320. package/.claude/nccgs/agent-library/nccgs-tools-programmer.md +0 -25
  321. package/.claude/nccgs/agent-library/nccgs-ui-programmer.md +0 -25
  322. package/.claude/nccgs/agent-library/nccgs-unity-build-specialist.md +0 -25
  323. package/.claude/nccgs/agent-library/nccgs-unity-content-specialist.md +0 -25
  324. package/.claude/nccgs/agent-library/nccgs-unity-implementer.md +0 -26
  325. package/.claude/nccgs/agent-library/nccgs-unity-rendering-specialist.md +0 -25
  326. package/.claude/nccgs/agent-library/nccgs-unity-systems-specialist.md +0 -25
  327. package/.claude/nccgs/agent-library/nccgs-unity-ui-specialist.md +0 -25
  328. package/.claude/nccgs/agent-library/nccgs-ux-designer.md +0 -25
  329. package/.claude/nccgs/agent-library/nccgs-verification-engineer.md +0 -25
  330. package/.claude/nccgs/agent-library/nccgs-world-builder.md +0 -25
  331. package/.claude/nccgs/agent-library/nccgs-writer.md +0 -25
  332. package/.claude/nccgs/constitution.md +0 -187
  333. package/.claude/nccgs/hooks/agent-audit.mjs +0 -16
  334. package/.claude/nccgs/hooks/closure-guard.mjs +0 -59
  335. package/.claude/nccgs/hooks/common.mjs +0 -42
  336. package/.claude/nccgs/hooks/post-compact.mjs +0 -1
  337. package/.claude/nccgs/hooks/pre-compact.mjs +0 -8
  338. package/.claude/nccgs/hooks/protect-git.mjs +0 -22
  339. package/.claude/nccgs/hooks/protect-write.mjs +0 -17
  340. package/.claude/nccgs/hooks/runtime-observation.mjs +0 -11
  341. package/.claude/nccgs/hooks/session-start.mjs +0 -29
  342. package/.claude/nccgs/hooks/session-stop.mjs +0 -7
  343. package/.claude/nccgs/hooks/unity-transport-guard.mjs +0 -11
  344. package/.claude/nccgs/packages/ponytail/README.md +0 -46
  345. package/.claude/nccgs/packages/ponytail/manifest.json +0 -24
  346. package/.claude/nccgs/pipeline.json +0 -260
  347. package/.claude/nccgs/protocols/agent-contract.md +0 -101
  348. package/.claude/nccgs/protocols/astra-claude.md +0 -111
  349. package/.claude/nccgs/protocols/bounded-repair.md +0 -246
  350. package/.claude/nccgs/protocols/context-packets.md +0 -23
  351. package/.claude/nccgs/protocols/delivery-acceptance.md +0 -105
  352. package/.claude/nccgs/protocols/design-lifecycle.md +0 -139
  353. package/.claude/nccgs/protocols/editor-session-evidence.md +0 -52
  354. package/.claude/nccgs/protocols/evidence.md +0 -31
  355. package/.claude/nccgs/protocols/model-routing.md +0 -46
  356. package/.claude/nccgs/protocols/orchestration.md +0 -74
  357. package/.claude/nccgs/protocols/review-handoff.md +0 -101
  358. package/.claude/nccgs/protocols/shared-workflow-context.md +0 -33
  359. package/.claude/nccgs/protocols/standalone-gates.md +0 -329
  360. package/.claude/nccgs/protocols/standalone-pilot.md +0 -144
  361. package/.claude/nccgs/protocols/standalone.md +0 -207
  362. package/.claude/nccgs/protocols/task-autonomy.md +0 -55
  363. package/.claude/nccgs/protocols/task-gates.md +0 -144
  364. package/.claude/nccgs/protocols/task-slices.md +0 -106
  365. package/.claude/nccgs/protocols/unity-boundary.md +0 -31
  366. package/.claude/nccgs/routing.generated.md +0 -49
  367. package/.claude/nccgs/settings.fragment.json +0 -213
  368. package/.claude/nccgs/studio.json +0 -472
  369. package/.claude/nccgs/tools/approve-overrides.mjs +0 -81
  370. package/.claude/nccgs/tools/autonomy.mjs +0 -40
  371. package/.claude/nccgs/tools/command-process.mjs +0 -50
  372. package/.claude/nccgs/tools/command-tokens.mjs +0 -22
  373. package/.claude/nccgs/tools/compile-policy.mjs +0 -121
  374. package/.claude/nccgs/tools/configure-models.mjs +0 -96
  375. package/.claude/nccgs/tools/criteria.mjs +0 -121
  376. package/.claude/nccgs/tools/delivery-budget.mjs +0 -52
  377. package/.claude/nccgs/tools/design-readiness.mjs +0 -158
  378. package/.claude/nccgs/tools/editor-session-evidence.mjs +0 -66
  379. package/.claude/nccgs/tools/evidence.mjs +0 -153
  380. package/.claude/nccgs/tools/gates.mjs +0 -297
  381. package/.claude/nccgs/tools/handoff.mjs +0 -51
  382. package/.claude/nccgs/tools/hook-transport.mjs +0 -34
  383. package/.claude/nccgs/tools/inputs.mjs +0 -108
  384. package/.claude/nccgs/tools/installation-guard.mjs +0 -55
  385. package/.claude/nccgs/tools/integrity.mjs +0 -69
  386. package/.claude/nccgs/tools/lifecycle.mjs +0 -542
  387. package/.claude/nccgs/tools/native-completion.mjs +0 -30
  388. package/.claude/nccgs/tools/orchestration.mjs +0 -680
  389. package/.claude/nccgs/tools/paths.mjs +0 -60
  390. package/.claude/nccgs/tools/policy.mjs +0 -107
  391. package/.claude/nccgs/tools/process-lock.mjs +0 -74
  392. package/.claude/nccgs/tools/repair-packet.mjs +0 -106
  393. package/.claude/nccgs/tools/returned-handoff.mjs +0 -47
  394. package/.claude/nccgs/tools/review-budget.mjs +0 -171
  395. package/.claude/nccgs/tools/review-handoff.mjs +0 -66
  396. package/.claude/nccgs/tools/runtime.mjs +0 -71
  397. package/.claude/nccgs/tools/session-budget.mjs +0 -67
  398. package/.claude/nccgs/tools/shared-context-guard.mjs +0 -60
  399. package/.claude/nccgs/tools/shared-context.mjs +0 -25
  400. package/.claude/nccgs/tools/task-slices.mjs +0 -147
  401. package/.claude/nccgs/tools/task.mjs +0 -145
  402. package/.claude/nccgs/tools/tool-guard.mjs +0 -120
  403. package/.claude/nccgs/tools/unity-repair.mjs +0 -128
  404. package/.claude/nccgs/tools/unity-transport.mjs +0 -170
  405. package/.claude/nccgs/tools/verification-jobs.mjs +0 -171
  406. package/.claude/nccgs/tools/verification-worker.mjs +0 -71
  407. package/.claude/nccgs/tools/windows-compiler-server.cs +0 -163
  408. package/.claude/nccgs/tools/windows-job.cs +0 -103
  409. package/.claude/nccgs/unity-skills-manifest.json +0 -727
  410. package/.claude/nccgs/workflow-catalog.json +0 -654
  411. package/.claude/rules/nccgs-canonical-docs.md +0 -19
  412. package/.claude/rules/nccgs-editor-tools.md +0 -12
  413. package/.claude/rules/nccgs-localization.md +0 -12
  414. package/.claude/rules/nccgs-networking.md +0 -13
  415. package/.claude/rules/nccgs-performance.md +0 -14
  416. package/.claude/rules/nccgs-rendering.md +0 -16
  417. package/.claude/rules/nccgs-security.md +0 -13
  418. package/.claude/rules/nccgs-tests.md +0 -18
  419. package/.claude/rules/nccgs-ui.md +0 -14
  420. package/.claude/rules/nccgs-unity-assets.md +0 -21
  421. package/.claude/rules/nccgs-unity-code.md +0 -22
  422. package/.claude/skills/accessibility-review/SKILL.md +0 -22
  423. package/.claude/skills/accessibility-review/references/astra.md +0 -17
  424. package/.claude/skills/accessibility-review/references/legacy.md +0 -7
  425. package/.claude/skills/architecture-decision/SKILL.md +0 -22
  426. package/.claude/skills/architecture-decision/references/astra.md +0 -12
  427. package/.claude/skills/architecture-decision/references/legacy.md +0 -7
  428. package/.claude/skills/asset-audit/SKILL.md +0 -22
  429. package/.claude/skills/asset-audit/references/astra.md +0 -17
  430. package/.claude/skills/asset-audit/references/legacy.md +0 -7
  431. package/.claude/skills/audit/SKILL.md +0 -22
  432. package/.claude/skills/audit/references/astra.md +0 -17
  433. package/.claude/skills/audit/references/dimensions.md +0 -46
  434. package/.claude/skills/audit/references/legacy.md +0 -9
  435. package/.claude/skills/balance-review/SKILL.md +0 -22
  436. package/.claude/skills/balance-review/references/astra.md +0 -17
  437. package/.claude/skills/balance-review/references/legacy.md +0 -7
  438. package/.claude/skills/bug-triage/SKILL.md +0 -22
  439. package/.claude/skills/bug-triage/references/astra.md +0 -27
  440. package/.claude/skills/bug-triage/references/legacy.md +0 -7
  441. package/.claude/skills/build-live-game/SKILL.md +0 -317
  442. package/.claude/skills/build-live-game/references/cloud-code.md +0 -563
  443. package/.claude/skills/closure/SKILL.md +0 -22
  444. package/.claude/skills/closure/references/astra.md +0 -15
  445. package/.claude/skills/closure/references/legacy.md +0 -7
  446. package/.claude/skills/compatibility-review/SKILL.md +0 -22
  447. package/.claude/skills/compatibility-review/references/astra.md +0 -17
  448. package/.claude/skills/compatibility-review/references/legacy.md +0 -7
  449. package/.claude/skills/context-pack/SKILL.md +0 -22
  450. package/.claude/skills/context-pack/references/astra.md +0 -12
  451. package/.claude/skills/context-pack/references/legacy.md +0 -7
  452. package/.claude/skills/dependency-review/SKILL.md +0 -22
  453. package/.claude/skills/dependency-review/references/astra.md +0 -17
  454. package/.claude/skills/dependency-review/references/legacy.md +0 -7
  455. package/.claude/skills/design/SKILL.md +0 -24
  456. package/.claude/skills/design/references/astra.md +0 -12
  457. package/.claude/skills/design/references/legacy.md +0 -13
  458. package/.claude/skills/design-review/SKILL.md +0 -24
  459. package/.claude/skills/design-review/references/astra.md +0 -17
  460. package/.claude/skills/design-review/references/legacy.md +0 -7
  461. package/.claude/skills/evidence-review/SKILL.md +0 -22
  462. package/.claude/skills/evidence-review/references/astra.md +0 -17
  463. package/.claude/skills/evidence-review/references/legacy.md +0 -7
  464. package/.claude/skills/hotfix/SKILL.md +0 -22
  465. package/.claude/skills/hotfix/references/astra.md +0 -30
  466. package/.claude/skills/hotfix/references/legacy.md +0 -7
  467. package/.claude/skills/incident-recovery/SKILL.md +0 -22
  468. package/.claude/skills/incident-recovery/references/astra.md +0 -27
  469. package/.claude/skills/incident-recovery/references/legacy.md +0 -7
  470. package/.claude/skills/levelplay-unity-integration/SKILL.md +0 -1126
  471. package/.claude/skills/localization/SKILL.md +0 -135
  472. package/.claude/skills/localization/resources/L10nBatchProcessor.cs +0 -69
  473. package/.claude/skills/localize-game/SKILL.md +0 -22
  474. package/.claude/skills/localize-game/references/astra.md +0 -27
  475. package/.claude/skills/localize-game/references/legacy.md +0 -7
  476. package/.claude/skills/migrate-project/SKILL.md +0 -22
  477. package/.claude/skills/migrate-project/references/astra.md +0 -30
  478. package/.claude/skills/migrate-project/references/legacy.md +0 -19
  479. package/.claude/skills/migrate-project/references/procedure.md +0 -96
  480. package/.claude/skills/milestone-review/SKILL.md +0 -22
  481. package/.claude/skills/milestone-review/references/astra.md +0 -12
  482. package/.claude/skills/milestone-review/references/legacy.md +0 -7
  483. package/.claude/skills/nccgs-code-review/SKILL.md +0 -22
  484. package/.claude/skills/nccgs-code-review/references/astra.md +0 -21
  485. package/.claude/skills/nccgs-code-review/references/legacy.md +0 -7
  486. package/.claude/skills/new-unity-project/SKILL.md +0 -179
  487. package/.claude/skills/performance-audit/SKILL.md +0 -22
  488. package/.claude/skills/performance-audit/references/astra.md +0 -17
  489. package/.claude/skills/performance-audit/references/legacy.md +0 -7
  490. package/.claude/skills/physics-3d-collision/references/troubleshooting.md +0 -41
  491. package/.claude/skills/plan-feature/SKILL.md +0 -22
  492. package/.claude/skills/plan-feature/references/astra.md +0 -12
  493. package/.claude/skills/plan-feature/references/legacy.md +0 -7
  494. package/.claude/skills/playtest/SKILL.md +0 -22
  495. package/.claude/skills/playtest/references/astra.md +0 -31
  496. package/.claude/skills/playtest/references/legacy.md +0 -7
  497. package/.claude/skills/project-stage/SKILL.md +0 -22
  498. package/.claude/skills/project-stage/references/astra.md +0 -12
  499. package/.claude/skills/project-stage/references/legacy.md +0 -7
  500. package/.claude/skills/prototype-feature/SKILL.md +0 -22
  501. package/.claude/skills/prototype-feature/references/astra.md +0 -31
  502. package/.claude/skills/prototype-feature/references/legacy.md +0 -7
  503. package/.claude/skills/qa-plan/SKILL.md +0 -22
  504. package/.claude/skills/qa-plan/references/astra.md +0 -12
  505. package/.claude/skills/qa-plan/references/legacy.md +0 -7
  506. package/.claude/skills/release/SKILL.md +0 -22
  507. package/.claude/skills/release/references/astra.md +0 -30
  508. package/.claude/skills/release/references/legacy.md +0 -11
  509. package/.claude/skills/release-readiness/SKILL.md +0 -22
  510. package/.claude/skills/release-readiness/references/astra.md +0 -17
  511. package/.claude/skills/release-readiness/references/legacy.md +0 -7
  512. package/.claude/skills/retrospective/SKILL.md +0 -22
  513. package/.claude/skills/retrospective/references/astra.md +0 -12
  514. package/.claude/skills/retrospective/references/legacy.md +0 -7
  515. package/.claude/skills/review/SKILL.md +0 -22
  516. package/.claude/skills/review/references/astra.md +0 -21
  517. package/.claude/skills/review/references/legacy.md +0 -9
  518. package/.claude/skills/security-audit/SKILL.md +0 -22
  519. package/.claude/skills/security-audit/references/astra.md +0 -17
  520. package/.claude/skills/security-audit/references/legacy.md +0 -7
  521. package/.claude/skills/sprint-plan/SKILL.md +0 -22
  522. package/.claude/skills/sprint-plan/references/astra.md +0 -12
  523. package/.claude/skills/sprint-plan/references/legacy.md +0 -7
  524. package/.claude/skills/status/SKILL.md +0 -22
  525. package/.claude/skills/status/references/astra.md +0 -19
  526. package/.claude/skills/status/references/legacy.md +0 -9
  527. package/.claude/skills/story-readiness/SKILL.md +0 -24
  528. package/.claude/skills/story-readiness/references/astra.md +0 -17
  529. package/.claude/skills/story-readiness/references/legacy.md +0 -7
  530. package/.claude/skills/test/SKILL.md +0 -22
  531. package/.claude/skills/test/references/astra.md +0 -27
  532. package/.claude/skills/test/references/legacy.md +0 -9
  533. package/.claude/skills/ui-review/SKILL.md +0 -22
  534. package/.claude/skills/ui-review/references/astra.md +0 -17
  535. package/.claude/skills/ui-review/references/legacy.md +0 -7
  536. package/.claude/skills/unity-cli/CHANGELOG.md +0 -233
  537. package/.claude/skills/unity-cli/SECURITY.md +0 -22
  538. package/.claude/skills/unity-cli/SKILL.md +0 -414
  539. package/.claude/skills/unity-cli/references/auth-license-cloud.md +0 -146
  540. package/.claude/skills/unity-cli/references/build-run-test.md +0 -349
  541. package/.claude/skills/unity-cli/references/config-hub.md +0 -103
  542. package/.claude/skills/unity-cli/references/diagnostics-maintenance.md +0 -326
  543. package/.claude/skills/unity-cli/references/editors-install.md +0 -327
  544. package/.claude/skills/unity-cli/references/integration-advanced.md +0 -472
  545. package/.claude/skills/unity-cli/references/projects-templates.md +0 -574
  546. package/.claude/skills/work/SKILL.md +0 -22
  547. package/.claude/skills/work/references/astra.md +0 -32
  548. package/.claude/skills/work/references/classification.md +0 -41
  549. package/.claude/skills/work/references/closure.md +0 -60
  550. package/.claude/skills/work/references/feature-contracts.md +0 -36
  551. package/.claude/skills/work/references/legacy.md +0 -29
  552. package/.claude/skills/work/references/verification.md +0 -26
  553. package/CLAUDE.md +0 -10
  554. package/MEMORY.md +0 -109
  555. package/UPGRADING.md +0 -130
  556. package/VERSION +0 -1
  557. package/docs/ARCHITECTURE.md +0 -131
  558. package/docs/ASSET-PRODUCTION-GRAPHIFY-PLAN.md +0 -230
  559. package/docs/BOUNDED-REPAIR.md +0 -80
  560. package/docs/EDITOR-SESSION-EVIDENCE.md +0 -52
  561. package/docs/HANDOFF-AUTOMATION.md +0 -144
  562. package/docs/HUONG-DAN-MIGRATE-VA-SU-DUNG.md +0 -117
  563. package/docs/MIGRATION-MATRIX.md +0 -23
  564. package/docs/NCCGS-1.3.md +0 -13
  565. package/docs/NCCGS-1.4.1.md +0 -149
  566. package/docs/NCCGS-1.4.md +0 -184
  567. package/docs/NCCGS-1.5-IMPLEMENTATION-PLAN.md +0 -378
  568. package/docs/NCCGS-1.5-PILOT.md +0 -130
  569. package/docs/NCCGS-1.5.md +0 -237
  570. package/docs/PHASE-1-OPERATIONS.md +0 -278
  571. package/docs/PHASE-2-OPERATIONS.md +0 -183
  572. package/docs/PROJECT-POLICY.md +0 -94
  573. package/docs/RELEASE-STATUS.md +0 -150
  574. package/docs/TASK-SLICING.md +0 -57
  575. package/docs/UNINSTALL.md +0 -134
  576. package/docs/UPGRADE-QUALIFICATION.md +0 -45
  577. package/docs/WFK17-HOOK-REPAIR.md +0 -71
  578. package/docs/WORKFLOWS.md +0 -85
  579. package/package-assets/nccgs-project.gitignore +0 -2
  580. package/package-assets/setup-vivox-voice-chat-evals.gitignore +0 -7
  581. package/scaffold/.nccgs/autonomy.json +0 -4
  582. package/scaffold/.nccgs/bugs/.gitkeep +0 -1
  583. package/scaffold/.nccgs/closures/.gitkeep +0 -1
  584. package/scaffold/.nccgs/context/.gitkeep +0 -1
  585. package/scaffold/.nccgs/decisions/.gitkeep +0 -1
  586. package/scaffold/.nccgs/evidence/.gitkeep +0 -1
  587. package/scaffold/.nccgs/execution.json +0 -10
  588. package/scaffold/.nccgs/features/.gitkeep +0 -1
  589. package/scaffold/.nccgs/gates.json +0 -7
  590. package/scaffold/.nccgs/inputs.json +0 -6
  591. package/scaffold/.nccgs/migrations/.gitkeep +0 -1
  592. package/scaffold/.nccgs/playtests/.gitkeep +0 -1
  593. package/scaffold/.nccgs/project.yaml +0 -109
  594. package/scaffold/.nccgs/requirements.yaml +0 -10
  595. package/scaffold/.nccgs/reviews/.gitkeep +0 -1
  596. package/scaffold/.nccgs/state.md +0 -40
  597. package/scaffold/.nccgs/templates/agent-handoff.md +0 -37
  598. package/scaffold/.nccgs/templates/architecture-decision.md +0 -27
  599. package/scaffold/.nccgs/templates/closure-record.md +0 -62
  600. package/scaffold/.nccgs/templates/context-packet.yaml +0 -17
  601. package/scaffold/.nccgs/templates/design-contract.json +0 -34
  602. package/scaffold/.nccgs/templates/evidence-record.md +0 -23
  603. package/scaffold/.nccgs/templates/feature-contract.md +0 -60
  604. package/scaffold/.nccgs/templates/implementation-report.md +0 -52
  605. package/scaffold/.nccgs/templates/migration-plan.md +0 -40
  606. package/scaffold/.nccgs/templates/repair-packet.json +0 -14
  607. package/scaffold/.nccgs/templates/repair-unity-code.json +0 -18
  608. package/scaffold/.nccgs/templates/repair-unity-editor.json +0 -21
  609. package/scaffold/.nccgs/templates/task-slices.json +0 -28
  610. package/scaffold/.nccgs/templates/waiver.md +0 -11
  611. package/scripts/benchmark-snapshot.mjs +0 -205
  612. package/scripts/benchmark-v15.mjs +0 -173
  613. package/scripts/cli.mjs +0 -205
  614. package/scripts/doctor.mjs +0 -261
  615. package/scripts/install.mjs +0 -530
  616. package/scripts/recover-session.mjs +0 -89
  617. package/scripts/run.mjs +0 -86
  618. package/scripts/supervise.mjs +0 -152
  619. package/scripts/uninstall.mjs +0 -292
  620. package/scripts/validate.mjs +0 -285
  621. package/scripts/work-handoff.mjs +0 -38
  622. package/tests/autonomy.test.mjs +0 -126
  623. package/tests/benchmark-v15.test.mjs +0 -65
  624. package/tests/design-readiness.test.mjs +0 -200
  625. package/tests/editor-session-evidence.test.mjs +0 -45
  626. package/tests/evidence.test.mjs +0 -186
  627. package/tests/fixtures/compiler-shutdown.cs +0 -67
  628. package/tests/fixtures/native-provider.mjs +0 -61
  629. package/tests/framework.test.mjs +0 -740
  630. package/tests/gates.test.mjs +0 -479
  631. package/tests/hook-repair.test.mjs +0 -106
  632. package/tests/lifecycle-v15.test.mjs +0 -346
  633. package/tests/native-completion-notices.test.mjs +0 -181
  634. package/tests/orchestration-v15.test.mjs +0 -596
  635. package/tests/phase1.test.mjs +0 -427
  636. package/tests/phase2.test.mjs +0 -250
  637. package/tests/policy-v15.test.mjs +0 -234
  638. package/tests/ponytail-package.test.mjs +0 -75
  639. package/tests/returned-handoff-notices.test.mjs +0 -170
  640. package/tests/review-budget.test.mjs +0 -177
  641. package/tests/runtime-v15.test.mjs +0 -1198
  642. package/tests/session-budget.test.mjs +0 -34
  643. package/tests/task-slices.test.mjs +0 -285
  644. package/tests/uninstall.test.mjs +0 -477
  645. package/tests/unity-generated.test.mjs +0 -140
  646. package/tests/unity-transport.test.mjs +0 -348
  647. /package/{.claude/nccgs/packages → template}/ponytail/LICENSE +0 -0
  648. /package/{.claude/nccgs/packages → template}/ponytail/NOTICE.md +0 -0
  649. /package/{.claude/nccgs/packages → template}/ponytail/complexity-review.md +0 -0
  650. /package/{.claude/skills → unity-skills}/build-live-game/references/remote-config.md +0 -0
  651. /package/{.claude/skills → unity-skills}/implement-in-app-purchases/README.md +0 -0
  652. /package/{.claude/skills → unity-skills}/implement-in-app-purchases/references/codeless-catalog.md +0 -0
  653. /package/{.claude/skills → unity-skills}/implement-in-app-purchases/references/convert-adapty.md +0 -0
  654. /package/{.claude/skills → unity-skills}/implement-in-app-purchases/references/convert-essentialkit.md +0 -0
  655. /package/{.claude/skills → unity-skills}/implement-in-app-purchases/references/convert-revenuecat.md +0 -0
  656. /package/{.claude/skills → unity-skills}/implement-in-app-purchases/references/convert-unipay.md +0 -0
  657. /package/{.claude/skills → unity-skills}/implement-in-app-purchases/references/migration-v4-to-v5.md +0 -0
  658. /package/{.claude/skills → unity-skills}/implement-in-app-purchases/references/path-add-iap-to-new-project.md +0 -0
  659. /package/{.claude/skills → unity-skills}/implement-in-app-purchases/references/path-convert-native-storekit.md +0 -0
  660. /package/{.claude/skills → unity-skills}/implement-in-app-purchases/references/platform-notes.md +0 -0
  661. /package/{.claude/skills → unity-skills}/implement-in-app-purchases/references/pre-check.md +0 -0
  662. /package/{.claude/skills → unity-skills}/localization/resources/LocalizedFontAsset.cs +0 -0
  663. /package/{.claude/skills → unity-skills}/optimize-audio/resources/platform-settings.md +0 -0
  664. /package/{.claude/skills → unity-skills}/optimize-web/resources/WebOptimizer.cs +0 -0
  665. /package/{.claude/skills → unity-skills}/optimize-web/resources/toktx-examples.sh +0 -0
  666. /package/{.claude/skills → unity-skills}/physics-3d-collision/resources/CollisionDebugger.cs +0 -0
  667. /package/{.claude/skills → unity-skills}/setup-multiplayer-services/references/dgs-entrypoint.md +0 -0
  668. /package/{.claude/skills → unity-skills}/setup-multiplayer-services/references/entrypoints.md +0 -0
  669. /package/{.claude/skills → unity-skills}/setup-multiplayer-services/references/examples.md +0 -0
  670. /package/{.claude/skills → unity-skills}/setup-multiplayer-services/references/implementation-fit.md +0 -0
  671. /package/{.claude/skills → unity-skills}/setup-multiplayer-services/references/underlying-services.md +0 -0
  672. /package/{.claude/skills → unity-skills}/setup-multiplayer-services/references/workflows-prerequisites.md +0 -0
  673. /package/{.claude/skills → unity-skills}/setup-vivox-voice-chat/evals/.env.example +0 -0
  674. /package/{.claude/skills → unity-skills}/setup-vivox-voice-chat/evals/README.md +0 -0
  675. /package/{.claude/skills → unity-skills}/setup-vivox-voice-chat/evals/promptfooconfig.yaml +0 -0
  676. /package/{.claude/skills → unity-skills}/setup-vivox-voice-chat/evals/tests/init-and-login.yaml +0 -0
  677. /package/{.claude/skills → unity-skills}/setup-vivox-voice-chat/evals/tests/text-chat.yaml +0 -0
  678. /package/{.claude/skills → unity-skills}/setup-vivox-voice-chat/evals/tests/voice-channels.yaml +0 -0
  679. /package/{.claude/skills → unity-skills}/setup-vivox-voice-chat/references/events-and-participants.md +0 -0
  680. /package/{.claude/skills → unity-skills}/setup-vivox-voice-chat/references/init-and-login.md +0 -0
  681. /package/{.claude/skills → unity-skills}/setup-vivox-voice-chat/references/text-chat.md +0 -0
  682. /package/{.claude/skills → unity-skills}/setup-vivox-voice-chat/references/troubleshooting.md +0 -0
  683. /package/{.claude/skills → unity-skills}/setup-vivox-voice-chat/references/voice-channels.md +0 -0
  684. /package/{.claude/skills → unity-skills}/shader-graph-create-custom-node/resources/all_hints.hlsl +0 -0
  685. /package/{.claude/skills → unity-skills}/sprite-editor/references/api_reference.md +0 -0
  686. /package/{.claude/skills → unity-skills}/sprite-editor/references/background.md +0 -0
  687. /package/{.claude/skills → unity-skills}/sprite-editor/scripts/AutomaticSliceTexture.cs +0 -0
  688. /package/{.claude/skills → unity-skills}/sprite-editor/scripts/GenerateNewSpriteRects.cs +0 -0
  689. /package/{.claude/skills → unity-skills}/sprite-editor/scripts/GetTextureSourceImageSize.cs +0 -0
  690. /package/{.claude/skills → unity-skills}/sprite-editor/scripts/GetTextureToSlice.cs +0 -0
  691. /package/{.claude/skills → unity-skills}/sprite-editor/scripts/GridSliceTexture.cs +0 -0
  692. /package/{.claude/skills → unity-skills}/sprite-editor/scripts/IsometricSliceTexture.cs +0 -0
  693. /package/{.claude/skills → unity-skills}/sprite-editor/scripts/README.md +0 -0
  694. /package/{.claude/skills → unity-skills}/sprite-editor/scripts/SetPivotExample.cs +0 -0
  695. /package/{.claude/skills → unity-skills}/sprite-editor/scripts/SpriteToPng.cs +0 -0
  696. /package/{.claude/skills → unity-skills}/ui-imgui/references/gui-elements.md +0 -0
  697. /package/{.claude/skills → unity-skills}/ui-imgui/references/templates.md +0 -0
  698. /package/{.claude/skills → unity-skills}/ui-ugui/references/scrollview-setup.md +0 -0
  699. /package/{.claude/skills → unity-skills}/ui-uitk/references/common-issues.md +0 -0
  700. /package/{.claude/skills → unity-skills}/ui-uitk/references/painter2d.md +0 -0
  701. /package/{.claude/skills → unity-skills}/ui-uitk/references/pointermanipulator-guide.md +0 -0
  702. /package/{.claude/skills → unity-skills}/ui-uitk/references/svg-icons.md +0 -0
  703. /package/{.claude/skills → unity-skills}/ui-uitk/references/ui-runtime-binding.md +0 -0
  704. /package/{.claude/skills → unity-skills}/ui-uitk/references/uss-guide.md +0 -0
  705. /package/{.claude/skills → unity-skills}/urp-postprocessing/references/effect-reference.md +0 -0
@@ -1,27 +1,56 @@
1
1
  ---
2
2
  name: unity-package-management
3
- description: Use when adding, removing, upgrading, or discovering Unity (UPM) packages programmatically from outside the Editor — headless or CI package installs via the C# UnityEditor.PackageManager.Client API, verifying package ids/versions against the Unity registry, or choosing which packages a game needs by genre, platform, and monetization. The Unity CLI does not manage UPM packages, so this skill covers that gap. Triggers on "install a Unity package", "add com.unity.*", "set up packages headless/CI", "which packages for a <genre> game".
3
+ description: Adds, removes, upgrades, and discovers Unity (UPM) packages from outside the Editor, with the Pipeline package commands first and a C# script as the fallback. Use for package installs, verifying package IDs and versions, or choosing which packages a game needs.
4
4
  allowed-tools:
5
5
  - Bash
6
- - Read
7
6
  - Write
8
7
  - Edit
9
8
  ---
10
9
 
11
- # Unity Package Management (headless, via the C# Client API)
10
+ # Unity Package Management (Pipeline commands first, C# script as the fallback)
12
11
 
13
- Add, remove, upgrade, and discover UPM (Unity Package Manager) packages programmatically with
14
- `UnityEditor.PackageManager.Client`, driven headless from the terminal or CI. Do **not**
15
- hand-edit `Packages/manifest.json` — the Client API resolves dependencies and compatible
16
- versions correctly, whereas manual edits routinely break resolution.
12
+ Add, remove, upgrade, and discover UPM (Unity Package Manager) packages with the `package`
13
+ commands of the project's Pipeline package, run through `unity command`. Only when no Editor can
14
+ answer those commands, fall back to `UnityEditor.PackageManager.Client` driven headless from a
15
+ script (see [Fallback](#fallback-no-editor-to-ask-the-c-client-api)). Do **not** hand-edit
16
+ `Packages/manifest.json`: the Package Manager resolves dependencies and compatible versions
17
+ correctly, whereas manual edits routinely break resolution.
17
18
 
18
- This complements the **`unity-cli`** skill (editor install, project creation, build/test): the
19
- CLI has **no** package-management command, so all package work goes through the Editor's C# API.
19
+ This complements the **`unity-cli`** skill (editor install, project creation, build/test), which
20
+ documents `unity command`, `unity status` and `unity pipeline install`.
21
+
22
+ ## Use the package commands first
23
+
24
+ The Pipeline package registers a `package` command group: `add`, `remove`, `list`, `resolve`,
25
+ `search` and `status`. They need a running Editor whose project has `com.unity.pipeline` (add it
26
+ with `unity pipeline install`, then `unity open`, then wait with `unity status --until-ready`).
27
+ Each command's parameters come from the Editor, so read them before the first call. Don't guess
28
+ a parameter name.
29
+
30
+ ```bash
31
+ unity status --until-ready --project-path "<project-path>"
32
+ unity command package --project-path "<project-path>" # the package commands this Editor has
33
+ unity command --query package --format json --project-path "<project-path>" # each command's parameter schema
34
+ unity command package search --project-path "<project-path>" # then pass the parameters the schema lists
35
+ unity command package add --project-path "<project-path>" # add one or more packages by id
36
+ unity command package list --project-path "<project-path>" # confirm what is installed
37
+ ```
38
+
39
+ Pass a command's parameters after its name, as the schema names them (`unity command <group>
40
+ <command> --<parameter> <value>`). Add every package you need in one `package add` call when the
41
+ schema accepts several ids. Pin a version the way the schema describes when a minimum is required
42
+ (the `@<version>` id form belongs to the C# fallback below). Use `package status` or `package list` to verify, and
43
+ `package remove` to drop a package. Treat a non-zero exit as a failure and read its message.
44
+
45
+ If `unity command package` reports no such group, the project's Pipeline package predates it:
46
+ run `unity pipeline upgrade`, or use the fallback below. The fallback starts its own Editor, so it
47
+ can't run while this one has the project open: ask the user to save and close it first (see the
48
+ fallback's first rule).
20
49
 
21
50
  ## When to use
22
51
 
23
52
  - Add / remove / upgrade one or more packages in an existing or freshly-created project.
24
- - Set up a project's packages non-interactively in CI.
53
+ - Set up a project's packages non-interactively in CI (fallback script when no Editor is running).
25
54
  - Verify a package id exists, or find its available versions, before depending on it.
26
55
  - Decide which packages a game actually needs — see
27
56
  [references/select-packages.md](references/select-packages.md).
@@ -34,6 +63,24 @@ genre / look / platform / monetization → package mapping, plus how to search t
34
63
  in [references/select-packages.md](references/select-packages.md). Produce a **deduplicated
35
64
  list of package ids** and read it back to the user before installing.
36
65
 
66
+ ## Fallback: no Editor to ask (the C# Client API)
67
+
68
+ Use this section only when `package add` can't run: no Editor is open and you don't want one
69
+ open, the project has no Pipeline package, or the command group is missing and an upgrade isn't
70
+ wanted. It installs through `Client.AddAndRemove` from a script the Editor runs in batch mode.
71
+
72
+ **The project must be closed first.** The script runs in a second, batch-mode Editor, and an Editor
73
+ that already has the project open holds its lock, so the batch run fails before the script starts.
74
+ `unity editors running --format json` lists every open Editor, with or without the Pipeline package
75
+ (`unity status` lists only Pipeline projects, so an empty result there does not mean closed). Compare each
76
+ `data.instances[].projectPath` with the target project. Also check whether `<project-path>/Temp/UnityLockfile`
77
+ exists, and ask the user whether the project is open in an Editor. If an Editor has the project open, or you can't tell, ask the user to save their work and close it,
78
+ and wait until they say it is closed. If the batch run still fails on a lock, treat the project as open and
79
+ ask the user to close it; don't retry or remove the lock file. Never close or kill
80
+ the user's Editor yourself: it may hold unsaved scenes or a Play Mode session. If the user wants to
81
+ keep it open, don't run the fallback: tell them the install waits until the project is closed or the
82
+ Pipeline package is upgraded (`unity pipeline upgrade`, then `package add`).
83
+
37
84
  ## The `-quit` problem — why NOT `unity run` for installs
38
85
 
39
86
  `Client.Add` / `Client.AddAndRemove` are **asynchronous**: they return a `Request` that only
@@ -213,8 +260,9 @@ Editor (a **known** id, not free-text search), query the registry directly — s
213
260
 
214
261
  ## Run it headless (direct Editor invocation, no `-quit`)
215
262
 
216
- Resolve the Editor binary from the version, then run it in batch mode. The script owns quitting
217
- via `EditorApplication.Exit`, so do **not** pass `-quit`:
263
+ Resolve the Editor binary from the version, then run it in batch mode. Run it only once no Editor
264
+ has the project open (see the fallback's first rule). The script owns quitting via
265
+ `EditorApplication.Exit`, so do **not** pass `-quit`:
218
266
 
219
267
  ```bash
220
268
  VERSION="<version>" # e.g. 6000.0.47f1 (or an installed version)
@@ -1,27 +1,38 @@
1
1
  # Selecting packages
2
2
 
3
3
  Turn a game concept — genre, look, target platforms, monetization — into a concrete package
4
- list, then install it via the C# PackageManager Client API (see the main `SKILL.md`).
4
+ list, then install it with the `package add` command, or the skill's C# script as the fallback.
5
5
 
6
6
  **Principle:** install what the concept actually needs, not everything. A hyper-casual 2D
7
7
  prototype needs far less than a 3D multiplayer RPG. Prefer packages already provided by the
8
- chosen template (URP templates already include the render pipeline, Input System, etc.) — only
9
- add what's missing. Don't pin exact versions unless a minimum is required; `Client.Add` without
10
- a version resolves the latest compatible release.
8
+ chosen template (the URP templates `com.unity.template.urp-blank` / `universal-2d` already
9
+ include the render pipeline, Input System, uGUI/TextMeshPro, etc.) — only add what's missing.
10
+ Don't pin exact versions unless a minimum is required; an id without a version resolves
11
+ the latest compatible release.
11
12
 
12
13
  The tables below are a starting point, not the whole registry. **Search the registry** to
13
14
  discover packages beyond this list, confirm an id exists, or check available versions before
14
15
  installing — see [Discovering and verifying packages](#discovering-and-verifying-packages).
15
16
 
17
+ ## Contents
18
+
19
+ - Discovering and verifying packages
20
+ - Foundation (almost every project)
21
+ - Render pipeline (set by the template — do not add or swap it here)
22
+ - By dimension & look
23
+ - By genre (starting points, combine with the above)
24
+ - By target platform
25
+ - By monetization — install now, integrate via the dedicated skill
26
+
16
27
  ## Discovering and verifying packages
17
28
 
18
29
  Two ways to search, depending on whether the Editor is involved:
19
30
 
20
- **In-Editor — the PackageManager Client API (preferred).** `Client.SearchAll()` returns every
31
+ **In-Editor: `package search` (preferred).** Run `unity command package search` (parameters from `unity command --query package --format json`) against a running Editor. Without one, the fallback is the PackageManager Client API: `Client.SearchAll()` returns every
21
32
  package available in the project's configured registries (the Unity registry plus any scoped
22
33
  registries), each with all its versions and metadata — this is what the Package Manager
23
34
  window's search filters over. `Client.Search("<id>")` inspects a single package. Use the
24
- ready-to-run `PackageSearch` script in the main `SKILL.md` to discover candidates and verify
35
+ skill's ready-to-run `PackageSearch` script to discover candidates and verify
25
36
  ids/versions before building the install list.
26
37
 
27
38
  **Terminal — query the npm-compatible registry directly** (no Editor needed) to confirm a
@@ -48,18 +59,25 @@ HTTP (the npm `-/v1/search` endpoint is not available — it 404s). For keyword
48
59
  | Need | Package | Notes |
49
60
  |---|---|---|
50
61
  | Modern input | `com.unity.inputsystem` | Preferred over the legacy Input Manager. |
51
- | Text / UI | `com.unity.ugui` | uGUI + TextMeshPro (bundled). UI Toolkit ships with the Editor. |
62
+ | Text / UI | `com.unity.ugui` | uGUI + TextMeshPro (bundled). UI Toolkit ships with the Editor. Use one of these for HUDs and menus — never `OnGUI`. |
52
63
  | Camera framing | `com.unity.cinemachine` | Great for almost any 3D and many 2D games. |
53
64
  | Testing | `com.unity.test-framework` | Enables `unity test`; usually already present. |
54
65
  | Large/streamed assets | `com.unity.addressables` | Add when the game has many assets or needs content updates. |
55
66
 
56
- ## Render pipeline (pick one; usually set by the template)
67
+ ## Render pipeline (set by the template — do not add or swap it here)
68
+
69
+ The pipeline is decided by the template chosen in the **`unity-cli`** bootstrap step (default:
70
+ `com.unity.template.urp-blank` for 3D, `com.unity.template.universal-2d` for 2D — both URP).
71
+ Installing `com.unity.render-pipelines.universal` into a Built-in template project does **not**
72
+ switch pipelines: no URP asset gets assigned, and materials render pink. To change pipeline after
73
+ creation use the **`migrate-birp-to-urp`** skill instead. The rows below are for reading a
74
+ `manifest.json`, not for adding packages:
57
75
 
58
- | Choice | Package | Use when |
76
+ | Choice | Package | Notes |
59
77
  |---|---|---|
60
- | **URP** (Universal) | `com.unity.render-pipelines.universal` | Default for most 2D/3D, mobile, and WebGL. Broadest platform reach. |
61
- | **HDRP** (High-Definition) | `com.unity.render-pipelines.high-definition` | High-fidelity PC/console only. Not for mobile/WebGL. |
62
- | **Built-in** | (none) | Simplest/legacy; fine for tiny prototypes. |
78
+ | **URP** (Universal) | `com.unity.render-pipelines.universal` | Default for all 2D/3D, mobile, and WebGL. Ships in the URP templates. |
79
+ | **HDRP** (High-Definition) | `com.unity.render-pipelines.high-definition` | High-fidelity PC/console only; `com.unity.template.hdrp-blank`. Not for mobile/WebGL. |
80
+ | **Built-in** | (none) | Legacy. Its templates are deprecated from Unity 6.5 and removed in 6.7; use only when the user explicitly asks. |
63
81
 
64
82
  ## By dimension & look
65
83
 
@@ -75,12 +93,12 @@ HTTP (the npm `-/v1/search` endpoint is not available — it 404s). For keyword
75
93
 
76
94
  | Genre | Typical additions |
77
95
  |---|---|
78
- | Platformer / action | URP, Input System, Cinemachine, 2D feature (if 2D), AI Navigation (if 3D) |
79
- | Puzzle / match / card | URP or 2D feature, Input System, uGUI/TextMeshPro, Timeline (juice) |
80
- | Top-down / twin-stick | URP, Input System, Cinemachine, AI Navigation |
81
- | RPG / adventure | URP, Input System, Cinemachine, AI Navigation, Addressables, Timeline |
82
- | Racing / physics | URP, Input System, Cinemachine; Physics is built in |
83
- | Idle / hyper-casual | 2D feature or URP, Input System, uGUI/TextMeshPro (keep it lean) |
96
+ | Platformer / action | Input System, Cinemachine, 2D feature (if 2D), AI Navigation (if 3D) |
97
+ | Puzzle / match / card | Input System, uGUI/TextMeshPro, 2D feature (if 2D), Timeline (juice) |
98
+ | Top-down / twin-stick | Input System, Cinemachine, 2D feature (if 2D), AI Navigation (if 3D) |
99
+ | RPG / adventure | Input System, Cinemachine, AI Navigation, Addressables, Timeline |
100
+ | Racing / physics | Input System, Cinemachine; Physics is built in |
101
+ | Idle / hyper-casual | Input System, uGUI/TextMeshPro, 2D feature (if 2D) — keep it lean |
84
102
  | Multiplayer (any) | `com.unity.netcode.gameobjects` + Multiplayer Services → see **build-live-game** |
85
103
 
86
104
  ## By target platform
@@ -90,9 +108,9 @@ the **`unity-cli`** skill), not packages. Package-wise:
90
108
 
91
109
  | Platform | Consider |
92
110
  |---|---|
93
- | Mobile (iOS/Android) | Keep dependencies lean; URP over HDRP; Addressables for download size; monetization below |
94
- | WebGL | URP (not HDRP); small footprint; avoid heavy packages |
95
- | Desktop / Console | URP or HDRP depending on fidelity target |
111
+ | Mobile (iOS/Android) | Keep dependencies lean; a URP template, never HDRP; Addressables for download size; monetization below |
112
+ | WebGL | A URP template (not HDRP); small footprint; avoid heavy packages |
113
+ | Desktop / Console | URP template by default; `hdrp-blank` only for a high-fidelity target |
96
114
 
97
115
  ## By monetization — install now, integrate via the dedicated skill
98
116
 
@@ -0,0 +1,17 @@
1
+ # Security notes: unity-pipeline
2
+
3
+ This skill has the agent run C# inside a Unity Editor or development Player the user already has running, through `unity command script eval`, `script eval_file`, `script run` and `script.methodreload reload`. Automated skill scanners flag that as a powerful capability. It is intentional, and it is limited by the safeguards below.
4
+
5
+ ## Accepted risks
6
+
7
+ | Risk | Capability | Why it is accepted |
8
+ |---|---|---|
9
+ | `SEC_POWER_CAP` | Runs C# in the user's running Editor or development Player through `unity command script eval`, `script eval_file`, `script run` and `script.methodreload reload` | It only reaches an instance the user started, with the Pipeline package they installed, so it grants nothing they couldn't do in that Editor themselves. No code fetched from a remote source is run. The skill steers ad-hoc code into versioned project files run with `script run`, and keeps `script eval` for one-liners. |
10
+
11
+ ## Mitigations
12
+
13
+ - **Only the user's own instances.** Commands go to an Editor or development Player the user is running with the Pipeline package installed. Runtime commands need a development build; release Players have no Pipeline server.
14
+ - **No remote code.** The agent runs C# it writes for the user's task. Nothing downloaded from outside is executed.
15
+ - **Code lives in reviewable files.** Bulk work goes into scripts on disk run with `script run`, so the user can read and version what ran. `script eval` is reserved for short one-liners.
16
+ - **Compile-only check.** `script run --dry_run true` reports diagnostics without loading or running anything.
17
+ - **Named commands first.** When a dedicated `unity command` covers a step, the skill uses it instead of running C#.
@@ -0,0 +1,335 @@
1
+ ---
2
+ name: unity-pipeline
3
+ description: Control a Unity Editor or Player via the unity-pipeline package. Compile, run tests, eval, method-reload code, enter Play Mode, capture screenshots.
4
+ ---
5
+
6
+ # Unity Pipeline (agent control)
7
+
8
+ Invoke commands with `unity command <group> <name> [args]`. Run `unity command` with no
9
+ argument to list the command groups an instance exposes, and `unity command <group>` to list
10
+ the commands in one group. Two servers exist: **Editor** (`7800-7849`, auto-starts with
11
+ the editor) and **Runtime** (`7900-7949`, only in a dev Player build). `unity command --query <term>`
12
+ filters the listing by name, description or tag.
13
+
14
+ ## Before you start
15
+
16
+ - Create a restore point you can roll back to if your changes fail, such as a commit or a stash of
17
+ the project's working tree.
18
+ - Read the project's Editor version from `ProjectSettings/ProjectVersion.txt` (`m_EditorVersion`),
19
+ because some commands and parameters below differ by Unity version. Use it to pick the matching
20
+ steps wherever this skill names a version.
21
+ - Do only what's asked. Don't change unrelated assets or files. Avoid long explanations.
22
+ - Before you go forward with a workflow or diagnosis, open and read the [Topic map](#topic-map)
23
+ page(s) that cover the commands you intend to run. Name the file(s) you read in your response. This
24
+ is because your training knowledge about Unity might be out of date, incorrect, or for the wrong
25
+ Unity version, and Pipeline command names and parameters change between package versions.
26
+ - When a change affects runtime behaviour, add `Debug.Log` lines that you will read back in Play Mode
27
+ to verify the behaviour (see [Final checks](#final-checks)).
28
+
29
+ ## 1. Install & verify
30
+
31
+ ```bash
32
+ unity pipeline install # install into current project (or --project-path)
33
+ unity pipeline list # confirm the editor instance + server are reachable
34
+ unity status --until-ready # wait until the editor server is ready
35
+ unity command editor status # confirm the editor server answers
36
+ ```
37
+
38
+ An Editor that was already open picks up the package only on its next refresh, usually when its
39
+ window regains focus. Until then `unity status` reports `STATUS_PIPELINE_LOAD_PENDING`; if that
40
+ persists, ask the user to switch to the Unity Editor window, then re-run `unity status --until-ready`.
41
+
42
+ ## 2. Autonomous edit loop (Editor)
43
+
44
+ This is the core agent workflow: keep the editor alive, change code, recompile, test.
45
+
46
+ ```bash
47
+ # 1. Keep the editor ticking even when unfocused/minimized. REQUIRED before headless work —
48
+ # Unity otherwise throttles or stalls update/compile when it isn't the active app.
49
+ unity command editor set_auto_tick --enable true
50
+
51
+ # 2. Edit C# source files on disk normally.
52
+
53
+ # 3. Recompile (async: triggers a domain reload, then poll until done).
54
+ unity command script recompile
55
+ unity command script recompile_status # repeat until "completed" or "up_to_date"
56
+ # Tolerate connection errors while the domain reload is in flight — that is expected.
57
+ # If script recompile_status reports failed=true, read its "errors" array and fix before testing.
58
+
59
+ # 4. (Optional) List available tests without running them.
60
+ unity command test list --mode editor # mode: all | editor | playmode
61
+
62
+ # 5. Run tests (filter to keep it fast).
63
+ unity command test run --mode editor --filter MyFixture.MyTest
64
+ ```
65
+
66
+ `test run` modes: `all` | `editor` | `playmode`. `filter_type`: `testName` | `assembly` |
67
+ `category`. For long runs use `--async_tests true` and poll `unity command test status`
68
+ (abort with `unity command test cancel`).
69
+
70
+ > **Known caveat:** when any selected test *fails*, `test run` may surface an opaque
71
+ > result instead of the failure details. Re-run a narrower `--filter`, or inspect the
72
+ > editor's Test Runner / logs to get the real failure.
73
+
74
+ **Reading exit codes.** They separate "rewrite the invocation" from "the Editor failed", which
75
+ is the distinction this loop depends on:
76
+
77
+ | Exit | Meaning | What to do |
78
+ |------|---------|------------|
79
+ | `2` | Bad arguments — a misspelled flag, a wrong type, too many positionals. Nothing ran. | Fix the command line and retry. The error names the problem and often suggests the right flag. |
80
+ | `6` | The command ran and failed, or no Editor could be reached. | Read the error. If it says no Pipeline instance was found, the Editor isn't reachable: wait with `unity status --until-ready` (or check `unity pipeline list` for Safe Mode), then retry. Otherwise retrying the same invocation will not help. |
81
+
82
+ Do not retry an exit 2 unchanged, and do not rewrite a command line on an exit 6.
83
+
84
+ ## 3. Runtime method reload
85
+
86
+ Change gameplay code in a **running** game with no domain reload. The game must be live:
87
+ enter Editor Play Mode (`unity command editor.playmode start`) or run a dev Player. The runtime Pipeline driver (enabled via Project Settings > Pipeline > Runtime) auto-discovers tagged methods on `Awake` (no manual
88
+ registration). Mono only — Editor Play Mode and Mono desktop dev builds, not IL2CPP. The token
89
+ is auto-injected for local requests.
90
+
91
+ ### `script.methodreload reload`
92
+
93
+ Edit the method body directly; no separate file, no boilerplate.
94
+
95
+ 1. **Before entering Play Mode**, tag the method `[MethodReload]` on the MonoBehaviour and recompile.
96
+ The reload hook is compiled into the method, so tagging it while the game runs has no effect:
97
+ exit Play Mode, recompile, and enter it again.
98
+ 2. With the game running, edit the method body on disk.
99
+ 3. Apply (re-run to iterate):
100
+ ```bash
101
+ unity command script.methodreload reload --filename Assets/Spinner.cs
102
+ ```
103
+ Add `--pdb` to make it debuggable — emits a portable PDB mapped to your source so breakpoints in
104
+ the original file bind (attach the IDE + enable Editor Attaching; compiles unoptimized):
105
+ ```bash
106
+ unity command script.methodreload reload --filename Assets/Spinner.cs --pdb
107
+ ```
108
+
109
+ Constraints: `void` instance methods only; **public** members only; debugging requires `--pdb`
110
+ (the default emits no symbols).
111
+
112
+ `unity command script.methodreload status` shows active overrides. `script.methodreload reload` options:
113
+ `--timeout <seconds>` (default 60), `--assemblyDir <dir>` (persist DLLs instead of in-memory);
114
+ `script.methodreload cleanup --assemblyDir <dir>` clears old DLLs.
115
+
116
+ The CLI's `--timeout` (seconds) is the command's timeout: the Pipeline writes it into the command's
117
+ own `timeout` parameter, so there is no separate value to pass:
118
+
119
+ ```bash
120
+ unity command script.methodreload reload --filename Assets/Spinner.cs --timeout 120
121
+ ```
122
+
123
+ ## 4. Bulk construction: `script run` (the builder pattern)
124
+
125
+ For bulk work — creating many objects, wiring fields, generating content — put the code in a
126
+ **versioned project script** and run a named static entry point with `script run`. No domain
127
+ reload, no code carried through the protocol; iterating costs an in-memory compile (< ~2s), not
128
+ a 15–20s recompile.
129
+
130
+ ```bash
131
+ # 1. Write the builder OUTSIDE Assets/ (so the write triggers no asset import / domain reload),
132
+ # e.g. AgentScripts/Build.cs: public static class Build { public static int All() { ... } }
133
+ # 2. Run it — relative paths resolve against the project root (the parent of Assets/):
134
+ unity command script run --file AgentScripts/Build.cs --entry Build.All
135
+ # 3. Iterate: edit the file, re-run. Useful extras:
136
+ unity command script run --file AgentScripts/Build.cs --dry_run true # compile-only check: diagnostics, nothing loaded or executed
137
+ unity command script run --file AgentScripts/Build.cs --entry Build.All --args '[3, "Green"]'
138
+ ```
139
+
140
+ Rules of thumb:
141
+
142
+ - **Code goes in files on disk via `script run`; `script eval` is for genuinely ad-hoc one-liners.**
143
+ Never ship multi-line escaped C# strings through `script eval` — write the file, run the entry.
144
+ - Compiles see the project's **active editor defines** (`UNITY_EDITOR`, version/platform symbols);
145
+ `--defines` appends extra symbols on top.
146
+ - Entry points may be `async Task`/`Task<T>` — they are awaited asynchronously (the editor keeps
147
+ pumping, so awaits resuming on Unity's context work naturally) and `Task<T>.Result` is returned.
148
+ The wait is bounded by `--timeout` (seconds, default 60); on expiry the task keeps running detached.
149
+ - Runtime exceptions come back with `file:line` mapped to your source (a source-mapped PDB is
150
+ always emitted for executing runs; they compile unoptimized).
151
+ - `--mode hotpatch` instead applies `[MethodReload]` in-place method replacements (delegates to
152
+ `script.methodreload reload`); `entry`/`args`/`dry_run` are rejected there and `references`/`defines` don't apply.
153
+
154
+ ## 5. Quick C# eval (Editor or dev Player)
155
+
156
+ For genuinely ad-hoc one-liners only — anything longer belongs in a file run via `script run`.
157
+ `script eval` targets the Editor by default; add `--runtime <process name>` to run it in a dev Player.
158
+
159
+ ```bash
160
+ unity command script eval "return 2 + 2;"
161
+ unity command script eval "return UnityEngine.Time.timeScale;" --runtime MyGame
162
+ # Or evaluate a .cs file on disk. Keep it outside Assets/, where Unity would compile it as project source:
163
+ unity command script eval_file AgentScripts/Scratch.cs
164
+ ```
165
+
166
+ ## 6. Play Mode vs. Multiplayer Play Mode (MPPM) scenarios
167
+
168
+ These are two different things — do not conflate them.
169
+
170
+ ### Single-player: normal Play Mode (main Editor only)
171
+
172
+ ```bash
173
+ unity command editor.playmode start # enter Play Mode
174
+ unity command editor.playmode pause # toggle pause
175
+ unity command editor.playmode stop # exit Play Mode
176
+ ```
177
+
178
+ `editor.playmode start` just flips the main Editor into Play Mode running the **open scene**. It
179
+ controls **one** instance and does **not** launch MPPM virtual players, even if the project has
180
+ them configured. Use it for single-instance testing and to make runtime code reload live.
181
+
182
+ ### Multiplayer: Play Mode Scenarios (main Editor + virtual players)
183
+
184
+ A **Play Mode Scenario** is an asset (an `OrchestratedScenario`, e.g.
185
+ `Assets/Settings/PlayMode/2Players.asset`) describing the main Editor plus one or more virtual
186
+ players. Each virtual player (clone) is a **separate Unity project** at
187
+ `<project>/Library/VP/<vpId>` with its **own Library, port, and Pipeline server** — not a second
188
+ window of the main Editor. `editor.playmode start` does **not** run a scenario; use the scenario commands
189
+ (they drive MPPM's `PlayModeScenarioManager`, which enters Play Mode itself):
190
+
191
+ ```bash
192
+ unity command editor.playmode list_scenarios # discover scenario assets
193
+ unity command editor.playmode list_players # players the active scenario declares
194
+ unity command editor.playmode set_active_scenario --path Assets/Settings/PlayMode/2Players.asset
195
+ unity command editor.playmode start_scenario # run the active scenario
196
+ unity command editor.playmode get_scenario_status # live scenario + play-mode state
197
+ unity command editor.playmode stop_scenario # stop it
198
+ ```
199
+
200
+ Authoring the asset (Edit Mode):
201
+
202
+ ```bash
203
+ unity command editor.playmode create_scenario --name MyScenario # auto-adds the Main Editor player
204
+ unity command editor.playmode add_player --path Assets/Settings/PlayMode/MyScenario.asset --type clone --name "Player 2"
205
+ unity command editor.playmode remove_player --id <playerId> --path Assets/Settings/PlayMode/MyScenario.asset --confirm true
206
+ ```
207
+
208
+ For `remove_player --id`, check the Editor version you read in [Before you start](#before-you-start):
209
+ on 6000.5 and later pass the player's GUID; on 6000.3 and 6000.4 pass the player's name.
210
+
211
+ The `editor.playmode` scenario commands need **Unity 6000.3+** *and* the `com.unity.multiplayer.playmode`
212
+ package, so check the Editor version and `Packages/manifest.json` first. Without both they are compiled out and calling one fails as an unknown command, so run
213
+ `unity command editor.playmode` and check that `start_scenario` and the other scenario commands are listed
214
+ before using them. The group itself always exists: `editor.playmode list_instances` needs neither
215
+ and always works. You may only `editor.playmode set_active_scenario` while state is **Idle**.
216
+
217
+ Player editors launch **asynchronously**, so after `editor.playmode start_scenario` poll
218
+ `editor.playmode get_scenario_status`. Its `players` array has one entry per player the scenario declares — not
219
+ MPPM's fixed four slots — and each entry carries both `state` (`NotLaunched` / `Launching` /
220
+ `Launched` / `UnexpectedlyStopped`) and, once that player's Editor is up, `reachable: true` with the
221
+ `port` and `projectPath` you need to drive it. Wait for `reachable`, then address it with
222
+ `--project-path`. Watch `state` to tell a slow launch (`Launching`) from a dead one
223
+ (`UnexpectedlyStopped`) — a missing descriptor alone cannot distinguish those.
224
+
225
+ ### Discovering and driving the clones
226
+
227
+ The CLI folds a project's own clones into its main Editor, so a running scenario adds no
228
+ ambiguity by itself. But with another Unity project open, `unity command` with no `--project-path`
229
+ picks the Editor whose project contains the current directory (and fails as ambiguous outside
230
+ both). When more than one project is open, pass `--project-path <mainProject>` to the main Editor
231
+ commands above. Each clone runs its own server, so address one by its project directory:
232
+
233
+ ```bash
234
+ # List every running instance (main + clones): role, port, pid, vpId, projectPath
235
+ unity command editor.playmode list_instances
236
+
237
+ # Talk to a clone directly, using the projectPath that listed it
238
+ unity command --project-path <mainProject>/Library/VP/<vpId> editor status
239
+ # Each clone is its own Editor: keep it ticking before running tests on it
240
+ unity command --project-path <mainProject>/Library/VP/<vpId> editor set_auto_tick --enable true
241
+ unity command --project-path <mainProject>/Library/VP/<vpId> test run --mode playmode
242
+ ```
243
+
244
+ `unity pipeline list` also reports clones, named by player ("Player 2") against the project they're
245
+ playing. There is no forwarding command — talk to the clone. That way you get its full command
246
+ surface and its own status, and nothing queues behind the main Editor.
247
+
248
+ ## 7. Screen capture (Editor)
249
+
250
+ Capture a view to a PNG to check a visual result.
251
+
252
+ ```bash
253
+ unity command capture screenshot --view game # or --view scene; returns the PNG path
254
+ unity command capture game_view --source screen --save_path Screenshots/hud.png # what the Game window shows, incl. overlay UI
255
+ unity command capture scene_view --max_resolution 512 # inline base64 image, longest edge capped
256
+ ```
257
+
258
+ `capture game_view` and `capture scene_view` return the image inline as base64 unless `--save_path` is
259
+ set; add `--include_inline_image true` to get both. `capture game_view --source camera --camera <name>`
260
+ renders one camera instead and misses Screen Space - Overlay UI. Without `--output`, `capture screenshot`
261
+ writes under `<project>/Temp/pipeline-screenshots/`. If the Editor version is 6000.7 or later,
262
+ `capture editor_element` and `capture runtime_element` capture a single UI Toolkit element by
263
+ `--selector`. On earlier versions these commands don't exist, so capture the whole view instead.
264
+
265
+ ## Gotchas
266
+
267
+ - **`editor set_auto_tick` first.** Without it, recompile and tests can hang while the editor is
268
+ unfocused. The package's watchdog relies on the tick loop staying alive.
269
+ - **A stuck command may mean a modal dialog is open**, not a hang — a dialog blocks the main
270
+ thread until dismissed. If a command runs long, check `unity command editor status` (answers
271
+ instantly even when blocked); `status: "blocked_by_dialog"` means stop retrying and tell the
272
+ human what's blocking (its `dialog.title`/`message`/`buttons`) — it can't be clicked over CLI.
273
+ - **Method reload needs the game running.** `script.methodreload reload` applies to a live
274
+ game — enter Editor Play Mode (`unity command editor.playmode start`) first, or run a dev Player.
275
+ - **`editor.playmode start` ≠ a scenario.** It runs only the main Editor's open scene; it never
276
+ launches MPPM virtual players. For a multiplayer session set/start a Play Mode Scenario with
277
+ `editor.playmode set_active_scenario` + `editor.playmode start_scenario` (see §6) — never drive a scenario with
278
+ `editor.playmode start` (it fights MPPM's play-mode guard) — then drive the clones with `editor.playmode list_instances`
279
+ and `--project-path`.
280
+ - **Player-only commands need a dev Player.** `console write`, `runtime set_time_scale`, `runtime status`, etc. hit
281
+ the Runtime server, which does not run in the Editor.
282
+ - **Async commands poll.** `script recompile`→`script recompile_status`, `test run --async_tests`→
283
+ `test status`. Never assume completion from the trigger call's response.
284
+ - **Target a specific instance** when more than one is running: `--project-path <path>` selects an
285
+ Editor, `--runtime <process name>` or `--runtime-path <port file>` selects a dev Player.
286
+
287
+ ## Final checks
288
+
289
+ 1. Check that the project has zero console errors:
290
+ ```bash
291
+ unity command console status # groundTruth.consoleErrors must be 0, compilationFailed false
292
+ unity command console get --level error # read any errors it reports
293
+ ```
294
+ 2. If you changed runtime behaviour, enter Play Mode (`unity command editor.playmode start`), exercise
295
+ the change, and read back the `Debug.Log` lines you added with `unity command console get`. Confirm
296
+ they show the fix works, then stop Play Mode and remove those lines unless the user wants them kept.
297
+ 3. If the fix doesn't work, go back and reread the relevant [Topic map](#topic-map) pages before you
298
+ try again, rather than retrying from memory.
299
+
300
+ ## Final report
301
+
302
+ Give the user a short summary:
303
+
304
+ - What you did: the commands you ran, the files you changed, and the test or check results.
305
+ - Side effects you left behind: Play Mode still running, `editor set_auto_tick` still enabled, a
306
+ scenario left active, files written under `AgentScripts/` or `Screenshots/`, method reload overrides
307
+ still applied.
308
+ - Follow-ups the user needs to do: anything blocked by a modal dialog, failures you could not fix,
309
+ and the restore point to roll back to.
310
+
311
+ ## Topic map
312
+
313
+ The Pipeline package ships its documentation in its `Documentation~` folder. For a registry install
314
+ that is `<project>/Library/PackageCache/com.unity.pipeline@*/Documentation~/`; the same pages are
315
+ published at `https://docs.unity3d.com/Packages/com.unity.pipeline@<VERSION>/`. Only read what you need.
316
+
317
+ Prefer the local `Documentation~` copy, because it matches the installed package exactly. If you
318
+ use the live pages, prefer fetching the page directly (for example `WebFetch`) over searching (for
319
+ example `WebSearch`) — faster and lands on the exact reference. Only fetch what you need, and only
320
+ search if you don't have the exact URL. Replace `<VERSION>` with the following before fetching:
321
+
322
+ - **Package on docs.unity3d.com**: The `com.unity.pipeline` major and minor version from
323
+ `Packages/packages-lock.json`, eg `@0.9`.
324
+
325
+ | Topic | Page |
326
+ |-------|------|
327
+ | Connecting to an Editor or Player, ports, `--project-path` | `connectivity.md` |
328
+ | Dev Player and Runtime server setup | `runtime-setup.md` |
329
+ | Method reload (`[MethodReload]`, `script.methodreload`) | `method-reload.md` |
330
+ | `script run`, `script eval`, `script recompile` | `commands/scripts.md` |
331
+ | Compiling and running tests | `commands/build-and-compilation.md` |
332
+ | `editor status`, `editor set_auto_tick`, modal dialogs | `commands/editor-lifecycle-and-observability.md` |
333
+ | Play Mode scenarios, virtual players, clones | `commands/multiplayer-play-mode.md` |
334
+ | Screen capture | `commands/capture.md` |
335
+ | `console get` / `console status`, Runtime commands | `commands/runtime.md` |
@@ -0,0 +1,16 @@
1
+ # Security notes: urp-postprocessing
2
+
3
+ This skill has the agent run C# inside the user's open Unity Editor through `unity command script eval`. Automated skill scanners flag that as a powerful capability. It is intentional, and it is limited by the safeguards below.
4
+
5
+ ## Accepted risks
6
+
7
+ | Risk | Capability | Why it is accepted |
8
+ |---|---|---|
9
+ | `SEC_POWER_CAP` | Runs C# in the user's open Editor through `unity command script eval` | It only reaches the Editor the user already has open, on their own machine, as that user, so it grants nothing they couldn't do themselves. `script eval` sits behind the Pipeline capability gate. No code fetched from a remote source is run. Where a named `unity command` covers a step, the skill uses that instead of `script eval`. |
10
+
11
+ ## Mitigations
12
+
13
+ - **Only the user's own Editor.** `unity command script eval` talks to the Editor open on this machine. It can't reach another machine or another user's Editor.
14
+ - **Capability gate.** `script eval` is only available when the project's Pipeline package provides it.
15
+ - **No remote code.** The agent runs C# it writes from this skill's own recipes. Nothing downloaded from outside is executed.
16
+ - **Named commands first.** When a dedicated `unity command` covers a step, the skill uses it instead of `script eval`.