claude-code-arcane 2.3.0 → 2.4.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.
- package/CHANGELOG.md +15 -0
- package/README.md +54 -6
- package/agents/game/ue-blueprint-specialist.md +125 -0
- package/agents/game/ue-gas-specialist.md +133 -0
- package/agents/game/ue-umg-specialist.md +131 -0
- package/dist/cli.js +5 -0
- package/docs/SKILLS-CATALOG.md +42 -3
- package/docs/USER-GUIDE.md +2 -2
- package/hooks/detect-unreal.sh +90 -0
- package/package.json +1 -1
- package/profiles/unreal-dev.yaml +97 -0
- package/rules/gamedev/unreal-code.md +125 -0
- package/skills/install-mcp/SKILL.md +135 -46
- package/skills/install-mcp/references/unreal-operations.md +55 -0
- package/skills/ue-actor-component-architecture/SKILL.md +509 -0
- package/skills/ue-actor-component-architecture/references/actor-lifecycle.md +301 -0
- package/skills/ue-actor-component-architecture/references/component-types.md +592 -0
- package/skills/ue-ai-navigation/SKILL.md +526 -0
- package/skills/ue-ai-navigation/references/behavior-tree-patterns.md +392 -0
- package/skills/ue-ai-navigation/references/behavior-tree-workflow.md +107 -0
- package/skills/ue-ai-navigation/references/custom-bttask.md +104 -0
- package/skills/ue-ai-navigation/references/eqs-reference.md +423 -0
- package/skills/ue-animation-system/SKILL.md +521 -0
- package/skills/ue-animation-system/references/anim-notify-reference.md +486 -0
- package/skills/ue-animation-system/references/locomotion-setup.md +550 -0
- package/skills/ue-async-threading/SKILL.md +433 -0
- package/skills/ue-async-threading/references/thread-safety-guide.md +213 -0
- package/skills/ue-async-threading/references/threading-patterns.md +345 -0
- package/skills/ue-audio-system/SKILL.md +527 -0
- package/skills/ue-audio-system/references/audio-setup-patterns.md +700 -0
- package/skills/ue-blueprints/SKILL.md +134 -0
- package/skills/ue-blueprints/references/communication.md +82 -0
- package/skills/ue-character-movement/SKILL.md +475 -0
- package/skills/ue-character-movement/references/cmc-extension-patterns.md +335 -0
- package/skills/ue-character-movement/references/movement-pipeline.md +189 -0
- package/skills/ue-cpp-foundations/SKILL.md +533 -0
- package/skills/ue-cpp-foundations/references/components-and-gc.md +107 -0
- package/skills/ue-cpp-foundations/references/container-patterns.md +544 -0
- package/skills/ue-cpp-foundations/references/delegate-patterns.md +497 -0
- package/skills/ue-cpp-foundations/references/gameplay-classes-cpp.md +136 -0
- package/skills/ue-cpp-foundations/references/property-specifiers.md +306 -0
- package/skills/ue-data-assets-tables/SKILL.md +527 -0
- package/skills/ue-data-assets-tables/references/asset-loading-patterns.md +306 -0
- package/skills/ue-data-assets-tables/references/data-driven-design.md +378 -0
- package/skills/ue-editor-tools/SKILL.md +523 -0
- package/skills/ue-editor-tools/references/detail-customization-patterns.md +395 -0
- package/skills/ue-editor-tools/references/editor-module-setup.md +480 -0
- package/skills/ue-game-features/SKILL.md +477 -0
- package/skills/ue-game-features/references/experience-system.md +222 -0
- package/skills/ue-game-features/references/game-feature-patterns.md +308 -0
- package/skills/ue-gameplay-abilities/SKILL.md +518 -0
- package/skills/ue-gameplay-abilities/references/ability-task-reference.md +391 -0
- package/skills/ue-gameplay-abilities/references/gameplay-effect-reference.md +397 -0
- package/skills/ue-gameplay-abilities/references/gas-setup-patterns.md +369 -0
- package/skills/ue-gameplay-framework/SKILL.md +466 -0
- package/skills/ue-gameplay-framework/references/framework-class-map.md +243 -0
- package/skills/ue-input-system/SKILL.md +394 -0
- package/skills/ue-input-system/references/cpp-setup.md +131 -0
- package/skills/ue-input-system/references/enhanced-input-workflow.md +117 -0
- package/skills/ue-input-system/references/input-action-reference.md +731 -0
- package/skills/ue-mass-entity/SKILL.md +476 -0
- package/skills/ue-mass-entity/references/mass-entity-patterns.md +319 -0
- package/skills/ue-mass-entity/references/mass-fragment-reference.md +119 -0
- package/skills/ue-materials-rendering/SKILL.md +526 -0
- package/skills/ue-materials-rendering/references/material-parameter-reference.md +216 -0
- package/skills/ue-materials-rendering/references/post-process-settings.md +383 -0
- package/skills/ue-module-build-system/SKILL.md +487 -0
- package/skills/ue-module-build-system/references/build-cs-reference.md +418 -0
- package/skills/ue-module-build-system/references/common-build-errors.md +381 -0
- package/skills/ue-naming-conventions/SKILL.md +142 -0
- package/skills/ue-naming-conventions/references/asset-name-modifiers.md +233 -0
- package/skills/ue-naming-conventions/references/content-structure.md +83 -0
- package/skills/ue-networking-replication/SKILL.md +452 -0
- package/skills/ue-networking-replication/references/replication-patterns.md +526 -0
- package/skills/ue-networking-replication/references/rpc-decision-guide.md +393 -0
- package/skills/ue-niagara-effects/SKILL.md +531 -0
- package/skills/ue-niagara-effects/references/niagara-data-interfaces.md +491 -0
- package/skills/ue-niagara-effects/references/niagara-parameter-types.md +153 -0
- package/skills/ue-niagara-effects/references/niagara-workflow.md +115 -0
- package/skills/ue-packaging/SKILL.md +116 -0
- package/skills/ue-physics-collision/SKILL.md +423 -0
- package/skills/ue-physics-collision/references/collision-channel-setup.md +218 -0
- package/skills/ue-physics-collision/references/trace-patterns.md +499 -0
- package/skills/ue-procedural-generation/SKILL.md +505 -0
- package/skills/ue-procedural-generation/references/pcg-node-reference.md +381 -0
- package/skills/ue-procedural-generation/references/procedural-mesh-patterns.md +940 -0
- package/skills/ue-project-context/SKILL.md +305 -0
- package/skills/ue-sequencer-cinematics/SKILL.md +506 -0
- package/skills/ue-sequencer-cinematics/references/sequencer-patterns.md +629 -0
- package/skills/ue-serialization-savegames/SKILL.md +524 -0
- package/skills/ue-serialization-savegames/references/save-system-architecture.md +705 -0
- package/skills/ue-state-trees/SKILL.md +489 -0
- package/skills/ue-state-trees/references/state-tree-mass-integration.md +184 -0
- package/skills/ue-state-trees/references/state-tree-patterns.md +321 -0
- package/skills/ue-testing-debugging/SKILL.md +520 -0
- package/skills/ue-testing-debugging/references/automation-test-patterns.md +387 -0
- package/skills/ue-testing-debugging/references/profiling-commands.md +357 -0
- package/skills/ue-ui-umg-slate/SKILL.md +431 -0
- package/skills/ue-ui-umg-slate/references/common-ui-setup.md +484 -0
- package/skills/ue-ui-umg-slate/references/widget-types.md +487 -0
- package/skills/ue-world-level-streaming/SKILL.md +518 -0
- package/skills/ue-world-level-streaming/references/streaming-patterns.md +414 -0
- package/templates/gamedev/unreal-project-context.md +107 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,18 @@
|
|
|
1
|
+
# [2.4.0](https://github.com/SebastianLuser/claude-code-arcane/compare/v2.3.0...v2.4.0) (2026-08-13)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Bug Fixes
|
|
5
|
+
|
|
6
|
+
* **agents:** add the three ue-* sub-specialists unreal-specialist delegates to ([9b52708](https://github.com/SebastianLuser/claude-code-arcane/commit/9b527081c9d7166a96a299c2658a1b0adfb4db58))
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Features
|
|
10
|
+
|
|
11
|
+
* **hooks:** detect Unreal projects on session start ([dfb66ae](https://github.com/SebastianLuser/claude-code-arcane/commit/dfb66ae6b70f40dda226f18027aefe574005a5d8))
|
|
12
|
+
* **install-mcp:** handle Unreal's engine-provided MCP alongside Unity ([96fe518](https://github.com/SebastianLuser/claude-code-arcane/commit/96fe51817015d69d31aebc84088c774c9a55dd0b))
|
|
13
|
+
* **unreal:** add the unreal-dev profile with 29 ue-* skills ([011a3f1](https://github.com/SebastianLuser/claude-code-arcane/commit/011a3f1992f1ac515acf9595cfc568f2824a6d21))
|
|
14
|
+
* **unreal:** add ue-naming-conventions from the Gamemakin style guide ([301880e](https://github.com/SebastianLuser/claude-code-arcane/commit/301880e25c8ebd71987e96387fbf74650d313574))
|
|
15
|
+
|
|
1
16
|
# [2.3.0](https://github.com/SebastianLuser/claude-code-arcane/compare/v2.2.0...v2.3.0) (2026-08-12)
|
|
2
17
|
|
|
3
18
|
|
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Claude Code Arcane
|
|
2
2
|
|
|
3
|
-
> **
|
|
3
|
+
> **427 skills, 109 agents, 17 hooks and 28 rules for Claude Code — selective deploy by profile.**
|
|
4
4
|
|
|
5
5
|
A configuration harness installable via `npx`. Pick a **profile** that matches your stack and only the relevant tools get installed into your project's `.claude/` directory.
|
|
6
6
|
|
|
@@ -163,6 +163,7 @@ Once installed, manage the installation from within a Claude Code session:
|
|
|
163
163
|
|---------|-------|--------|--------|
|
|
164
164
|
| `unity-dev` | Unity programmer — C#, architecture, performance, builds | 25 | game |
|
|
165
165
|
| `unity-design` | Game designer — GDDs, balance, art bible, playtesting | 17 | game |
|
|
166
|
+
| `unreal-dev` | Unreal Engine 5 programmer — C++, Blueprints, GAS, replication, rendering, packaging | 49 | game |
|
|
166
167
|
| `audio` | Game audio — direction, composition, sound design, middleware, VO, QA | 13 | audio |
|
|
167
168
|
| `backend-ts` | Backend TypeScript — Fastify, Prisma, Zod, API design | 33 | engineering |
|
|
168
169
|
| `backend-go` | Backend Go — Clean Arch, DB, auth, API, CI | 19 | engineering |
|
|
@@ -206,6 +207,42 @@ Once installed, manage the installation from within a Claude Code session:
|
|
|
206
207
|
|
|
207
208
|
---
|
|
208
209
|
|
|
210
|
+
## Recommended MCPs
|
|
211
|
+
|
|
212
|
+
Several profiles ship skills that drive an external tool over MCP. **Arcane does not bundle any
|
|
213
|
+
MCP server** — install the ones your stack needs and Claude Code connects to them.
|
|
214
|
+
|
|
215
|
+
### Game engines
|
|
216
|
+
|
|
217
|
+
| Engine | MCP server | Where it comes from | Wire it up with |
|
|
218
|
+
|--------|------------|---------------------|-----------------|
|
|
219
|
+
| **Unreal Engine 5** | `ModelContextProtocol` + `AllToolsets` | **Ships with the engine** — nothing to add to the project, just enable the plugins in the `.uproject` | `/install-mcp unreal` |
|
|
220
|
+
| **Unity** | [CoplayDev — MCP for Unity](https://github.com/CoplayDev/unity-mcp) | UPM package added to `Packages/manifest.json` | `/install-mcp unity` |
|
|
221
|
+
| **Unity** (alternative) | [CoderGamester — mcp-unity](https://github.com/CoderGamester/mcp-unity) | UPM package, opt-in | `/install-mcp unity --secondary` |
|
|
222
|
+
|
|
223
|
+
Both engines need the editor **open and running** for the server to answer — registering the
|
|
224
|
+
client does not start the server.
|
|
225
|
+
|
|
226
|
+
For Unreal, Epic also publishes a companion plugin:
|
|
227
|
+
[unreal-engine-skills-for-claude-code-plugin](https://github.com/EpicGames/unreal-engine-skills-for-claude-code-plugin).
|
|
228
|
+
It ships the in-editor skills that operate and extend the MCP (`unreal-mcp`, `create-toolset`,
|
|
229
|
+
`unreal-skill`), which Arcane deliberately does **not** duplicate — see `ATTRIBUTION.md`.
|
|
230
|
+
|
|
231
|
+
### Other integrations
|
|
232
|
+
|
|
233
|
+
| MCP server | Used by | Profile |
|
|
234
|
+
|------------|---------|---------|
|
|
235
|
+
| ClickUp | `/clickup` | `+clickup` |
|
|
236
|
+
| Figma | `/figma`, `/figma-to-code`, `/figma-tokens` | `+design` |
|
|
237
|
+
| Atlassian (Confluence) | `/confluence-expert`, `/atlassian-templates` | `+agile` |
|
|
238
|
+
| TestRail + BrowserStack | `/playwright-pro` (ships its own `.mcp.json`) | `+testing` |
|
|
239
|
+
|
|
240
|
+
`/jira-tickets` is the exception: it talks to the Jira REST API v3 over `curl`, not MCP.
|
|
241
|
+
|
|
242
|
+
Building your own server? `/mcp-server-builder` scaffolds one.
|
|
243
|
+
|
|
244
|
+
---
|
|
245
|
+
|
|
209
246
|
## Examples by Project
|
|
210
247
|
|
|
211
248
|
```bash
|
|
@@ -351,11 +388,11 @@ claude-code-arcane/
|
|
|
351
388
|
│ ├── manifest.ts # Read/write arcane-manifest.json
|
|
352
389
|
│ ├── types.ts # TypeScript interfaces
|
|
353
390
|
│ └── utils.ts # Cross-platform helpers
|
|
354
|
-
├── skills/ #
|
|
355
|
-
├── profiles/ #
|
|
356
|
-
├── agents/ # 17 dirs,
|
|
357
|
-
├── hooks/ #
|
|
358
|
-
├── rules/ #
|
|
391
|
+
├── skills/ # 427 skills (flat, one dir per skill)
|
|
392
|
+
├── profiles/ # 38 profiles (YAML)
|
|
393
|
+
├── agents/ # 17 dirs, 109 agents (Markdown)
|
|
394
|
+
├── hooks/ # 17 lifecycle hooks (Bash)
|
|
395
|
+
├── rules/ # 28 rules (Markdown)
|
|
359
396
|
├── templates/ # Gamedev templates
|
|
360
397
|
├── docs/ # Documentation
|
|
361
398
|
└── skills-selftest/ # QA framework
|
|
@@ -376,3 +413,14 @@ claude-code-arcane/
|
|
|
376
413
|
- **OS:** Windows 10/11, macOS, Linux
|
|
377
414
|
- **Node:** 20+
|
|
378
415
|
- **Claude Code:** v1.0+
|
|
416
|
+
|
|
417
|
+
---
|
|
418
|
+
|
|
419
|
+
## Attribution
|
|
420
|
+
|
|
421
|
+
Arcane is MIT licensed (see `LICENSE`). The `ue-*` skills shipped by the `unreal-dev` profile
|
|
422
|
+
are derived from three upstream collections — [quodsoler/unreal-engine-skills](https://github.com/quodsoler/unreal-engine-skills)
|
|
423
|
+
(MIT), [EpicGames/unreal-engine-skills-for-claude-code-plugin](https://github.com/EpicGames/unreal-engine-skills-for-claude-code-plugin)
|
|
424
|
+
(MIT), and [gamedev-skills/awesome-gamedev-agent-skills](https://github.com/gamedev-skills/awesome-gamedev-agent-skills)
|
|
425
|
+
(Apache-2.0). See `ATTRIBUTION.md` for the per-skill provenance, the changes made, and the
|
|
426
|
+
required license notices.
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ue-blueprint-specialist
|
|
3
|
+
description: "The UE Blueprint specialist owns Blueprint architecture, the Blueprint/C++ boundary, graph quality and Blueprint performance. They keep graphs small and hard references under control, and hand C++ implementation to the programmers who own it."
|
|
4
|
+
tools: Read, Glob, Grep, Write, Edit, Task
|
|
5
|
+
model: sonnet
|
|
6
|
+
maxTurns: 20
|
|
7
|
+
---
|
|
8
|
+
You are the Unreal Blueprint specialist for an Unreal Engine 5 project. You own Blueprint architecture and the boundary between Blueprints and C++.
|
|
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
|
+
- Decide what belongs in Blueprint and what belongs in C++, and defend the boundary
|
|
62
|
+
- Review Blueprint graphs for readability, hard references and per-frame cost
|
|
63
|
+
- Design Blueprint Function Libraries and the C++ surface designers consume
|
|
64
|
+
- Optimize Blueprint performance: Tick removal, reference pruning, load-time reduction
|
|
65
|
+
- Enforce data-only Blueprints for content variation
|
|
66
|
+
- Guide designers on Cast versus Interface versus Event Dispatcher
|
|
67
|
+
|
|
68
|
+
## Blueprint Standards to Enforce
|
|
69
|
+
|
|
70
|
+
### Architecture
|
|
71
|
+
- Reusable logic lives in a Blueprint Class; the Level Blueprint is for level-specific scripting only
|
|
72
|
+
- Past roughly 20 nodes in a single function, the logic is a C++ candidate — measure and flag it
|
|
73
|
+
- Content variation uses data-only Blueprints or Data Assets, not duplicated logic graphs
|
|
74
|
+
- The Construction Script does editor-time setup only; gameplay initialization belongs in `BeginPlay`
|
|
75
|
+
- Blueprint Function Libraries hold stateless helpers, exposed from C++ where hot
|
|
76
|
+
|
|
77
|
+
### Communication and Coupling
|
|
78
|
+
- `Cast To` creates a hard reference that drags the target's asset tree into memory — use it only when the caller genuinely depends on that type
|
|
79
|
+
- Blueprint Interfaces are the default for calling across types without coupling
|
|
80
|
+
- Event Dispatchers handle one-to-many broadcast; listeners bind, the broadcaster stays ignorant
|
|
81
|
+
- Soft references (`TSoftObjectPtr`, `TSoftClassPtr`) for anything not always needed
|
|
82
|
+
- Cast chains are a load-time smell; flag them with the reference viewer as evidence
|
|
83
|
+
|
|
84
|
+
### Safety
|
|
85
|
+
- `IsValid()` before touching any Actor-derived reference — `GetOwner()` can return null during lifecycle transitions
|
|
86
|
+
- Null checks on Blueprint references are not optional, and a crash risk is never silently "fixed" without explaining it
|
|
87
|
+
- Interface calls use the Message form or a `Does Implement Interface` guard
|
|
88
|
+
- `Expose on Spawn` is set for variables that must be valid before `BeginPlay`
|
|
89
|
+
|
|
90
|
+
### Performance
|
|
91
|
+
- `Event Tick` is the exception, not the default: prefer perception events, timers, dispatchers and Timelines
|
|
92
|
+
- Per-frame work multiplied across many instances is quantified, not hand-waved
|
|
93
|
+
- Staggered timers or reduced intervals replace every-frame polling where exactness is not required
|
|
94
|
+
- Blueprint Nativization was removed in UE5 — never propose it as an optimization
|
|
95
|
+
- Optimization claims are backed by the profiler, not intuition
|
|
96
|
+
|
|
97
|
+
## Common Pitfalls to Flag
|
|
98
|
+
- Tick-based logic doing work that an event could trigger
|
|
99
|
+
- Cast spaghetti inflating load times and memory
|
|
100
|
+
- Reusable logic stranded in a Level Blueprint
|
|
101
|
+
- Gameplay side effects in the Construction Script
|
|
102
|
+
- Missing `IsValid()` before component or property access
|
|
103
|
+
- A variable that is not Instance Editable when a designer needs to tune it
|
|
104
|
+
- Interface calls that silently do nothing because the target does not implement the interface
|
|
105
|
+
|
|
106
|
+
## Delegation Map
|
|
107
|
+
|
|
108
|
+
**Reports to**: `unreal-specialist`
|
|
109
|
+
|
|
110
|
+
**Coordinates with**:
|
|
111
|
+
- `gameplay-programmer` for the C++ implementation behind a Blueprint-exposed system
|
|
112
|
+
- `ue-gas-specialist` for the Blueprint surface of abilities and effects
|
|
113
|
+
- `ue-umg-specialist` for widget Blueprints and their binding patterns
|
|
114
|
+
- `performance-analyst` for profiler evidence behind an optimization
|
|
115
|
+
- `game-designer` for what designers need exposed and tunable
|
|
116
|
+
|
|
117
|
+
**Escalation targets**:
|
|
118
|
+
- `unreal-specialist` for Blueprint-versus-C++ rulings that cross subsystems
|
|
119
|
+
- `lead-programmer` when the boundary conflicts with code architecture
|
|
120
|
+
|
|
121
|
+
## What This Agent Must NOT Do
|
|
122
|
+
- Write the C++ implementation of a system — describe the Blueprint approach and the boundary, then hand it to `gameplay-programmer` or `lead-programmer`
|
|
123
|
+
- Author art assets, materials or shaders
|
|
124
|
+
- Design UX flow or screen navigation (that is `ux-designer`)
|
|
125
|
+
- Make game design decisions about what a mechanic should do
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ue-gas-specialist
|
|
3
|
+
description: "The UE GAS specialist owns the Gameplay Ability System: UGameplayAbility, UGameplayEffect, UAttributeSet, Gameplay Tags, Ability Tasks and GAS prediction. They keep stat mutation inside Gameplay Effects and state inside tags, and defer custom net serialization and ability UI to the specialists that own them."
|
|
4
|
+
tools: Read, Glob, Grep, Write, Edit, Bash, Task
|
|
5
|
+
model: sonnet
|
|
6
|
+
maxTurns: 20
|
|
7
|
+
---
|
|
8
|
+
You are the Unreal Gameplay Ability System specialist for an Unreal Engine 5 project. You own abilities, effects, attributes and tags.
|
|
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 and implement `UGameplayAbility` subclasses, including activation, commit and cancel flow
|
|
62
|
+
- Author `UGameplayEffect` definitions for damage, costs, cooldowns, buffs and debuffs
|
|
63
|
+
- Own `UAttributeSet` layout, attribute meta-data and clamping in pre/post-attribute change
|
|
64
|
+
- Define and police the project's Gameplay Tag hierarchy
|
|
65
|
+
- Implement `UAbilityTask` subclasses for async ability flow (montages, targeting, root motion)
|
|
66
|
+
- Configure the AbilitySystemComponent, including its replication mode and prediction behaviour
|
|
67
|
+
|
|
68
|
+
## GAS Standards to Enforce
|
|
69
|
+
|
|
70
|
+
### Abilities
|
|
71
|
+
- Every ability commits cost and cooldown through `CommitAbility`, never by hand-editing attributes
|
|
72
|
+
- `ActivateAbility` always ends with `EndAbility`, on every path including cancellation and failure
|
|
73
|
+
- Instancing policy is chosen deliberately: `InstancedPerActor` for stateful abilities, `NonInstanced` only for stateless ones
|
|
74
|
+
- Async work goes through Ability Tasks, so cancellation unwinds correctly
|
|
75
|
+
- Activation-blocking and activation-required tags express preconditions instead of `if` chains in code
|
|
76
|
+
|
|
77
|
+
### Gameplay Effects
|
|
78
|
+
- Damage, cost and cooldown are all Gameplay Effects — nothing writes an attribute directly
|
|
79
|
+
- Duration policy matches intent: `Instant` for one-shot changes, `HasDuration` for timed, `Infinite` for state that something else removes
|
|
80
|
+
- Cooldowns carry a Gameplay Tag so other abilities can query and block on them
|
|
81
|
+
- Stacking policy and stack limits are set explicitly for anything that can apply twice
|
|
82
|
+
- Modifier magnitudes come from `SetByCaller`, curve tables or attribute captures rather than hardcoded numbers
|
|
83
|
+
|
|
84
|
+
### Attributes
|
|
85
|
+
- All numeric gameplay stats live in an `UAttributeSet`, never as loose `UPROPERTY` floats
|
|
86
|
+
- Clamping happens in `PreAttributeChange` for the value and `PostGameplayEffectExecute` for the applied change
|
|
87
|
+
- Derived values (a health percentage, a computed DPS) are calculated on read, never stored and replicated
|
|
88
|
+
- Current/max pairs are separate attributes, with max changes rescaling current deliberately
|
|
89
|
+
|
|
90
|
+
### Gameplay Tags
|
|
91
|
+
- Tags are hierarchical and namespaced: `Ability.Dash`, `Cooldown.Ability.Dash`, `Status.Stunned`
|
|
92
|
+
- A root-level tag and a child tag are **different tags** — `Stunned` never matches `Status.Stunned`
|
|
93
|
+
- Matching uses container queries (`HasTag`, `HasMatchingGameplayTag`) with the hierarchy in mind
|
|
94
|
+
- Tag definitions live in `DefaultGameplayTags.ini` or a tag table, not scattered through C++ literals
|
|
95
|
+
- Tags replace booleans for state; if you are adding a `bIsStunned`, add a tag instead
|
|
96
|
+
|
|
97
|
+
### Replication and Prediction
|
|
98
|
+
- The ASC replication mode is a deliberate choice, and you explain the trade-off:
|
|
99
|
+
- `Full` — single-player or when every client needs every Gameplay Effect
|
|
100
|
+
- `Mixed` — player-controlled actors in multiplayer; full detail to the owner, minimal to others
|
|
101
|
+
- `Minimal` — AI and NPCs, where only tags and attributes matter to observers
|
|
102
|
+
- Locally predicted abilities use prediction keys and produce rollback-safe state
|
|
103
|
+
- GAS built-in replication is used as-is; custom net serialization of GAS data is not yours to write
|
|
104
|
+
|
|
105
|
+
## Common Pitfalls to Flag
|
|
106
|
+
- Writing attributes directly instead of applying a Gameplay Effect
|
|
107
|
+
- An ability that can exit without calling `EndAbility`, leaving the ASC stuck
|
|
108
|
+
- Booleans standing in for what should be a Gameplay Tag
|
|
109
|
+
- Tag mismatches caused by inconsistent hierarchy depth
|
|
110
|
+
- Replicating derived values that clients could compute from replicated inputs
|
|
111
|
+
- `Full` ASC replication left on an NPC-heavy project, flooding bandwidth
|
|
112
|
+
- Cooldown tracked by a timer in the ability instead of a cooldown Gameplay Effect
|
|
113
|
+
|
|
114
|
+
## Delegation Map
|
|
115
|
+
|
|
116
|
+
**Reports to**: `unreal-specialist`
|
|
117
|
+
|
|
118
|
+
**Coordinates with**:
|
|
119
|
+
- `ue-replication-specialist` for custom net serialization of GAS data beyond the built-ins
|
|
120
|
+
- `ue-umg-specialist` for how ability, cooldown and attribute state is displayed
|
|
121
|
+
- `gameplay-programmer` for the gameplay systems that trigger abilities
|
|
122
|
+
- `ue-blueprint-specialist` for the Blueprint surface designers use to author abilities
|
|
123
|
+
- `technical-artist` for Gameplay Cues, VFX and montage authoring
|
|
124
|
+
|
|
125
|
+
**Escalation targets**:
|
|
126
|
+
- `unreal-specialist` for GAS-versus-bespoke-system architecture rulings
|
|
127
|
+
- `lead-programmer` when GAS conflicts with the wider code architecture
|
|
128
|
+
|
|
129
|
+
## What This Agent Must NOT Do
|
|
130
|
+
- Implement UI that displays ability state (that is `ue-umg-specialist`)
|
|
131
|
+
- Write custom replication or net serialization outside GAS's own systems without flagging the boundary
|
|
132
|
+
- Decide game design questions such as what an ability should do or how much it should hurt
|
|
133
|
+
- Author VFX or animation content for ability feedback
|
|
@@ -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
|
package/dist/cli.js
CHANGED
|
@@ -509,6 +509,11 @@ var SETTINGS_TEMPLATE = {
|
|
|
509
509
|
command: "bash .claude/hooks/detect-division.sh",
|
|
510
510
|
timeout: 10
|
|
511
511
|
},
|
|
512
|
+
{
|
|
513
|
+
type: "command",
|
|
514
|
+
command: "bash .claude/hooks/detect-unreal.sh",
|
|
515
|
+
timeout: 10
|
|
516
|
+
},
|
|
512
517
|
{
|
|
513
518
|
type: "command",
|
|
514
519
|
command: "bash .claude/hooks/detect-gaps.sh",
|
package/docs/SKILLS-CATALOG.md
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# Skills Catalog — Claude Code Arcane
|
|
2
2
|
|
|
3
|
-
Los
|
|
3
|
+
Los 427 skills disponibles para proyectos consumidores, organizados por division.
|
|
4
4
|
|
|
5
|
-
La tabla cubre
|
|
5
|
+
La tabla cubre 385: hay 42 skills instalables que todavia no estan catalogados aca. Un test de CI (`src/__tests__/doc-counts.test.ts`) verifica que estos numeros coincidan con el filesystem y que el header de cada seccion coincida con sus filas.
|
|
6
6
|
|
|
7
7
|
## Como ejecutar un skill
|
|
8
8
|
|
|
@@ -84,7 +84,7 @@ Desde cualquier proyecto que tenga Arcane configurado, escribi `/` seguido del n
|
|
|
84
84
|
| `/consistency-check` | Detecta inconsistencias cross-documento en stats/items | `[full \| since-last \| entity:<name>]` |
|
|
85
85
|
| `/doc-gdd` | Genera Game Design Document completo | `[game-name]` |
|
|
86
86
|
| `/doc-pas` | Documentacion PAS (Problem-Analysis-Solution) | `[problem o decision title]` |
|
|
87
|
-
| `/install-mcp` |
|
|
87
|
+
| `/install-mcp` | Conecta Claude con el MCP del engine: Unity (package UPM) o Unreal (plugins del engine) | `[unity\|unreal] [--secondary] [path]` |
|
|
88
88
|
| `/map-systems` | Descompone concepto en sistemas, mapea dependencias | `[next \| system-name] [--review]` |
|
|
89
89
|
| `/playtest-report` | Genera o analiza reporte de playtest | `[new\|analyze path] [--review]` |
|
|
90
90
|
| `/scaffold-unity` | Scaffoldea proyecto Unity estilo Project_T | `[project-name]` |
|
|
@@ -100,6 +100,45 @@ Desde cualquier proyecto que tenga Arcane configurado, escribi `/` seguido del n
|
|
|
100
100
|
|
|
101
101
|
---
|
|
102
102
|
|
|
103
|
+
## Unreal (30 skills)
|
|
104
|
+
|
|
105
|
+
Instalables con el perfil `unreal-dev`. Procedencia y licencias en `ATTRIBUTION.md`.
|
|
106
|
+
|
|
107
|
+
| Skill | Descripcion | Uso |
|
|
108
|
+
|-------|-------------|-----|
|
|
109
|
+
| `/ue-project-context` | Documento de contexto del proyecto: modulos, plataformas, convenciones, standards | `[new \| update \| section]` |
|
|
110
|
+
| `/ue-naming-conventions` | Naming de assets y estructura de Content: Prefix_BaseAssetName_Variant_Suffix, prefijos por tipo, layout de carpetas | `[asset, folder o review]` |
|
|
111
|
+
| `/ue-cpp-foundations` | UPROPERTY, UFUNCTION, UCLASS, TArray, TMap, delegates, FString, garbage collection | `[class, type o question]` |
|
|
112
|
+
| `/ue-actor-component-architecture` | Diseno de actors y components: BeginPlay, Tick, attachment, ownership, child actors | `[actor o component]` |
|
|
113
|
+
| `/ue-gameplay-framework` | GameMode, GameState, PlayerController, PlayerState, Pawn, HUD | `[class o flow]` |
|
|
114
|
+
| `/ue-module-build-system` | Build.cs, Target.cs, creacion de modulos, setup de plugins, configuracion de build | `[module o plugin]` |
|
|
115
|
+
| `/ue-async-threading` | Operaciones async, threading, ejecucion paralela, tasks, FRunnable, AsyncTask | `[operation o task]` |
|
|
116
|
+
| `/ue-blueprints` | Blueprint visual scripting: Event Graph, Construction Script, Cast vs Interface vs Dispatcher | `[blueprint o graph]` |
|
|
117
|
+
| `/ue-gameplay-abilities` | GAS: Gameplay Abilities, Effects, Attribute Sets, Tags, Gameplay Cues | `[ability, effect o attribute]` |
|
|
118
|
+
| `/ue-character-movement` | CharacterMovementComponent, movement modes, root motion, network prediction | `[movement mode o feature]` |
|
|
119
|
+
| `/ue-animation-system` | AnimInstance, montages, blend spaces, state machines, notifies, linked anim graphs | `[character o anim feature]` |
|
|
120
|
+
| `/ue-physics-collision` | Colisiones, traces, simulacion fisica, interacciones, Chaos physics | `[interaction o collision setup]` |
|
|
121
|
+
| `/ue-game-features` | Game Feature plugins, modular gameplay, GameFeatureAction, ComponentManager | `[plugin o experience]` |
|
|
122
|
+
| `/ue-networking-replication` | Multiplayer: replication, RPCs, net roles, autoridad server/client | `[system o property]` |
|
|
123
|
+
| `/ue-ai-navigation` | AI controllers, behavior trees, blackboards, perception, NavMesh, EQS | `[behavior o AI feature]` |
|
|
124
|
+
| `/ue-state-trees` | State Tree, state machines, StateTreeTask, Condition, Evaluator | `[state tree o behavior]` |
|
|
125
|
+
| `/ue-mass-entity` | Mass Entity: MassProcessor, MassFragment, MassTag, MassObserver (UE 5.5+) | `[system o entity type]` |
|
|
126
|
+
| `/ue-materials-rendering` | Materials, shaders, dynamic instances, post-process, render targets, Nanite, Lumen | `[material o effect]` |
|
|
127
|
+
| `/ue-niagara-effects` | Niagara: sistemas de particulas, VFX, emitters, data interfaces, simulacion GPU | `[effect o system]` |
|
|
128
|
+
| `/ue-audio-system` | UAudioComponent, SoundCue, MetaSound, atenuacion, concurrencia, analisis | `[sound o audio system]` |
|
|
129
|
+
| `/ue-sequencer-cinematics` | Sequencer, LevelSequence, cutscenes, camera tracks, Movie Render Queue | `[sequence o shot]` |
|
|
130
|
+
| `/ue-world-level-streaming` | World Partition, level streaming, level travel, data layers, world subsystems | `[level o streaming strategy]` |
|
|
131
|
+
| `/ue-procedural-generation` | PCG framework, ProceduralMesh, instanced mesh, generacion en runtime, noise | `[generator o PCG graph]` |
|
|
132
|
+
| `/ue-data-assets-tables` | DataAsset, DataTable, soft references, TSoftObjectPtr, async loading, Asset Manager | `[data type o asset]` |
|
|
133
|
+
| `/ue-serialization-savegames` | Save/load, persistencia de progreso, serializacion de datos, FArchive | `[save system o data]` |
|
|
134
|
+
| `/ue-ui-umg-slate` | UMG, Slate, UserWidget, HUD, BindWidget, Common UI, MVVM | `[widget o UI flow]` |
|
|
135
|
+
| `/ue-input-system` | Enhanced Input: Input Actions, Mapping Contexts, modifiers, triggers | `[action o input scheme]` |
|
|
136
|
+
| `/ue-editor-tools` | Editor utility widgets, Blutility, detail customization, property editors, subsystems | `[tool o customization]` |
|
|
137
|
+
| `/ue-testing-debugging` | Automation tests, functional tests, UE_LOG, visual logger, debug drawing | `[test o debug target]` |
|
|
138
|
+
| `/ue-packaging` | Packaging y cooking: build configs, Game Default Map, RunUAT BuildCookRun | `[platform o build config]` |
|
|
139
|
+
|
|
140
|
+
---
|
|
141
|
+
|
|
103
142
|
## Audio (13 skills)
|
|
104
143
|
|
|
105
144
|
| Skill | Descripcion | Uso |
|
package/docs/USER-GUIDE.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
## What is Arcane?
|
|
4
4
|
|
|
5
|
-
Arcane is a configuration harness for [Claude Code](https://docs.anthropic.com/en/docs/claude-code). It provides a curated library of **
|
|
5
|
+
Arcane is a configuration harness for [Claude Code](https://docs.anthropic.com/en/docs/claude-code). It provides a curated library of **427 skills**, **109 agents**, **17 hooks**, and **28 rules** that you selectively deploy into any project. Instead of shipping everything to every project (wasting tokens and degrading performance), you pick a **profile** that matches your stack and only the relevant tools get installed.
|
|
6
6
|
|
|
7
7
|
## Table of Contents
|
|
8
8
|
|
|
@@ -541,7 +541,7 @@ Yes, and it's recommended. This way everyone on the team gets the same Claude Co
|
|
|
541
541
|
|
|
542
542
|
### How many tokens does a profile consume?
|
|
543
543
|
|
|
544
|
-
Each skill adds ~30-100 tokens to the system prompt. A typical base profile (20-30 skills) adds ~1-2k tokens. The core profile adds ~500 tokens. Compare that to loading all
|
|
544
|
+
Each skill adds ~30-100 tokens to the system prompt. A typical base profile (20-30 skills) adds ~1-2k tokens. The core profile adds ~500 tokens. Compare that to loading all 427 skills, which is why selective deploy matters.
|
|
545
545
|
|
|
546
546
|
### Why replace instead of merge on install?
|
|
547
547
|
|