[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6KG09R2WBXVEFWDGFEX76MJ":3,"skill-same:01M6KG09R2WBXVEFWDGFEX76MJ":82},{"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":43,"linkOnly":44,"markdownContent":45,"markdownBody":46,"frontMatter":47,"refName":60,"commitSha":61,"skillDirectory":62,"forksCount":63,"repositoryHtmlUrl":64,"repositoryHomepageUrl":6,"ownerHtmlUrl":65,"ownerBlogUrl":6,"ownerDescription":66,"updatedAt":67,"install":68,"resources":81},"01M6KG09R2WBXVEFWDGFEX76MJ","triage",null,"Adaptive pipeline triage skill. Classify task complexity, blast radius, and domain in ≤8 file reads, then emit schema-valid workspace\u002Ftriage.json that drives all downstream phase composition and agent selection.","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\u002Ftriage\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[5,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42],"agent selection","valid","at","re","unity","classify","windsurf","selection","complexity","only","never","team","Composition","pipeline","start","code","run","copilot","orchestration","2026-11-10 10:12:30",false,"---\nname: triage\ndescription: Adaptive pipeline triage skill. Classify task complexity, blast radius, and domain in ≤8 file reads, then emit schema-valid workspace\u002Ftriage.json that drives all downstream phase composition and agent selection.\nuse-when: |\n  Load for the triage agent at the start of every \u002Fteam pipeline run.\n  Always the first skill loaded — required before any other agent is spawned.\ndo-not-use-when: |\n  Do not load for unity-dev, architect, tester, or verifier roles.\n  Triage runs only once per pipeline at the start; never re-loaded mid-pipeline.\nplatforms: [claude-code, codex, copilot, cursor, windsurf]\ntask-categories: [orchestration, classification, pipeline]\nmetadata:\n  source: internal\n  version: 1.0.0\n  tier: 1\n\n---\n\n# Triage Skill\n\nThe triage agent runs ONCE per `\u002Fteam` invocation, before any other agent.\nIt is the only agent that always runs. Everything downstream is derived from\nits output.\n\n## Goal\n\nProduce `workspace\u002Ftriage.json` matching `.claude\u002Fschemas\u002Ftriage.schema.json`\nin under 8 file reads.\n\n## Inputs\n\n- `\u003Cintent>` from the user (bug | feature | refactor | explore)\n- `\u003Cdepth>` from the user (quick | normal | deep — default normal)\n- `\u003Ctask description>` free text\n- CRG MCP (`code-review-graph`) — preferred\n- `ai-game-developer` MCP — optional\n\n## Procedure\n\n1. **CRG first.** No file reads until graph evidence exists.\n   - `get_architecture_overview` if domain unknown\n   - `trace_execution_flow` from task keywords\n   - `get_impact_radius` → seed `systems_affected` and `files_touched_estimate`\n\n2. **Fingerprint up to 5 touched files** for API evidence\n   (see `.claude\u002Fdocs\u002Frules\u002Fapi-fingerprinting-system.md`).\n   - Compute DOTS_score \u002F Unity_score \u002F Hybrid_score\n     (see `.claude\u002Fdocs\u002Frules\u002Fdomain-scoring-engine.md`).\n   - Classify domain. If Ambiguous → `confidence_score ≤ 0.5`.\n\n3. **Classify complexity** using the rubric below.\n\n4. **Pick verification strategy:**\n   - `bundle`   — tiny: deterministic verification bundle, no agent\n   - `verifier` — small\u002Fmedium: verifier agent runs the bundle\n   - `tester`   — large\u002Fcritical: full tester agent\n   - `stepgated` — refactor only\n\n5. **Partition ownership** when the pipeline has more than one writer (data-tool\n   plus unity-dev, or stepgated refactor). Use repo-root-relative globs.\n   When in doubt: assign only `unity-dev` (no parallelism).\n\n6. **Emit** `workspace\u002Ftriage.json` via `python .claude\u002Fscripts\u002Ftriage.py`.\n   That helper writes a schema-valid file; do not hand-write the JSON.\n\n## Complexity Rubric\n\n| Complexity | Files | Systems | Blast radius | Pipeline (default) |\n|------------|-------|---------|--------------|--------------------|\n| **tiny** | 1 | 1 | isolated | `[unity-dev]` |\n| **small** | 1–3 | 1 | local | `[unity-dev, verifier]` |\n| **medium** | 2–5 | 1–3 | local \u002F multi-system | `[architect, unity-dev, verifier]` |\n| **large** | 5–15 | 3–6 | multi-system | `[architect, unity-dev, tester]` |\n| **critical** | >15 OR save\u002Fmultiplayer\u002Feconomy\u002Fworld-init | any | cross-cutting | `[architect, unity-dev, data-tool, tester]` |\n\nExamples:\n- \"Rename `EnemyHP` to `EnemyHealth`\" → **tiny**\n- \"Fix off-by-one in damage calc\" → **tiny**\n- \"Health regen not firing after death respawn\" → **small** (1 bug, 1 system)\n- \"Add stamina component + regen system\" → **medium**\n- \"Spawner refactor across zones + dungeons\" → **large**\n- \"Save system migration v3 → v4\" → **critical**\n\n## Intent Overrides\n\n- `bug`     → prepend `bug-investigation` regardless of complexity\n- `refactor`→ prepend `refactor-agent` + force `architect` + `stepgated` verification\n- `explore` → pipeline is empty; triage is the only output\n- `feature` → no override\n\n## Depth Modifier\n\n- `quick`  — downgrade complexity by one tier (`small`→`tiny`, `medium`→`small`).\n  Refuse if blast_radius ≥ `multi-system`.\n- `normal` — use complexity as classified.\n- `deep`   — upgrade complexity by one tier (`small`→`medium`, etc.). Tester\n  always spawned. Codex review required at design and at completion.\n\n## Confidence Scoring\n\n`confidence_score ∈ [0.0, 1.0]`:\n\n- 1.0 — Domain unambiguous, blast radius proven via CRG, prior session in\n  `repo-knowledge.md` covers the same area.\n- 0.8 — Domain clear; blast radius best-effort but evidence-backed.\n- 0.6 — Domain clear; blast radius partly guessed.\n- 0.4 — Domain ambiguous or CRG unavailable.\n- ≤0.3 — `recommended_pipeline` should include an investigator (system-mapper\n  or bug-investigation) before implementation begins.\n\n**Parallel execution requires confidence ≥ 0.8** AND complexity ≥ medium AND\nownership partition ≥ 2. The orchestrate.py planner enforces this.\n\n## Skill Pack Selection\n\n`skill_packs[]` holds **DOTS extras only** — modules layered on top of an agent's\nlane-correct primary skills. Each agent's primary skills are resolved by\n`orchestrate.py` (`AGENT_PRIMARY_SKILLS`), NOT from `skill_packs`. The Unity-classic\nlane (`unity-dev`) gets `unity-classic` + `unity-foundation` as its primaries — it\ndoes NOT use `unity-dots-best-practices` as a stand-in Unity layer.\n\nAdd up to 4 skill packs to `skill_packs[]` based on domain:\n\n- DOTS: `ecs-job-patterns`, `burst-safety`, `memory-safety`\n- Unity: (none — the Unity lane's `unity-classic` primary skill IS the Unity classic layer; do NOT add `unity-dots-best-practices`)\n- Hybrid: `ecs-job-patterns` + `ownership-partitioning`\n\n`skill_packs` attach to **DOTS lanes only** (`unity-dots-dev`); they are never\nmerged into `unity-dev`\u002F`tester`\u002F`verifier`\u002F`data-tool`. `ownership-partitioning`\nis added whenever `parallel_allowed=true` so downstream writers respect their\nassigned globs.\n\n## Helper Command\n\n```sh\npython .claude\u002Fscripts\u002Ftriage.py \\\n  --intent \u003Cbug|feature|refactor|explore> \\\n  --task \"\u003Cone line task>\" \\\n  --depth \u003Cquick|normal|deep> \\\n  --complexity \u003Ctiny|small|medium|large|critical> \\\n  --blast-radius \u003Cisolated|local|multi-system|cross-cutting> \\\n  --systems \u003CSystemA> \u003CSystemB> \\\n  --files-est \u003CN> \\\n  --confidence \u003C0.0-1.0> \\\n  --domain \u003CDOTS|Unity|Hybrid|Ambiguous> \\\n  --pipeline \u003Cagent1> \u003Cagent2> ... \\\n  --strategy \u003Cbundle|verifier|tester|stepgated> \\\n  --skill-packs \u003Cpack1> \u003Cpack2> \\\n  --own \"unity-dev=Assets\u002FScripts\u002FCombat\u002F**\" \\\n  --own \"data-tool=Assets\u002FEditor\u002F**\" \\\n  --rationale \"\u003Cone paragraph justifying complexity, domain, and parallelism>\"\n```\n\nValidate before exiting:\n\n```sh\npython .claude\u002Fscripts\u002Forchestrate.py validate workspace\u002Ftriage.json triage\n```\n\nIf validation fails, fix the inputs and re-run. Do not hand-edit the JSON.\n\n## Anti-Patterns\n\n- Reading more than 8 files. Triage is a scout, not the investigator.\n- Recommending a 4-agent pipeline for a 1-file change.\n- Setting `parallel_allowed=true` with confidence \u003C 0.8.\n- Emitting `Ambiguous` domain with `confidence_score > 0.6`.\n- Skipping CRG and grepping the repo.\n- Hand-writing `triage.json` instead of using the helper.\n","# Triage Skill\n\nThe triage agent runs ONCE per `\u002Fteam` invocation, before any other agent.\nIt is the only agent that always runs. Everything downstream is derived from\nits output.\n\n## Goal\n\nProduce `workspace\u002Ftriage.json` matching `.claude\u002Fschemas\u002Ftriage.schema.json`\nin under 8 file reads.\n\n## Inputs\n\n- `\u003Cintent>` from the user (bug | feature | refactor | explore)\n- `\u003Cdepth>` from the user (quick | normal | deep — default normal)\n- `\u003Ctask description>` free text\n- CRG MCP (`code-review-graph`) — preferred\n- `ai-game-developer` MCP — optional\n\n## Procedure\n\n1. **CRG first.** No file reads until graph evidence exists.\n   - `get_architecture_overview` if domain unknown\n   - `trace_execution_flow` from task keywords\n   - `get_impact_radius` → seed `systems_affected` and `files_touched_estimate`\n\n2. **Fingerprint up to 5 touched files** for API evidence\n   (see `.claude\u002Fdocs\u002Frules\u002Fapi-fingerprinting-system.md`).\n   - Compute DOTS_score \u002F Unity_score \u002F Hybrid_score\n     (see `.claude\u002Fdocs\u002Frules\u002Fdomain-scoring-engine.md`).\n   - Classify domain. If Ambiguous → `confidence_score ≤ 0.5`.\n\n3. **Classify complexity** using the rubric below.\n\n4. **Pick verification strategy:**\n   - `bundle`   — tiny: deterministic verification bundle, no agent\n   - `verifier` — small\u002Fmedium: verifier agent runs the bundle\n   - `tester`   — large\u002Fcritical: full tester agent\n   - `stepgated` — refactor only\n\n5. **Partition ownership** when the pipeline has more than one writer (data-tool\n   plus unity-dev, or stepgated refactor). Use repo-root-relative globs.\n   When in doubt: assign only `unity-dev` (no parallelism).\n\n6. **Emit** `workspace\u002Ftriage.json` via `python .claude\u002Fscripts\u002Ftriage.py`.\n   That helper writes a schema-valid file; do not hand-write the JSON.\n\n## Complexity Rubric\n\n| Complexity | Files | Systems | Blast radius | Pipeline (default) |\n|------------|-------|---------|--------------|--------------------|\n| **tiny** | 1 | 1 | isolated | `[unity-dev]` |\n| **small** | 1–3 | 1 | local | `[unity-dev, verifier]` |\n| **medium** | 2–5 | 1–3 | local \u002F multi-system | `[architect, unity-dev, verifier]` |\n| **large** | 5–15 | 3–6 | multi-system | `[architect, unity-dev, tester]` |\n| **critical** | >15 OR save\u002Fmultiplayer\u002Feconomy\u002Fworld-init | any | cross-cutting | `[architect, unity-dev, data-tool, tester]` |\n\nExamples:\n- \"Rename `EnemyHP` to `EnemyHealth`\" → **tiny**\n- \"Fix off-by-one in damage calc\" → **tiny**\n- \"Health regen not firing after death respawn\" → **small** (1 bug, 1 system)\n- \"Add stamina component + regen system\" → **medium**\n- \"Spawner refactor across zones + dungeons\" → **large**\n- \"Save system migration v3 → v4\" → **critical**\n\n## Intent Overrides\n\n- `bug`     → prepend `bug-investigation` regardless of complexity\n- `refactor`→ prepend `refactor-agent` + force `architect` + `stepgated` verification\n- `explore` → pipeline is empty; triage is the only output\n- `feature` → no override\n\n## Depth Modifier\n\n- `quick`  — downgrade complexity by one tier (`small`→`tiny`, `medium`→`small`).\n  Refuse if blast_radius ≥ `multi-system`.\n- `normal` — use complexity as classified.\n- `deep`   — upgrade complexity by one tier (`small`→`medium`, etc.). Tester\n  always spawned. Codex review required at design and at completion.\n\n## Confidence Scoring\n\n`confidence_score ∈ [0.0, 1.0]`:\n\n- 1.0 — Domain unambiguous, blast radius proven via CRG, prior session in\n  `repo-knowledge.md` covers the same area.\n- 0.8 — Domain clear; blast radius best-effort but evidence-backed.\n- 0.6 — Domain clear; blast radius partly guessed.\n- 0.4 — Domain ambiguous or CRG unavailable.\n- ≤0.3 — `recommended_pipeline` should include an investigator (system-mapper\n  or bug-investigation) before implementation begins.\n\n**Parallel execution requires confidence ≥ 0.8** AND complexity ≥ medium AND\nownership partition ≥ 2. The orchestrate.py planner enforces this.\n\n## Skill Pack Selection\n\n`skill_packs[]` holds **DOTS extras only** — modules layered on top of an agent's\nlane-correct primary skills. Each agent's primary skills are resolved by\n`orchestrate.py` (`AGENT_PRIMARY_SKILLS`), NOT from `skill_packs`. The Unity-classic\nlane (`unity-dev`) gets `unity-classic` + `unity-foundation` as its primaries — it\ndoes NOT use `unity-dots-best-practices` as a stand-in Unity layer.\n\nAdd up to 4 skill packs to `skill_packs[]` based on domain:\n\n- DOTS: `ecs-job-patterns`, `burst-safety`, `memory-safety`\n- Unity: (none — the Unity lane's `unity-classic` primary skill IS the Unity classic layer; do NOT add `unity-dots-best-practices`)\n- Hybrid: `ecs-job-patterns` + `ownership-partitioning`\n\n`skill_packs` attach to **DOTS lanes only** (`unity-dots-dev`); they are never\nmerged into `unity-dev`\u002F`tester`\u002F`verifier`\u002F`data-tool`. `ownership-partitioning`\nis added whenever `parallel_allowed=true` so downstream writers respect their\nassigned globs.\n\n## Helper Command\n\n```sh\npython .claude\u002Fscripts\u002Ftriage.py \\\n  --intent \u003Cbug|feature|refactor|explore> \\\n  --task \"\u003Cone line task>\" \\\n  --depth \u003Cquick|normal|deep> \\\n  --complexity \u003Ctiny|small|medium|large|critical> \\\n  --blast-radius \u003Cisolated|local|multi-system|cross-cutting> \\\n  --systems \u003CSystemA> \u003CSystemB> \\\n  --files-est \u003CN> \\\n  --confidence \u003C0.0-1.0> \\\n  --domain \u003CDOTS|Unity|Hybrid|Ambiguous> \\\n  --pipeline \u003Cagent1> \u003Cagent2> ... \\\n  --strategy \u003Cbundle|verifier|tester|stepgated> \\\n  --skill-packs \u003Cpack1> \u003Cpack2> \\\n  --own \"unity-dev=Assets\u002FScripts\u002FCombat\u002F**\" \\\n  --own \"data-tool=Assets\u002FEditor\u002F**\" \\\n  --rationale \"\u003Cone paragraph justifying complexity, domain, and parallelism>\"\n```\n\nValidate before exiting:\n\n```sh\npython .claude\u002Fscripts\u002Forchestrate.py validate workspace\u002Ftriage.json triage\n```\n\nIf validation fails, fix the inputs and re-run. Do not hand-edit the JSON.\n\n## Anti-Patterns\n\n- Reading more than 8 files. Triage is a scout, not the investigator.\n- Recommending a 4-agent pipeline for a 1-file change.\n- Setting `parallel_allowed=true` with confidence \u003C 0.8.\n- Emitting `Ambiguous` domain with `confidence_score > 0.6`.\n- Skipping CRG and grepping the repo.\n- Hand-writing `triage.json` instead of using the helper.\n",{"name":5,"metadata":48,"use-when":52,"platforms":53,"description":7,"do-not-use-when":57,"task-categories":58},{"tier":49,"source":50,"version":51},1,"internal","1.0.0","Load for the triage agent at the start of every \u002Fteam pipeline run.\nAlways the first skill loaded — required before any other agent is spawned.\n",[54,55,41,56,30],"claude-code","codex","cursor","Do not load for unity-dev, architect, tester, or verifier roles.\nTriage runs only once per pipeline at the start; never re-loaded mid-pipeline.\n",[42,59,37],"classification","main","fe4746b9f07e6c7c2b6d3932002183af9b9f6fa2",".claude\u002Fskills\u002Ftriage",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":69,"prompt":79,"zipAvailable":80},[70,73,76],{"tool":71,"command":72},"npx","npx skills add dyCuong03\u002Funity-agent-team --skill triage",{"tool":74,"command":75},"bunx","bunx skills add dyCuong03\u002Funity-agent-team --skill triage",{"tool":77,"command":78},"pnpm","pnpm dlx skills add dyCuong03\u002Funity-agent-team --skill triage","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FdyCuong03\u002Funity-agent-team\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Ftriage\u002FSKILL.md",true,[],[83,107,130,155,174,195],{"skillNo":84,"name":85,"nameZh":6,"description":86,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":87,"categories":88,"keywords":89,"publishedAt":43},"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",[],[90,91,92,93,94,95,96,97,98,34,99,100,101,102,103,104,105,106],"update","dots update groups","boundary","simulation","how","system","choose","work","use","peer","deterministic","how to","coupling","ecs","bugs","frame","value",{"skillNo":108,"name":109,"nameZh":6,"description":110,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":111,"categories":112,"keywords":113,"publishedAt":43},"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",[],[114,115,116,117,92,95,118,119,98,120,121,122,123,124,125,126,26,127,128,129],"patterns","transform","dots transform patterns","components","mount","model","cost","runtime","systems","input","with","matrix","socket","child","custom","hierarchy",{"skillNo":131,"name":132,"nameZh":6,"description":133,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":134,"categories":135,"keywords":141,"publishedAt":43},"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",[136],{"categoryNo":137,"categoryName":138,"taxonomyType":139,"taxonomyTypeDesc":140},"01JBSEEDCAT000000000000037","律师与法务","PROFESSION","适用职业",[114,142,143,144,145,146,147,95,119,98,148,149,150,121,151,152,124,105,153,154],"singleton","dots singleton patterns","component","config","state","game","writer","time","shared","contract","as","ecb","gating",{"skillNo":156,"name":157,"nameZh":6,"description":158,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":159,"categories":160,"keywords":161,"publishedAt":43},"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",[],[162,163,164,165,117,146,92,166,167,97,168,169,98,121,170,28,123,171,172,173],"bridge","hybrid","dots hybrid bridge","mesh","assets","Rules","read","view","trigger","material","for","managed",{"skillNo":175,"name":176,"nameZh":6,"description":177,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":178,"categories":179,"keywords":180,"publishedAt":43},"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",[],[181,182,103,183,184,117,185,186,187,119,97,188,189,114,190,191,123,192,193,194],"event driven","driven","event","dots event driven ecs","change","ui","network","command","anti-patterns","pattern","structural","events","static","request",{"skillNo":196,"name":197,"nameZh":6,"description":198,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":199,"categories":200,"keywords":208,"publishedAt":43},"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",[201,204,207],{"categoryNo":202,"categoryName":203,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000007","代码审查",{"categoryNo":205,"categoryName":206,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000008","测试与质量",{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[209,25,210,211,212,213,214,39,215,216,217,218,219,220,28,221,172],"valid skill","code review","testing","review","test","routing","validation","projects","fixture skill","task","fixture","basic","complete"]