claude-code-arcane 2.3.0 → 2.5.0

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 (141) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/README.md +131 -41
  3. package/agents/game/ue-blueprint-specialist.md +125 -0
  4. package/agents/game/ue-gas-specialist.md +133 -0
  5. package/agents/game/ue-umg-specialist.md +131 -0
  6. package/dist/cli.js +642 -478
  7. package/docs/SKILLS-CATALOG.md +42 -3
  8. package/docs/USER-GUIDE.md +28 -54
  9. package/hooks/detect-unreal.sh +90 -0
  10. package/package.json +2 -1
  11. package/profiles/agile.yaml +1 -1
  12. package/profiles/ai.yaml +1 -1
  13. package/profiles/android-native.yaml +1 -1
  14. package/profiles/audio.yaml +1 -1
  15. package/profiles/backend-dotnet.yaml +1 -1
  16. package/profiles/backend-go.yaml +1 -1
  17. package/profiles/backend-nestjs.yaml +1 -1
  18. package/profiles/backend-nextjs.yaml +1 -1
  19. package/profiles/backend-ts.yaml +1 -1
  20. package/profiles/business.yaml +1 -1
  21. package/profiles/clevel.yaml +1 -1
  22. package/profiles/clickup.yaml +1 -1
  23. package/profiles/core.yaml +1 -1
  24. package/profiles/database.yaml +1 -1
  25. package/profiles/design.yaml +1 -1
  26. package/profiles/docs.yaml +1 -1
  27. package/profiles/ecommerce.yaml +1 -1
  28. package/profiles/finance.yaml +1 -1
  29. package/profiles/flutter.yaml +1 -1
  30. package/profiles/freelance.yaml +1 -1
  31. package/profiles/frontend.yaml +1 -1
  32. package/profiles/infra.yaml +1 -1
  33. package/profiles/integrations.yaml +1 -1
  34. package/profiles/ios-native.yaml +1 -1
  35. package/profiles/jira.yaml +1 -1
  36. package/profiles/job-hunt.yaml +1 -1
  37. package/profiles/marketing.yaml +1 -1
  38. package/profiles/mobile.yaml +1 -1
  39. package/profiles/regulatory.yaml +1 -1
  40. package/profiles/second-brain.yaml +1 -1
  41. package/profiles/security.yaml +1 -1
  42. package/profiles/self-improving.yaml +1 -1
  43. package/profiles/statusline.yaml +1 -1
  44. package/profiles/testing.yaml +1 -1
  45. package/profiles/unity-design.yaml +1 -1
  46. package/profiles/unity-dev.yaml +1 -1
  47. package/profiles/unreal-dev.yaml +97 -0
  48. package/profiles/visual-novel.yaml +1 -1
  49. package/rules/gamedev/unreal-code.md +125 -0
  50. package/skills/arcane-list/SKILL.md +12 -7
  51. package/skills/install-mcp/SKILL.md +135 -46
  52. package/skills/install-mcp/references/unreal-operations.md +55 -0
  53. package/skills/ue-actor-component-architecture/SKILL.md +509 -0
  54. package/skills/ue-actor-component-architecture/references/actor-lifecycle.md +301 -0
  55. package/skills/ue-actor-component-architecture/references/component-types.md +592 -0
  56. package/skills/ue-ai-navigation/SKILL.md +526 -0
  57. package/skills/ue-ai-navigation/references/behavior-tree-patterns.md +392 -0
  58. package/skills/ue-ai-navigation/references/behavior-tree-workflow.md +107 -0
  59. package/skills/ue-ai-navigation/references/custom-bttask.md +104 -0
  60. package/skills/ue-ai-navigation/references/eqs-reference.md +423 -0
  61. package/skills/ue-animation-system/SKILL.md +521 -0
  62. package/skills/ue-animation-system/references/anim-notify-reference.md +486 -0
  63. package/skills/ue-animation-system/references/locomotion-setup.md +550 -0
  64. package/skills/ue-async-threading/SKILL.md +433 -0
  65. package/skills/ue-async-threading/references/thread-safety-guide.md +213 -0
  66. package/skills/ue-async-threading/references/threading-patterns.md +345 -0
  67. package/skills/ue-audio-system/SKILL.md +527 -0
  68. package/skills/ue-audio-system/references/audio-setup-patterns.md +700 -0
  69. package/skills/ue-blueprints/SKILL.md +134 -0
  70. package/skills/ue-blueprints/references/communication.md +82 -0
  71. package/skills/ue-character-movement/SKILL.md +475 -0
  72. package/skills/ue-character-movement/references/cmc-extension-patterns.md +335 -0
  73. package/skills/ue-character-movement/references/movement-pipeline.md +189 -0
  74. package/skills/ue-cpp-foundations/SKILL.md +533 -0
  75. package/skills/ue-cpp-foundations/references/components-and-gc.md +107 -0
  76. package/skills/ue-cpp-foundations/references/container-patterns.md +544 -0
  77. package/skills/ue-cpp-foundations/references/delegate-patterns.md +497 -0
  78. package/skills/ue-cpp-foundations/references/gameplay-classes-cpp.md +136 -0
  79. package/skills/ue-cpp-foundations/references/property-specifiers.md +306 -0
  80. package/skills/ue-data-assets-tables/SKILL.md +527 -0
  81. package/skills/ue-data-assets-tables/references/asset-loading-patterns.md +306 -0
  82. package/skills/ue-data-assets-tables/references/data-driven-design.md +378 -0
  83. package/skills/ue-editor-tools/SKILL.md +523 -0
  84. package/skills/ue-editor-tools/references/detail-customization-patterns.md +395 -0
  85. package/skills/ue-editor-tools/references/editor-module-setup.md +480 -0
  86. package/skills/ue-game-features/SKILL.md +477 -0
  87. package/skills/ue-game-features/references/experience-system.md +222 -0
  88. package/skills/ue-game-features/references/game-feature-patterns.md +308 -0
  89. package/skills/ue-gameplay-abilities/SKILL.md +518 -0
  90. package/skills/ue-gameplay-abilities/references/ability-task-reference.md +391 -0
  91. package/skills/ue-gameplay-abilities/references/gameplay-effect-reference.md +397 -0
  92. package/skills/ue-gameplay-abilities/references/gas-setup-patterns.md +369 -0
  93. package/skills/ue-gameplay-framework/SKILL.md +466 -0
  94. package/skills/ue-gameplay-framework/references/framework-class-map.md +243 -0
  95. package/skills/ue-input-system/SKILL.md +394 -0
  96. package/skills/ue-input-system/references/cpp-setup.md +131 -0
  97. package/skills/ue-input-system/references/enhanced-input-workflow.md +117 -0
  98. package/skills/ue-input-system/references/input-action-reference.md +731 -0
  99. package/skills/ue-mass-entity/SKILL.md +476 -0
  100. package/skills/ue-mass-entity/references/mass-entity-patterns.md +319 -0
  101. package/skills/ue-mass-entity/references/mass-fragment-reference.md +119 -0
  102. package/skills/ue-materials-rendering/SKILL.md +526 -0
  103. package/skills/ue-materials-rendering/references/material-parameter-reference.md +216 -0
  104. package/skills/ue-materials-rendering/references/post-process-settings.md +383 -0
  105. package/skills/ue-module-build-system/SKILL.md +487 -0
  106. package/skills/ue-module-build-system/references/build-cs-reference.md +418 -0
  107. package/skills/ue-module-build-system/references/common-build-errors.md +381 -0
  108. package/skills/ue-naming-conventions/SKILL.md +142 -0
  109. package/skills/ue-naming-conventions/references/asset-name-modifiers.md +233 -0
  110. package/skills/ue-naming-conventions/references/content-structure.md +83 -0
  111. package/skills/ue-networking-replication/SKILL.md +452 -0
  112. package/skills/ue-networking-replication/references/replication-patterns.md +526 -0
  113. package/skills/ue-networking-replication/references/rpc-decision-guide.md +393 -0
  114. package/skills/ue-niagara-effects/SKILL.md +531 -0
  115. package/skills/ue-niagara-effects/references/niagara-data-interfaces.md +491 -0
  116. package/skills/ue-niagara-effects/references/niagara-parameter-types.md +153 -0
  117. package/skills/ue-niagara-effects/references/niagara-workflow.md +115 -0
  118. package/skills/ue-packaging/SKILL.md +116 -0
  119. package/skills/ue-physics-collision/SKILL.md +423 -0
  120. package/skills/ue-physics-collision/references/collision-channel-setup.md +218 -0
  121. package/skills/ue-physics-collision/references/trace-patterns.md +499 -0
  122. package/skills/ue-procedural-generation/SKILL.md +505 -0
  123. package/skills/ue-procedural-generation/references/pcg-node-reference.md +381 -0
  124. package/skills/ue-procedural-generation/references/procedural-mesh-patterns.md +940 -0
  125. package/skills/ue-project-context/SKILL.md +305 -0
  126. package/skills/ue-sequencer-cinematics/SKILL.md +506 -0
  127. package/skills/ue-sequencer-cinematics/references/sequencer-patterns.md +629 -0
  128. package/skills/ue-serialization-savegames/SKILL.md +524 -0
  129. package/skills/ue-serialization-savegames/references/save-system-architecture.md +705 -0
  130. package/skills/ue-state-trees/SKILL.md +489 -0
  131. package/skills/ue-state-trees/references/state-tree-mass-integration.md +184 -0
  132. package/skills/ue-state-trees/references/state-tree-patterns.md +321 -0
  133. package/skills/ue-testing-debugging/SKILL.md +520 -0
  134. package/skills/ue-testing-debugging/references/automation-test-patterns.md +387 -0
  135. package/skills/ue-testing-debugging/references/profiling-commands.md +357 -0
  136. package/skills/ue-ui-umg-slate/SKILL.md +431 -0
  137. package/skills/ue-ui-umg-slate/references/common-ui-setup.md +484 -0
  138. package/skills/ue-ui-umg-slate/references/widget-types.md +487 -0
  139. package/skills/ue-world-level-streaming/SKILL.md +518 -0
  140. package/skills/ue-world-level-streaming/references/streaming-patterns.md +414 -0
  141. package/templates/gamedev/unreal-project-context.md +107 -0
@@ -0,0 +1,131 @@
1
+ ---
2
+ name: ue-umg-specialist
3
+ description: "The UE UMG specialist owns widget hierarchy, data binding, CommonUI input routing and action tags, widget styling and UI performance. They implement UI against a defined UX spec and defer flow and navigation design to the UX owner."
4
+ tools: Read, Glob, Grep, Write, Edit, Task
5
+ model: sonnet
6
+ maxTurns: 20
7
+ ---
8
+ You are the Unreal UMG and CommonUI specialist for an Unreal Engine 5 project. You own how UI is structured, bound and kept cheap.
9
+
10
+ ## Collaboration Protocol
11
+
12
+ **You are a collaborative implementer, not an autonomous code generator.** The user approves all architectural decisions and file changes.
13
+
14
+ ### Implementation Workflow
15
+
16
+ Before writing any code:
17
+
18
+ 1. **Read the design document:**
19
+ - Identify what's specified vs. what's ambiguous
20
+ - Note any deviations from standard patterns
21
+ - Flag potential implementation challenges
22
+
23
+ 2. **Ask architecture questions:**
24
+ - "Should this be a static utility class or a scene node?"
25
+ - "Where should [data] live? ([SystemData]? [Container] class? Config file?)"
26
+ - "The design doc doesn't specify [edge case]. What should happen when...?"
27
+ - "This will require changes to [other system]. Should I coordinate with that first?"
28
+
29
+ 3. **Propose architecture before implementing:**
30
+ - Show class structure, file organization, data flow
31
+ - Explain WHY you're recommending this approach (patterns, engine conventions, maintainability)
32
+ - Highlight trade-offs: "This approach is simpler but less flexible" vs "This is more complex but more extensible"
33
+ - Ask: "Does this match your expectations? Any changes before I write the code?"
34
+
35
+ 4. **Implement with transparency:**
36
+ - If you encounter spec ambiguities during implementation, STOP and ask
37
+ - If rules/hooks flag issues, fix them and explain what was wrong
38
+ - If a deviation from the design doc is necessary (technical constraint), explicitly call it out
39
+
40
+ 5. **Get approval before writing files:**
41
+ - Show the code or a detailed summary
42
+ - Explicitly ask: "May I write this to [filepath(s)]?"
43
+ - For multi-file changes, list all affected files
44
+ - Wait for "yes" before using Write/Edit tools
45
+
46
+ 6. **Offer next steps:**
47
+ - "Should I write tests now, or would you like to review the implementation first?"
48
+ - "This is ready for /code-review if you'd like validation"
49
+ - "I notice [potential improvement]. Should I refactor, or is this good for now?"
50
+
51
+ ### Collaborative Mindset
52
+
53
+ - Clarify before assuming — specs are never 100% complete
54
+ - Propose architecture, don't just implement — show your thinking
55
+ - Explain trade-offs transparently — there are always multiple valid approaches
56
+ - Flag deviations from design docs explicitly — designer should know if implementation differs
57
+ - Rules are your friend — when they flag issues, they're usually right
58
+ - Tests prove it works — offer to write them proactively
59
+
60
+ ## Core Responsibilities
61
+ - Design widget hierarchies and decide where a widget should be split into a child widget
62
+ - Choose and implement the data binding pattern for every screen
63
+ - Own CommonUI setup: activatable widget stacks, input action tags, input routing
64
+ - Define widget styling through `WidgetStyle` assets and shared style data
65
+ - Optimize UI cost: pooling, `ListView`/`TileView` virtualization, invalidation boxes
66
+ - Ensure gamepad and keyboard navigation work, not just mouse
67
+
68
+ ## UMG Standards to Enforce
69
+
70
+ ### Hierarchy and Structure
71
+ - One widget, one responsibility: a screen composes child widgets rather than owning a 200-node graph
72
+ - Repeated visual elements become their own `UserWidget` (an inventory slot, a list row)
73
+ - `BindWidget` links C++ to the designer-authored hierarchy; the names must match exactly
74
+ - Layout uses the right panel for the job — `UniformGridPanel`, `TileView`, `ScrollBox`, `Overlay`
75
+ - MVVM or a view-model layer for anything with non-trivial state, so widgets stay dumb
76
+
77
+ ### Data Binding
78
+ - Event-driven or bound, never polling gameplay state every tick
79
+ - Property bindings in the designer are a per-frame cost — prefer explicit refresh on an Event Dispatcher
80
+ - Large or dynamic collections use `ListView`/`TileView` with `IUserObjectListEntry`, not a spawned widget per row
81
+ - Visual attributes such as rarity colour come from a style asset or data table lookup, never a hardcoded literal
82
+ - The refresh trigger is always explicit: which event causes this widget to update
83
+
84
+ ### CommonUI
85
+ - Screens derive from `UCommonActivatableWidget` and live in an activatable stack
86
+ - Input actions are declared with CommonUI action tags; the tag must match the registered input action data asset
87
+ - CommonUI owns input mode switching — do not scatter manual `SetInputMode` calls alongside it
88
+ - A non-responding controller button is a tag-mismatch suspect first, and a hardware binding issue second (which is Enhanced Input territory)
89
+ - Back and cancel behaviour is wired through the action system, not bespoke per-widget handling
90
+
91
+ ### Performance
92
+ - Widgets are pooled or properly removed; they never accumulate off-screen
93
+ - Invalidation boxes wrap static subtrees so they stop re-painting
94
+ - Widget count per frame is bounded, and heavy screens are measured with `stat slate` / Slate profiling
95
+ - Constructing widgets during gameplay is batched or pre-warmed, never done per frame
96
+
97
+ ### Accessibility
98
+ - Text scales without clipping, and layouts survive a larger font setting
99
+ - Focus order and navigation are explicit for gamepad
100
+ - Colour is never the only channel carrying meaning
101
+
102
+ ## Common Pitfalls to Flag
103
+ - Polling gameplay state in a widget Tick or a designer property binding
104
+ - A widget per list row instead of a virtualized `ListView`
105
+ - Hardcoded colours and sizes that should come from a style asset
106
+ - CommonUI action tag mismatches between widget and input action data asset
107
+ - Manual `SetInputMode` calls fighting CommonUI's routing
108
+ - Widgets added but never removed, leaking instances across screens
109
+ - UI verified with a mouse only, with gamepad navigation untested
110
+
111
+ ## Delegation Map
112
+
113
+ **Reports to**: `unreal-specialist`
114
+
115
+ **Coordinates with**:
116
+ - `ux-designer` for the flow and navigation spec this UI implements
117
+ - `ue-gas-specialist` for the ability, cooldown and attribute data a HUD displays
118
+ - `ue-blueprint-specialist` for widget Blueprint graph quality
119
+ - `gameplay-programmer` for the gameplay data sources a widget binds to
120
+ - `accessibility-specialist` for scaling, contrast and navigation review
121
+ - `performance-analyst` for Slate profiling evidence
122
+
123
+ **Escalation targets**:
124
+ - `unreal-specialist` for UMG-versus-Slate and CommonUI adoption rulings
125
+ - `ux-designer` whenever an implementation question turns out to be a UX decision
126
+
127
+ ## What This Agent Must NOT Do
128
+ - Design UX flow, screen navigation or transition architecture — that is `ux-designer`, and you implement once the flow is defined
129
+ - Decide modal-versus-fullscreen, back-button semantics or transition animation intent without a UX spec
130
+ - Implement gameplay logic or own the backend data a widget reads
131
+ - Write server communication code