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.
- package/CHANGELOG.md +23 -0
- package/README.md +131 -41
- 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 +642 -478
- package/docs/SKILLS-CATALOG.md +42 -3
- package/docs/USER-GUIDE.md +28 -54
- package/hooks/detect-unreal.sh +90 -0
- package/package.json +2 -1
- package/profiles/agile.yaml +1 -1
- package/profiles/ai.yaml +1 -1
- package/profiles/android-native.yaml +1 -1
- package/profiles/audio.yaml +1 -1
- package/profiles/backend-dotnet.yaml +1 -1
- package/profiles/backend-go.yaml +1 -1
- package/profiles/backend-nestjs.yaml +1 -1
- package/profiles/backend-nextjs.yaml +1 -1
- package/profiles/backend-ts.yaml +1 -1
- package/profiles/business.yaml +1 -1
- package/profiles/clevel.yaml +1 -1
- package/profiles/clickup.yaml +1 -1
- package/profiles/core.yaml +1 -1
- package/profiles/database.yaml +1 -1
- package/profiles/design.yaml +1 -1
- package/profiles/docs.yaml +1 -1
- package/profiles/ecommerce.yaml +1 -1
- package/profiles/finance.yaml +1 -1
- package/profiles/flutter.yaml +1 -1
- package/profiles/freelance.yaml +1 -1
- package/profiles/frontend.yaml +1 -1
- package/profiles/infra.yaml +1 -1
- package/profiles/integrations.yaml +1 -1
- package/profiles/ios-native.yaml +1 -1
- package/profiles/jira.yaml +1 -1
- package/profiles/job-hunt.yaml +1 -1
- package/profiles/marketing.yaml +1 -1
- package/profiles/mobile.yaml +1 -1
- package/profiles/regulatory.yaml +1 -1
- package/profiles/second-brain.yaml +1 -1
- package/profiles/security.yaml +1 -1
- package/profiles/self-improving.yaml +1 -1
- package/profiles/statusline.yaml +1 -1
- package/profiles/testing.yaml +1 -1
- package/profiles/unity-design.yaml +1 -1
- package/profiles/unity-dev.yaml +1 -1
- package/profiles/unreal-dev.yaml +97 -0
- package/profiles/visual-novel.yaml +1 -1
- package/rules/gamedev/unreal-code.md +125 -0
- package/skills/arcane-list/SKILL.md +12 -7
- 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,26 @@
|
|
|
1
|
+
# [2.5.0](https://github.com/SebastianLuser/claude-code-arcane/compare/v2.4.0...v2.5.0) (2026-08-13)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Features
|
|
5
|
+
|
|
6
|
+
* **install:** interactive wizard with stack auto-detection ([ae0b9b8](https://github.com/SebastianLuser/claude-code-arcane/commit/ae0b9b8a67146faa22258f30c9d33bf7e4fffbf9))
|
|
7
|
+
* **profiles:** replace base/addon split with thematic categories ([5bcddab](https://github.com/SebastianLuser/claude-code-arcane/commit/5bcddab2e9081e6d6505ac00b6345dd3b57eed4a))
|
|
8
|
+
|
|
9
|
+
# [2.4.0](https://github.com/SebastianLuser/claude-code-arcane/compare/v2.3.0...v2.4.0) (2026-08-13)
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
### Bug Fixes
|
|
13
|
+
|
|
14
|
+
* **agents:** add the three ue-* sub-specialists unreal-specialist delegates to ([9b52708](https://github.com/SebastianLuser/claude-code-arcane/commit/9b527081c9d7166a96a299c2658a1b0adfb4db58))
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
### Features
|
|
18
|
+
|
|
19
|
+
* **hooks:** detect Unreal projects on session start ([dfb66ae](https://github.com/SebastianLuser/claude-code-arcane/commit/dfb66ae6b70f40dda226f18027aefe574005a5d8))
|
|
20
|
+
* **install-mcp:** handle Unreal's engine-provided MCP alongside Unity ([96fe518](https://github.com/SebastianLuser/claude-code-arcane/commit/96fe51817015d69d31aebc84088c774c9a55dd0b))
|
|
21
|
+
* **unreal:** add the unreal-dev profile with 29 ue-* skills ([011a3f1](https://github.com/SebastianLuser/claude-code-arcane/commit/011a3f1992f1ac515acf9595cfc568f2824a6d21))
|
|
22
|
+
* **unreal:** add ue-naming-conventions from the Gamemakin style guide ([301880e](https://github.com/SebastianLuser/claude-code-arcane/commit/301880e25c8ebd71987e96387fbf74650d313574))
|
|
23
|
+
|
|
1
24
|
# [2.3.0](https://github.com/SebastianLuser/claude-code-arcane/compare/v2.2.0...v2.3.0) (2026-08-12)
|
|
2
25
|
|
|
3
26
|
|
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
|
|
|
@@ -32,7 +32,7 @@ Each profile is a YAML file that bundles skills, agents, rules, and permissions:
|
|
|
32
32
|
```yaml
|
|
33
33
|
# profiles/backend-ts.yaml
|
|
34
34
|
name: backend-ts
|
|
35
|
-
|
|
35
|
+
category: backend
|
|
36
36
|
skills: [api-design, auth-strategy, jwt-strategy, ...]
|
|
37
37
|
rules:
|
|
38
38
|
universal: [backend-code, api-code, migration-code]
|
|
@@ -43,14 +43,16 @@ permissions:
|
|
|
43
43
|
|
|
44
44
|
### 2. Combine profiles with `+`
|
|
45
45
|
|
|
46
|
+
All profiles are equal — there is no "base vs addon" distinction. Combine as many as you need:
|
|
47
|
+
|
|
46
48
|
```bash
|
|
47
49
|
npx claude-code-arcane install backend-ts+agile+testing
|
|
48
|
-
# ^^^^^^^^^^ ^^^^^ ^^^^^^^
|
|
49
|
-
# base addon addon
|
|
50
50
|
```
|
|
51
51
|
|
|
52
52
|
The installer merges all profiles, deduplicates skills, and installs only what's needed.
|
|
53
53
|
|
|
54
|
+
Not sure what to pick? Run `install` with no arguments to get an interactive picker: it detects your stack (Unity, Unreal, Flutter, Go, NestJS, Next.js, React Native, React, .NET, native Android/iOS...) and pre-selects the matching profiles, then lets you add more from a menu grouped by category. Power users can accept the detected suggestion with a single Enter — or skip the menu entirely with the `a+b+c` syntax above.
|
|
55
|
+
|
|
54
56
|
### 3. Core is always included
|
|
55
57
|
|
|
56
58
|
Every installation automatically loads `core.yaml` first:
|
|
@@ -92,7 +94,7 @@ npx claude-code-arcane install unity-dev --dry-run # Preview without installin
|
|
|
92
94
|
```bash
|
|
93
95
|
npx claude-code-arcane add api-design # Add a single skill
|
|
94
96
|
npx claude-code-arcane add security-audit owasp # Add multiple skills
|
|
95
|
-
npx claude-code-arcane add +security # Add an entire profile
|
|
97
|
+
npx claude-code-arcane add +security # Add an entire profile
|
|
96
98
|
npx claude-code-arcane add +database +testing # Add multiple profiles
|
|
97
99
|
```
|
|
98
100
|
|
|
@@ -157,48 +159,89 @@ Once installed, manage the installation from within a Claude Code session:
|
|
|
157
159
|
|
|
158
160
|
## Available Profiles
|
|
159
161
|
|
|
160
|
-
|
|
162
|
+
All profiles combine freely with `+` — there is no required "base". Grouped by category:
|
|
163
|
+
|
|
164
|
+
### Backend
|
|
161
165
|
|
|
162
166
|
| Profile | Stack | Skills | Agents |
|
|
163
167
|
|---------|-------|--------|--------|
|
|
164
|
-
| `unity-dev` | Unity programmer — C#, architecture, performance, builds | 25 | game |
|
|
165
|
-
| `unity-design` | Game designer — GDDs, balance, art bible, playtesting | 17 | game |
|
|
166
|
-
| `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 |
|
|
169
170
|
| `backend-dotnet` | Backend .NET — ASP.NET Core, Vertical Slice/Clean, EF Core, JWT | 25 | engineering |
|
|
171
|
+
| `backend-nestjs` | Backend NestJS — feature modules, DI, Prisma, JWT, microservices | 25 | engineering |
|
|
172
|
+
| `backend-nextjs` | Next.js full-stack — App Router, RSC, Server Actions, SEO, AI SDK | 22 | engineering |
|
|
173
|
+
|
|
174
|
+
### Frontend & Design
|
|
175
|
+
|
|
176
|
+
| Profile | Stack | Skills | Agents |
|
|
177
|
+
|---------|-------|--------|--------|
|
|
170
178
|
| `frontend` | React + Vite + TypeScript | 14 | engineering |
|
|
179
|
+
| `design` | Figma, UX review, design system, handoff | 6 | product |
|
|
180
|
+
|
|
181
|
+
### Mobile
|
|
182
|
+
|
|
183
|
+
| Profile | Stack | Skills | Agents |
|
|
184
|
+
|---------|-------|--------|--------|
|
|
171
185
|
| `mobile` | React Native + Expo + TypeScript | 12 | engineering |
|
|
172
186
|
| `flutter` | Flutter + Dart cross-platform | 8 | engineering |
|
|
173
187
|
| `android-native` | Kotlin + Jetpack Compose + Material Design 3 | 8 | engineering |
|
|
174
188
|
| `ios-native` | Swift + UIKit/SwiftUI + Apple HIG | 8 | engineering |
|
|
175
189
|
|
|
176
|
-
###
|
|
177
|
-
|
|
178
|
-
|
|
|
179
|
-
|
|
180
|
-
|
|
|
181
|
-
|
|
|
182
|
-
|
|
|
183
|
-
|
|
|
184
|
-
|
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
|
189
|
-
|
|
190
|
-
|
|
|
191
|
-
|
|
|
192
|
-
|
|
|
193
|
-
|
|
|
194
|
-
|
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
|
199
|
-
|
|
200
|
-
|
|
|
201
|
-
|
|
|
190
|
+
### Gamedev
|
|
191
|
+
|
|
192
|
+
| Profile | Stack | Skills | Agents |
|
|
193
|
+
|---------|-------|--------|--------|
|
|
194
|
+
| `unity-dev` | Unity programmer — C#, architecture, performance, builds | 25 | game |
|
|
195
|
+
| `unity-design` | Game designer — GDDs, balance, art bible, playtesting | 17 | game |
|
|
196
|
+
| `unreal-dev` | Unreal Engine 5 programmer — C++, Blueprints, GAS, replication, rendering, packaging | 49 | game |
|
|
197
|
+
| `visual-novel` | Visual novel developer — Ren'Py, narrative, branching | 17 | visualnovel, game |
|
|
198
|
+
| `audio` | Game audio — direction, composition, sound design, middleware, VO, QA | 13 | audio |
|
|
199
|
+
|
|
200
|
+
### Platform & Quality
|
|
201
|
+
|
|
202
|
+
| Profile | Adds | Skills | Agents |
|
|
203
|
+
|---------|------|--------|--------|
|
|
204
|
+
| `infra` | Terraform, observability, secrets, rollback, K8s | 17 | devops |
|
|
205
|
+
| `database` | Indexing, migrations, seeding, replicas, optimization | 8 | — |
|
|
206
|
+
| `security` | Audits, OWASP, secrets, backups | 5 | — |
|
|
207
|
+
| `testing` | Contract, performance, regression, flakiness | 11 | quality |
|
|
208
|
+
| `ai` | LLM cost optimization, RAG, ML, data engineering | 7 | ai |
|
|
209
|
+
|
|
210
|
+
### Project Management
|
|
211
|
+
|
|
212
|
+
| Profile | Adds | Skills | Agents |
|
|
213
|
+
|---------|------|--------|--------|
|
|
214
|
+
| `agile` | Sprints, standups, retros, estimates | 10 | management, product |
|
|
215
|
+
| `jira` | Jira via REST API — issues, sprints, boards | 3 | — |
|
|
216
|
+
| `clickup` | ClickUp via MCP — tasks, docs, time tracking | 3 | — |
|
|
217
|
+
| `integrations` | GitHub Projects, Slack, Postman | 3 | integrations |
|
|
218
|
+
|
|
219
|
+
### Business
|
|
220
|
+
|
|
221
|
+
| Profile | Adds | Skills | Agents |
|
|
222
|
+
|---------|------|--------|--------|
|
|
223
|
+
| `business` | Contracts, customer success, revenue ops, sales | 4 | business |
|
|
224
|
+
| `clevel` | C-suite advisors, board prep, strategic ops | 28 | clevel |
|
|
225
|
+
| `finance` | Investment analysis, financial modeling, SaaS metrics | 3 | business |
|
|
226
|
+
| `marketing` | Content, growth, SEO/CRO, strategy, analytics | 44 | marketing |
|
|
227
|
+
| `ecommerce` | Commerce end-to-end agnóstico de lenguaje — data model, checkout, inventario, órdenes, pagos, promociones, shipping/tax, listings, analytics, feeds, storefront, suscripciones | 12 | ecommerce |
|
|
228
|
+
| `regulatory` | ISO 13485, GDPR, FDA, SOC 2, ISMS, QMS, MDR | 13 | regulatory |
|
|
229
|
+
|
|
230
|
+
### Personal
|
|
231
|
+
|
|
232
|
+
| Profile | Adds | Skills | Agents |
|
|
233
|
+
|---------|------|--------|--------|
|
|
234
|
+
| `second-brain` | Second brain en Obsidian — captura sin fricción, reviews diario/semanal/mensual, notas atómicas y hub files (PARA + Zettelkasten), búsqueda con ranking, caché de contexto entre sesiones, auditoría de salud del vault, sintaxis nativa (markdown, Bases, Canvas) | 14 | — |
|
|
235
|
+
| `job-hunt` | Job search end-to-end — master profile, ATS CV with verification, job scraping with dedup, LinkedIn, portfolio, cover letters, outreach, interview prep, registry/CSV traceability, fresh-context review agents | 17 | career |
|
|
236
|
+
| `freelance` | Freelance projects — keyless public-source scanning with dedup, market rate intel, client risk screening, proposals priced above your net floor rate, contracts/SOWs, registry/CSV traceability, kickoff scope validation, delivery and change orders, acquisition-cost pipeline | 15 | freelance |
|
|
237
|
+
|
|
238
|
+
### Utilities
|
|
239
|
+
|
|
240
|
+
| Profile | Adds | Skills | Agents |
|
|
241
|
+
|---------|------|--------|--------|
|
|
242
|
+
| `docs` | PDF, PPTX, XLSX, DOCX, architecture decisions | 8 | — |
|
|
243
|
+
| `self-improving` | Agent self-improvement and skill extraction | 2 | — |
|
|
244
|
+
| `statusline` | Claude Code status bar (branch, division, session info) | 0 | — |
|
|
202
245
|
|
|
203
246
|
### Core (always included)
|
|
204
247
|
|
|
@@ -206,6 +249,42 @@ Once installed, manage the installation from within a Claude Code session:
|
|
|
206
249
|
|
|
207
250
|
---
|
|
208
251
|
|
|
252
|
+
## Recommended MCPs
|
|
253
|
+
|
|
254
|
+
Several profiles ship skills that drive an external tool over MCP. **Arcane does not bundle any
|
|
255
|
+
MCP server** — install the ones your stack needs and Claude Code connects to them.
|
|
256
|
+
|
|
257
|
+
### Game engines
|
|
258
|
+
|
|
259
|
+
| Engine | MCP server | Where it comes from | Wire it up with |
|
|
260
|
+
|--------|------------|---------------------|-----------------|
|
|
261
|
+
| **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` |
|
|
262
|
+
| **Unity** | [CoplayDev — MCP for Unity](https://github.com/CoplayDev/unity-mcp) | UPM package added to `Packages/manifest.json` | `/install-mcp unity` |
|
|
263
|
+
| **Unity** (alternative) | [CoderGamester — mcp-unity](https://github.com/CoderGamester/mcp-unity) | UPM package, opt-in | `/install-mcp unity --secondary` |
|
|
264
|
+
|
|
265
|
+
Both engines need the editor **open and running** for the server to answer — registering the
|
|
266
|
+
client does not start the server.
|
|
267
|
+
|
|
268
|
+
For Unreal, Epic also publishes a companion plugin:
|
|
269
|
+
[unreal-engine-skills-for-claude-code-plugin](https://github.com/EpicGames/unreal-engine-skills-for-claude-code-plugin).
|
|
270
|
+
It ships the in-editor skills that operate and extend the MCP (`unreal-mcp`, `create-toolset`,
|
|
271
|
+
`unreal-skill`), which Arcane deliberately does **not** duplicate — see `ATTRIBUTION.md`.
|
|
272
|
+
|
|
273
|
+
### Other integrations
|
|
274
|
+
|
|
275
|
+
| MCP server | Used by | Profile |
|
|
276
|
+
|------------|---------|---------|
|
|
277
|
+
| ClickUp | `/clickup` | `+clickup` |
|
|
278
|
+
| Figma | `/figma`, `/figma-to-code`, `/figma-tokens` | `+design` |
|
|
279
|
+
| Atlassian (Confluence) | `/confluence-expert`, `/atlassian-templates` | `+agile` |
|
|
280
|
+
| TestRail + BrowserStack | `/playwright-pro` (ships its own `.mcp.json`) | `+testing` |
|
|
281
|
+
|
|
282
|
+
`/jira-tickets` is the exception: it talks to the Jira REST API v3 over `curl`, not MCP.
|
|
283
|
+
|
|
284
|
+
Building your own server? `/mcp-server-builder` scaffolds one.
|
|
285
|
+
|
|
286
|
+
---
|
|
287
|
+
|
|
209
288
|
## Examples by Project
|
|
210
289
|
|
|
211
290
|
```bash
|
|
@@ -248,7 +327,7 @@ npx claude-code-arcane install backend-ts+agile+statusline
|
|
|
248
327
|
## Add/Remove Workflow
|
|
249
328
|
|
|
250
329
|
```bash
|
|
251
|
-
# Start with a
|
|
330
|
+
# Start with a profile
|
|
252
331
|
npx claude-code-arcane install backend-ts
|
|
253
332
|
|
|
254
333
|
# Later, add testing and security
|
|
@@ -351,11 +430,11 @@ claude-code-arcane/
|
|
|
351
430
|
│ ├── manifest.ts # Read/write arcane-manifest.json
|
|
352
431
|
│ ├── types.ts # TypeScript interfaces
|
|
353
432
|
│ └── utils.ts # Cross-platform helpers
|
|
354
|
-
├── skills/ #
|
|
355
|
-
├── profiles/ #
|
|
356
|
-
├── agents/ # 17 dirs,
|
|
357
|
-
├── hooks/ #
|
|
358
|
-
├── rules/ #
|
|
433
|
+
├── skills/ # 427 skills (flat, one dir per skill)
|
|
434
|
+
├── profiles/ # 38 profiles (YAML)
|
|
435
|
+
├── agents/ # 17 dirs, 109 agents (Markdown)
|
|
436
|
+
├── hooks/ # 17 lifecycle hooks (Bash)
|
|
437
|
+
├── rules/ # 28 rules (Markdown)
|
|
359
438
|
├── templates/ # Gamedev templates
|
|
360
439
|
├── docs/ # Documentation
|
|
361
440
|
└── skills-selftest/ # QA framework
|
|
@@ -376,3 +455,14 @@ claude-code-arcane/
|
|
|
376
455
|
- **OS:** Windows 10/11, macOS, Linux
|
|
377
456
|
- **Node:** 20+
|
|
378
457
|
- **Claude Code:** v1.0+
|
|
458
|
+
|
|
459
|
+
---
|
|
460
|
+
|
|
461
|
+
## Attribution
|
|
462
|
+
|
|
463
|
+
Arcane is MIT licensed (see `LICENSE`). The `ue-*` skills shipped by the `unreal-dev` profile
|
|
464
|
+
are derived from three upstream collections — [quodsoler/unreal-engine-skills](https://github.com/quodsoler/unreal-engine-skills)
|
|
465
|
+
(MIT), [EpicGames/unreal-engine-skills-for-claude-code-plugin](https://github.com/EpicGames/unreal-engine-skills-for-claude-code-plugin)
|
|
466
|
+
(MIT), and [gamedev-skills/awesome-gamedev-agent-skills](https://github.com/gamedev-skills/awesome-gamedev-agent-skills)
|
|
467
|
+
(Apache-2.0). See `ATTRIBUTION.md` for the per-skill provenance, the changes made, and the
|
|
468
|
+
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
|