claude-code-arcane 2.7.1 → 2.8.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 (151) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/README.md +1 -1
  3. package/agents/ai/ai-architect.md +1 -1
  4. package/agents/ai/data-engineer.md +1 -1
  5. package/agents/ai/data-scientist.md +1 -1
  6. package/agents/ai/ml-engineer.md +1 -1
  7. package/agents/audio/audio-director.md +32 -40
  8. package/agents/audio/audio-programmer.md +32 -45
  9. package/agents/audio/audio-qa.md +36 -47
  10. package/agents/audio/composer.md +32 -42
  11. package/agents/audio/technical-sound-designer.md +32 -43
  12. package/agents/audio/voice-director.md +33 -42
  13. package/agents/business/business-ops-lead.md +1 -0
  14. package/agents/business/financial-analyst.md +1 -0
  15. package/agents/business/sales-engineer.md +1 -0
  16. package/agents/career/career-strategist.md +1 -1
  17. package/agents/career/cv-reviewer.md +1 -1
  18. package/agents/career/hiring-manager.md +1 -1
  19. package/agents/career/mock-interviewer.md +1 -1
  20. package/agents/clevel/ceo-advisor.md +2 -2
  21. package/agents/clevel/cfo-advisor.md +2 -2
  22. package/agents/clevel/chief-of-staff.md +2 -2
  23. package/agents/clevel/cmo-advisor.md +2 -2
  24. package/agents/clevel/coo-advisor.md +2 -2
  25. package/agents/clevel/cto-advisor.md +2 -2
  26. package/agents/devops/cloud-architect.md +2 -3
  27. package/agents/devops/devops-engineer.md +48 -0
  28. package/agents/devops/platform-lead.md +2 -3
  29. package/agents/devops/sre-lead.md +2 -3
  30. package/agents/ecommerce/ecommerce-architect.md +1 -0
  31. package/agents/engineering/android-engineer.md +1 -0
  32. package/agents/engineering/backend-architect.md +3 -4
  33. package/agents/engineering/chief-technology-officer.md +53 -0
  34. package/agents/engineering/database-architect.md +2 -3
  35. package/agents/engineering/dotnet-engineer.md +2 -1
  36. package/agents/engineering/e2e-tester.md +2 -1
  37. package/agents/engineering/flutter-engineer.md +1 -0
  38. package/agents/engineering/frontend-architect.md +3 -4
  39. package/agents/engineering/go-engineer.md +2 -1
  40. package/agents/engineering/ios-engineer.md +1 -0
  41. package/agents/engineering/mobile-lead.md +59 -0
  42. package/agents/engineering/nestjs-engineer.md +2 -1
  43. package/agents/engineering/nextjs-engineer.md +2 -1
  44. package/agents/engineering/nextjs-reviewer.md +4 -3
  45. package/agents/engineering/node-engineer.md +2 -1
  46. package/agents/engineering/react-engineer.md +2 -1
  47. package/agents/engineering/react-native-engineer.md +2 -1
  48. package/agents/engineering/sql-specialist.md +3 -2
  49. package/agents/engineering/vp-engineering.md +54 -0
  50. package/agents/freelance/client-screener.md +1 -1
  51. package/agents/freelance/discovery-call.md +1 -1
  52. package/agents/freelance/pipeline-strategist.md +1 -1
  53. package/agents/freelance/proposal-reviewer.md +1 -1
  54. package/agents/game/accessibility-specialist.md +39 -51
  55. package/agents/game/ai-programmer.md +32 -44
  56. package/agents/game/analytics-engineer.md +32 -44
  57. package/agents/game/art-director.md +1 -0
  58. package/agents/game/creative-director.md +48 -0
  59. package/agents/game/economy-designer.md +35 -60
  60. package/agents/game/game-designer.md +1 -0
  61. package/agents/game/gameplay-programmer.md +32 -46
  62. package/agents/game/lead-programmer.md +2 -1
  63. package/agents/game/level-designer.md +35 -60
  64. package/agents/game/live-ops-designer.md +36 -56
  65. package/agents/game/narrative-director.md +1 -0
  66. package/agents/game/network-programmer.md +32 -44
  67. package/agents/game/performance-analyst.md +32 -44
  68. package/agents/game/producer.md +50 -0
  69. package/agents/game/qa-lead.md +3 -2
  70. package/agents/game/qa-tester-gamedev.md +33 -45
  71. package/agents/game/release-manager.md +2 -1
  72. package/agents/game/sound-designer.md +33 -45
  73. package/agents/game/systems-designer.md +35 -60
  74. package/agents/game/technical-artist.md +32 -44
  75. package/agents/game/technical-director.md +2 -1
  76. package/agents/game/ue-blueprint-specialist.md +36 -48
  77. package/agents/game/ue-gas-specialist.md +36 -48
  78. package/agents/game/ue-replication-specialist.md +36 -48
  79. package/agents/game/ue-umg-specialist.md +36 -48
  80. package/agents/game/unity-shader-specialist.md +36 -48
  81. package/agents/game/unity-specialist.md +36 -51
  82. package/agents/game/unreal-specialist.md +36 -48
  83. package/agents/game/ux-designer.md +35 -55
  84. package/agents/game/world-builder.md +35 -60
  85. package/agents/game/writer.md +32 -50
  86. package/agents/integrations/api-tools-specialist.md +2 -2
  87. package/agents/integrations/comms-tools-specialist.md +2 -2
  88. package/agents/integrations/design-tools-specialist.md +53 -7
  89. package/agents/integrations/docs-tools-specialist.md +18 -2
  90. package/agents/integrations/integrations-architect.md +2 -2
  91. package/agents/integrations/project-tools-specialist.md +18 -2
  92. package/agents/management/delivery-manager.md +2 -1
  93. package/agents/management/program-director.md +2 -1
  94. package/agents/management/project-manager.md +2 -2
  95. package/agents/management/scrum-master.md +2 -2
  96. package/agents/marketing/content-lead.md +1 -0
  97. package/agents/marketing/growth-lead.md +1 -0
  98. package/agents/marketing/marketing-analyst.md +1 -0
  99. package/agents/marketing/marketing-director.md +1 -0
  100. package/agents/marketing/seo-lead.md +1 -0
  101. package/agents/product/chief-product-officer.md +1 -0
  102. package/agents/product/design-system-lead.md +3 -3
  103. package/agents/product/product-manager.md +2 -2
  104. package/agents/product/ui-lead.md +2 -4
  105. package/agents/product/ux-lead.md +2 -5
  106. package/agents/quality/qa-director.md +2 -5
  107. package/agents/quality/qa-engineer.md +1 -0
  108. package/agents/quality/security-architect.md +2 -5
  109. package/agents/regulatory/compliance-officer.md +1 -0
  110. package/agents/regulatory/quality-manager.md +1 -0
  111. package/agents/regulatory/regulatory-director.md +1 -0
  112. package/agents/visualnovel/vn-comfyui-artist.md +35 -14
  113. package/agents/visualnovel/vn-narrative-director.md +36 -30
  114. package/agents/visualnovel/vn-producer.md +36 -12
  115. package/agents/visualnovel/vn-renpy-developer.md +34 -12
  116. package/agents/visualnovel/vn-scene-director.md +34 -9
  117. package/agents/visualnovel/vn-ui-designer.md +36 -20
  118. package/dist/cli.js +366 -316
  119. package/docs/USER-GUIDE.md +26 -1
  120. package/docs/agent-hierarchy.md +42 -2
  121. package/docs/collaborative-design.md +2 -1
  122. package/docs/directory-structure.md +18 -13
  123. package/package.json +1 -1
  124. package/profiles/backend-go.yaml +1 -0
  125. package/profiles/docs.yaml +0 -2
  126. package/profiles/security.yaml +1 -1
  127. package/profiles/unity-design.yaml +2 -0
  128. package/profiles/unity-dev.yaml +2 -0
  129. package/profiles/unreal-dev.yaml +1 -0
  130. package/profiles/visual-novel.yaml +1 -0
  131. package/skills/architecture-review/SKILL.md +1 -0
  132. package/skills/balance-check/SKILL.md +1 -0
  133. package/skills/code-review/SKILL.md +49 -16
  134. package/skills/create-epics/SKILL.md +2 -1
  135. package/skills/create-stories/SKILL.md +5 -4
  136. package/skills/database-indexing/SKILL.md +2 -1
  137. package/skills/help/SKILL.md +6 -2
  138. package/skills/hotfix/SKILL.md +11 -3
  139. package/skills/patch-notes/SKILL.md +2 -1
  140. package/skills/perf-profile/SKILL.md +0 -1
  141. package/skills/prototype/SKILL.md +0 -2
  142. package/skills/qa-plan/SKILL.md +2 -1
  143. package/skills/retrospective/SKILL.md +4 -2
  144. package/skills/security-audit/SKILL.md +2 -1
  145. package/skills/skill-auditor/SKILL.md +16 -4
  146. package/skills/skill-auditor/references/frontmatter-spec.md +93 -86
  147. package/skills/slo-sli/SKILL.md +2 -2
  148. package/skills/sprint-plan/SKILL.md +4 -2
  149. package/skills/story-readiness/SKILL.md +1 -1
  150. package/skills/ux-design/SKILL.md +2 -1
  151. package/skills/ux-review/SKILL.md +2 -1
@@ -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 **437 skills**, **109 agents**, **17 hooks**, and **30 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.
5
+ Arcane is a configuration harness for [Claude Code](https://docs.anthropic.com/en/docs/claude-code). It provides a curated library of **437 skills**, **115 agents**, **17 hooks**, and **30 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
 
@@ -392,6 +392,31 @@ my-project/.claude/
392
392
  └── docs/ # General documentation
393
393
  ```
394
394
 
395
+ ### Qué agentes instala un profile
396
+
397
+ La lista `agents:` de un profile acepta dos formas:
398
+
399
+ ```yaml
400
+ agents:
401
+ - game # la división entera: 30 agentes
402
+ - quality/security-architect # solo ese agente
403
+ ```
404
+
405
+ La forma por división es la original y sigue siendo el default. La granular
406
+ existe porque **las divisiones son temáticas, no funcionales**: `qa-lead`,
407
+ `ux-designer` y `performance-analyst` viven en `game/` y los quieren profiles
408
+ que no tienen nada de gamedev. Antes la única manera de alcanzar uno era
409
+ instalar los 30 — justo el peso que los profiles existen para evitar.
410
+
411
+ Reglas:
412
+
413
+ - Si un profile ya trae la división entera, una entrada granular de esa misma
414
+ división es un no-op, no una segunda copia.
415
+ - Al desinstalar, una entrada granular borra solo su archivo, y se lleva el
416
+ directorio de la división únicamente si queda vacío.
417
+ - Si otro profile activo declara la división completa, esa gana: la entrada
418
+ granular no borra nada, porque rompería al otro profile.
419
+
395
420
  ### settings.json
396
421
 
397
422
  Generated automatically with merged permissions from all selected profiles. Includes:
@@ -21,7 +21,14 @@ Cada división sigue una jerarquía de estudio real con 3 niveles de autoridad:
21
21
 
22
22
  ---
23
23
 
24
- ## Roster Completo (143 Agentes)
24
+ ## Roster Completo (115 Agentes)
25
+
26
+ > Los 109 agentes de abajo son los que existen en `agents/`. El roster
27
+ > original de este documento listaba 143, de los cuales se implementaron
28
+ > 109: los 34 restantes generaban delegaciones a agentes inexistentes.
29
+ > `src/__tests__/agents-integrity.test.ts` verifica que cada delegacion
30
+ > resuelva, asi que agregar un nombre aca sin crear el archivo rompe el
31
+ > build.
25
32
 
26
33
  ### División 1 — Game Development Studio (44)
27
34
 
@@ -150,4 +157,37 @@ Se lanzan desde los skills de `+freelance`. `client-screener` y `proposal-review
150
157
  3. **Lead de una división → Lead de otra división** (para colaboración cross-area)
151
158
  4. **Director → Director** (para conflictos estratégicos)
152
159
 
153
- **Los agentes NUNCA escriben a archivos directamente.** Todos los writes los hace la main session después de que el agente devuelve análisis/propuestas al usuario.
160
+ ## Consultores y ejecutores
161
+
162
+ Cada agente es una de dos cosas, nunca las dos. La distinción no es de estilo:
163
+ **un subagente no puede hacer preguntas.** `AskUserQuestion` no está en su pool
164
+ de tools y su única salida es el reporte final al parent. Un agente con
165
+ `Write`/`Edit` y la instrucción de pedir aprobación antes de escribir lee,
166
+ formula sus preguntas, no tiene a quién hacérselas, devuelve texto y no toca un
167
+ archivo. Ese fue el bug: 46 de 109 agentes estaban en esa situación.
168
+
169
+ ### Consultores (15) - read-only por diseño
170
+
171
+ `career/` (4), `freelance/` (4), `clevel/` (6) y `engineering/nextjs-reviewer`.
172
+
173
+ Existen para dar una lectura independiente: el que escribió el CV no lo puede
174
+ revisar, y el que redactó la propuesta está convencido de su propio texto.
175
+ Declaran `tools` sin `Write`/`Edit` y `disallowedTools: Bash, Write, Edit`.
176
+ Read-only por diseño, no por precaución.
177
+
178
+ ### Ejecutores (94) - escriben
179
+
180
+ Todo el resto. Declaran `permissionMode: acceptEdits`, que es el campo oficial
181
+ que deja al subagente escribir sin gate interactivo.
182
+
183
+ Su protocolo no es "preguntá y esperá" sino **declará el supuesto y seguí**:
184
+ ante una ambigüedad eligen la opción más consistente con el código existente,
185
+ la anotan en el reporte en una línea que empieza con `ASSUMPTION:` para que el
186
+ caller pueda grepearla y contradecirla, y avanzan. La disciplina de leer el
187
+ diseño antes de escribir se mantiene; lo que se eliminó es la espera imposible.
188
+
189
+ ### Quién aplica los cambios
190
+
191
+ El ejecutor escribe sus propios archivos. La main session sigue siendo la que
192
+ decide *a quién* invocar y la que integra los resultados, pero ya no es el
193
+ único camino a disco.
@@ -434,6 +434,7 @@ Si alguno es "no" → el agente no fue lo suficientemente colaborativo.
434
434
  Este principio debe estar embebido en:
435
435
 
436
436
  - **CLAUDE.md** — sección de collaboration protocol
437
- - **Todos los agents** — enforce question-asking antes de Write/Edit
437
+ - **Skills y main session** — enforce question-asking antes de Write/Edit
438
+ - **Subagentes ejecutores** — NO pueden preguntar (`AskUserQuestion` no está en su pool). Declaran el supuesto con `ASSUMPTION:` en el reporte y avanzan. Ver `agent-hierarchy.md` § Consultores y ejecutores.
438
439
  - **Todos los skills** — require approval antes de escribir
439
440
  - **Team orchestrators** — decision points entre fases
@@ -27,19 +27,24 @@ Claude-Code-Arcane/
27
27
  │ ├── regulatory.profile # Add-on: Regulatory & compliance
28
28
  │ └── ... # agile, testing, infra, security, etc.
29
29
  │
30
- ├── agents/ # 80 agent definitions (root level)
31
- │ ├── game/ # División 1 — Game Dev (27 agents)
32
- │ ├── engineering/ # División 2 — Software Eng (14 agents)
33
- │ ├── devops/ # División 3 — DevOps (3 agents)
34
- │ ├── product/ # División 4 — Product & Design (5 agents)
35
- │ ├── management/ # División 5 — PMO (4 agents)
36
- │ ├── quality/ # División 6 — Quality & Security (3 agents)
37
- │ ├── integrations/ # División 8 — Tools & Integrations (6 agents)
38
- │ ├── ai/ # División 9 — AI & Data Science (4 agents)
39
- │ ├── clevel/ # División 10 — C-Suite Advisory (6 agents)
40
- │ ├── business/ # División 11 — Business & Finance (3 agents)
41
- │ ├── marketing/ # División 12 — Marketing (5 agents)
42
- │ └── regulatory/ # División 13 — Regulatory (3 agents)
30
+ ├── agents/ # 115 agent definitions (root level)
31
+ │ ├── ai/ # 4 agents
32
+ │ ├── audio/ # 6 agents
33
+ │ ├── business/ # 3 agents
34
+ │ ├── career/ # 4 agents
35
+ │ ├── clevel/ # 6 agents
36
+ │ ├── devops/ # 4 agents
37
+ │ ├── ecommerce/ # 1 agent
38
+ │ ├── engineering/ # 19 agents
39
+ │ ├── freelance/ # 4 agents
40
+ │ ├── game/ # 32 agents
41
+ │ ├── integrations/ # 6 agents
42
+ │ ├── management/ # 4 agents
43
+ │ ├── marketing/ # 5 agents
44
+ │ ├── product/ # 5 agents
45
+ │ ├── quality/ # 3 agents
46
+ │ ├── regulatory/ # 3 agents
47
+ │ └── visualnovel/ # 6 agents
43
48
  │
44
49
  ├── .claude/ # Claude Code configuration
45
50
  │ ├── settings.json # Hooks, permissions, safety
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claude-code-arcane",
3
- "version": "2.7.1",
3
+ "version": "2.8.0",
4
4
  "description": "Skills, agents, hooks and rules for Claude Code — installable via npx claude-code-arcane",
5
5
  "type": "module",
6
6
  "bin": {
@@ -46,6 +46,7 @@ rules:
46
46
 
47
47
  agents:
48
48
  - engineering
49
+ - quality/security-architect
49
50
 
50
51
  permissions:
51
52
  allow:
@@ -8,8 +8,6 @@ skills:
8
8
  - xlsx-generator
9
9
  - docx-generator
10
10
  - architecture-decision
11
- - architecture-review
12
-
13
11
  rules:
14
12
  universal:
15
13
  []
@@ -21,7 +21,7 @@ rules:
21
21
  []
22
22
 
23
23
  agents:
24
- []
24
+ - quality/security-architect
25
25
 
26
26
  permissions:
27
27
  allow:
@@ -20,6 +20,7 @@ skills:
20
20
  - playtest-report
21
21
  - consistency-check
22
22
  - asset-audit
23
+ - architecture-review
23
24
 
24
25
  rules:
25
26
  universal:
@@ -30,6 +31,7 @@ rules:
30
31
 
31
32
  agents:
32
33
  - game
34
+ - product/ux-lead
33
35
 
34
36
  permissions:
35
37
  allow:
@@ -23,6 +23,7 @@ skills:
23
23
  - consistency-check
24
24
  - doc-gdd
25
25
  - playtest-report
26
+ - architecture-review
26
27
 
27
28
  rules:
28
29
  universal:
@@ -37,6 +38,7 @@ rules:
37
38
 
38
39
  agents:
39
40
  - game
41
+ - quality/security-architect
40
42
 
41
43
  permissions:
42
44
  allow:
@@ -3,6 +3,7 @@ description: "Programador Unreal Engine 5 — C++, Blueprints, GAS, replication,
3
3
  category: gamedev
4
4
 
5
5
  skills:
6
+ - architecture-review
6
7
  # Foundation — read this first, every other ue-* skill depends on it
7
8
  - ue-project-context
8
9
  - ue-naming-conventions
@@ -20,6 +20,7 @@ skills:
20
20
  - asset-spec
21
21
  - playtest-report
22
22
  - balance-check
23
+ - architecture-review
23
24
 
24
25
  rules:
25
26
  universal:
@@ -5,6 +5,7 @@ category: "workflow"
5
5
  argument-hint: "[focus: full | coverage | consistency | engine | single-gdd path | rtm]"
6
6
  user-invocable: true
7
7
  allowed-tools: Read, Glob, Grep, Write, Task, AskUserQuestion
8
+ context: fork
8
9
  agent: technical-director
9
10
  model: opus
10
11
  ---
@@ -5,6 +5,7 @@ category: "gamedev"
5
5
  argument-hint: "[system-name|path-to-data-file]"
6
6
  user-invocable: true
7
7
  allowed-tools: Read, Glob, Grep
8
+ context: fork
8
9
  agent: economy-designer
9
10
  ---
10
11
 
@@ -1,20 +1,34 @@
1
1
  ---
2
2
  name: code-review
3
- description: "Architectural and quality code review: standards compliance, SOLID principles, testability, performance."
3
+ description: "Architectural and quality code review: standards compliance, SOLID principles, testability, performance. Usar para revisar un archivo o directorio antes de mergear, o cuando se pide code review."
4
4
  category: "workflow"
5
5
  argument-hint: "[path-to-file-or-directory]"
6
6
  user-invocable: true
7
7
  allowed-tools: Read, Glob, Grep, Bash, Task
8
- agent: lead-programmer
9
8
  ---
10
9
 
11
10
  ## Phase 1: Load Target Files
12
11
 
13
12
  Read target file(s) in full. Read CLAUDE.md for project coding standards.
14
13
 
15
- ## Phase 2: Identify Engine Specialists
14
+ ## Phase 2: Resolve which specialists exist
16
15
 
17
- Read `.claude/docs/technical-preferences.md` → `## Engine Specialists`. Note Primary, Language/Code, Shader, UI specialists. If `[TO BE CONFIGURED]` → skip engine specialist steps.
16
+ **Do not invent specialist names.** List what is actually installed:
17
+
18
+ !`ls .claude/agents/*/ 2>/dev/null | sed 's/\.md$//' | tr '\n' ' ' || echo "NO-AGENTS-INSTALLED"`
19
+
20
+ Rules:
21
+
22
+ - Only spawn an agent whose file appeared in that listing. A `Task` call naming
23
+ an agent that is not installed does not fail loudly - it falls back to a
24
+ general-purpose agent with no specialised prompt, which reads broadly, burns
25
+ its turn budget, and returns a generic summary. That is worse than not
26
+ spawning at all.
27
+ - If the listing is empty or `NO-AGENTS-INSTALLED`, **skip Phase 7 entirely**
28
+ and do the whole review inline. Say so in the report.
29
+ - Match by role, not by guess: a reviewer for the stack under review
30
+ (`react-engineer`, `go-engineer`, `nestjs-engineer`, `unity-specialist`,
31
+ `unreal-specialist`…), plus `qa-engineer` for testability when installed.
18
32
 
19
33
  ## Phase 3: ADR Compliance Check
20
34
 
@@ -30,34 +44,53 @@ Per referenced ADR, read Decision + Consequences sections, classify deviations:
30
44
 
31
45
  ## Phase 4: Standards Compliance
32
46
 
33
- Identify system category (engine, gameplay, AI, networking, UI, tools). Check: doc comments on public methods, cyclomatic complexity <10/method, methods ≤40 lines, DI (no static singletons), config from data files, interfaces exposed.
47
+ Identify system category from the code under review. Check: doc comments on public methods, cyclomatic complexity <10/method, methods ≤40 lines, DI (no static singletons), config from data files, interfaces exposed.
34
48
 
35
49
  ## Phase 5: Architecture and SOLID
36
50
 
37
51
  - **Architecture**: correct dependency direction, no circular deps, proper layer separation, events for cross-system communication, consistent patterns
38
52
  - **SOLID**: SRP, OCP, LSP, ISP, DIP — check each principle
39
53
 
40
- ## Phase 6: Game-Specific Concerns
54
+ ## Phase 6: Runtime-loop concerns — only for game/realtime projects
55
+
56
+ **Skip this phase unless the project actually has a frame loop.** Signal: a
57
+ Unity, Unreal or Godot project file, or a render/tick loop in the code under
58
+ review. On a backend or web project this phase produces noise, not findings.
41
59
 
42
- Frame-rate independence (delta time), no allocations in hot paths, null/empty handling, thread safety, resource cleanup.
60
+ When it applies: frame-rate independence (delta time), no allocations in hot
61
+ paths, null/empty handling, thread safety, resource cleanup.
43
62
 
44
63
  ## Phase 7: Specialist Reviews (Parallel)
45
64
 
46
- Spawn applicable specialists via Task simultaneously:
47
- - Primary language files → Language/Code Specialist
48
- - Shader files → Shader Specialist
49
- - UI code → UI Specialist
50
- - Cross-cutting → Primary Specialist
65
+ Only if Phase 2 found installed agents. **At most 3 in parallel** — beyond that
66
+ the wall-clock cost outweighs the extra coverage.
51
67
 
52
- ### QA Testability Review
68
+ | Trigger in the diff | Spawn (only if installed) |
69
+ |---------------------|---------------------------|
70
+ | Primary language of the changed files | the matching `*-engineer` / `*-specialist` |
71
+ | Shader / material files | `unity-shader-specialist` or `technical-artist` |
72
+ | UI / component code | `ui-lead` or `ue-umg-specialist` |
73
+ | Test or testability questions | `qa-engineer` |
53
74
 
54
- For Logic/Integration stories, spawn `qa-tester` in parallel. Evaluate: test hooks exposed, QA test cases map to code paths, acceptance criteria testable, new edge cases covered, side effects tested. For Visual/UI stories: verify manual steps are reachable.
75
+ Give each one the file list and the specific question. Do **not** ask an agent
76
+ to "review this" — ask what you actually need decided.
77
+
78
+ ### Testability review
79
+
80
+ When `qa-engineer` is installed, ask it: are test hooks exposed, do test cases
81
+ map to code paths, are acceptance criteria testable, are new edge cases and
82
+ side effects covered. For visual/UI changes: are the manual steps reachable.
55
83
 
56
84
  ## Phase 8: Output Review
57
85
 
58
- Report sections: Engine Specialist Findings, Testability, ADR Compliance, Standards Compliance (X/6), Architecture, SOLID, Game-Specific Concerns, Positive Observations, Required Changes (violations always here), Suggestions. Verdict: APPROVED / APPROVED WITH SUGGESTIONS / CHANGES REQUIRED.
86
+ Report sections: Specialist Findings (name which agents ran, and say plainly if
87
+ none were installed), Testability, ADR Compliance, Standards Compliance (X/6),
88
+ Architecture, SOLID, Runtime-loop Concerns (omit if skipped), Positive
89
+ Observations, Required Changes (violations always here), Suggestions.
90
+
91
+ Verdict: APPROVED / APPROVED WITH SUGGESTIONS / CHANGES REQUIRED.
59
92
 
60
- This skill is read-only.
93
+ This skill is read-only: it writes no files. The report is the deliverable.
61
94
 
62
95
  ## Phase 9: Next Steps
63
96
 
@@ -5,7 +5,8 @@ category: "agile"
5
5
  argument-hint: "[system-name | layer: foundation|core|feature|presentation | all] [--review full|lean|solo]"
6
6
  user-invocable: true
7
7
  allowed-tools: Read, Glob, Grep, Write, Task, AskUserQuestion
8
- agent: technical-director
8
+ context: fork
9
+ agent: product-manager
9
10
  ---
10
11
  # Create Epics
11
12
 
@@ -5,7 +5,8 @@ category: "agile"
5
5
  argument-hint: "[epic-slug | epic-path] [--review full|lean|solo]"
6
6
  user-invocable: true
7
7
  allowed-tools: Read, Glob, Grep, Write, Task, AskUserQuestion
8
- agent: lead-programmer
8
+ context: fork
9
+ agent: product-manager
9
10
  ---
10
11
  # Create Stories
11
12
 
@@ -41,7 +42,7 @@ For each GDD AC: group related criteria → each group = one story. Order: found
41
42
 
42
43
  ### 4b. QA Lead Gate (full mode only)
43
44
 
44
- Solo/lean → skip. Full → spawn `qa-lead` gate QL-STORY-READY with story list + ACs + types + TR-IDs. Revise until ADEQUATE. Then qa-lead produces test case specs per story:
45
+ Solo/lean → skip. Full → spawn `qa-director` gate QL-STORY-READY with story list + ACs + types + TR-IDs. Revise until ADEQUATE. Then `qa-director` produces test case specs per story:
45
46
 
46
47
  - **Logic/Integration:** Given/When/Then + edge cases per AC
47
48
  - **Visual/UI:** Setup/Verify/Pass condition per AC
@@ -54,13 +55,13 @@ Show full story list (title, type, ADR, TR-IDs covered, test required) before wr
54
55
 
55
56
  ## 6. Write Story Files
56
57
 
57
- Each story file includes: header (epic, status, layer, type, manifest version), context (GDD path, TR-ID, ADR + decision summary, engine risk + notes, manifest rules), acceptance criteria (from GDD), implementation notes (from ADR), out of scope, QA test cases (from qa-lead), test evidence (required path by type + status), dependencies (depends on / unlocks).
58
+ Each story file includes: header (epic, status, layer, type, manifest version), context (GDD path, TR-ID, ADR + decision summary, engine risk + notes, manifest rules), acceptance criteria (from GDD), implementation notes (from ADR), out of scope, QA test cases (from qa-director), test evidence (required path by type + status), dependencies (depends on / unlocks).
58
59
 
59
60
  Also update EPIC.md with populated stories table.
60
61
 
61
62
  ### 4b. Producer Epic Gate (full mode only)
62
63
 
63
- Solo/lean → skip. Full → spawn `producer` gate PR-EPIC before writing.
64
+ Solo/lean → skip. Full → spawn `delivery-manager` gate PR-EPIC before writing.
64
65
 
65
66
  ## 7. After Writing
66
67
 
@@ -2,10 +2,11 @@
2
2
  name: database-indexing
3
3
  description: "PostgreSQL indexing: B-tree, GIN, GiST, composite, partial, covering, CONCURRENTLY, bloat detection."
4
4
  category: "database"
5
- stack: PostgreSQL 15+
6
5
  argument-hint: "[analyze|create|drop] [table]"
7
6
  user-invocable: true
8
7
  allowed-tools: Read, Glob, Grep, Bash, Write, Edit, Task
8
+ metadata:
9
+ stack: PostgreSQL 15+
9
10
  ---
10
11
  # Database Indexing (PostgreSQL)
11
12
 
@@ -5,13 +5,17 @@ category: "workflow"
5
5
  argument-hint: "[optional: what you just finished, e.g. 'finished design-review' or 'stuck on ADRs']"
6
6
  user-invocable: true
7
7
  allowed-tools: Read, Glob, Grep
8
- context: |
9
- !echo "=== Live Project State ===" && echo "Stage: $(cat production/stage.txt 2>/dev/null | tr -d '[:space:]' || echo 'not set')" && echo "Latest sprint: $(ls -t production/sprints/*.md 2>/dev/null | head -1 || echo 'none')" && echo "Session state: $(head -5 production/session-state/active.md 2>/dev/null || echo 'none')"
10
8
  model: haiku
11
9
  ---
12
10
 
13
11
  # Studio Help — What Do I Do Next?
14
12
 
13
+ ## Live Project State
14
+
15
+ - Stage: !`cat production/stage.txt 2>/dev/null | tr -d '[:space:]' || echo 'not set'`
16
+ - Latest sprint: !`ls -t production/sprints/*.md 2>/dev/null | head -1 || echo 'none'`
17
+ - Session state: !`head -5 production/session-state/active.md 2>/dev/null || echo 'none'`
18
+
15
19
  Read-only skill — reports findings, writes no files. Lightweight orientation; for full gap analysis use `/project-stage-detect`.
16
20
 
17
21
  ## Step 1: Read Catalog + Find Uncataloged Skills
@@ -19,7 +19,7 @@ allowed-tools: Read, Glob, Grep, Write, Edit, Bash, Task
19
19
 
20
20
  ## Phase 2: Create Hotfix Record
21
21
 
22
- Draft record with: short description, date, severity, reporter, status IN PROGRESS, sections for Problem (player impact), Root Cause (fill during investigation), Fix (fill during implementation), Testing, Approvals (lead-programmer, qa-tester, producer checkboxes), Rollback Plan.
22
+ Draft record with: short description, date, severity, reporter, status IN PROGRESS, sections for Problem (player impact), Root Cause (fill during investigation), Fix (fill during implementation), Testing, Approvals (qa-engineer, qa-director, delivery-manager checkboxes), Rollback Plan.
23
23
 
24
24
  Ask to write to `production/hotfixes/hotfix-[date]-[short-name].md`.
25
25
 
@@ -33,11 +33,19 @@ Minimal change only — NO refactoring, cleanup, or features alongside. Run targ
33
33
 
34
34
  ## Phase 5: Collect Approvals (Parallel)
35
35
 
36
- Spawn via Task: `lead-programmer` (correctness/side effects), `qa-tester` (regression tests), `producer` (deploy timing/comms). All three must APPROVE before proceeding.
36
+ Spawn via Task, **only the ones installed in `.claude/agents/`** (check first: an uninstalled name falls back to a general-purpose agent that reads broadly and returns nothing useful):
37
+
38
+ | Agent | Question to ask it |
39
+ |-------|--------------------|
40
+ | `qa-engineer` | correctness and side effects of the fix |
41
+ | `qa-director` | regression scope: what else must be re-tested |
42
+ | `delivery-manager` | deploy timing and comms |
43
+
44
+ Every agent that ran must APPROVE before proceeding. If none is installed, do the three checks inline and record that in the hotfix record instead of claiming approvals that never happened.
37
45
 
38
46
  ## Phase 5b: QA Re-Entry Gate
39
47
 
40
- Spawn `qa-lead` with hotfix description, affected system, regression results, caller list (grep).
48
+ Spawn `qa-director` (or `qa-engineer` if that is what is installed) with hotfix description, affected system, regression results, caller list (grep).
41
49
 
42
50
  | QA Verdict | Action |
43
51
  |------------|--------|
@@ -6,7 +6,8 @@ argument-hint: "[version] [--style brief|detailed|full]"
6
6
  user-invocable: true
7
7
  allowed-tools: Read, Glob, Grep, Write, Bash
8
8
  model: haiku
9
- agent: community-manager
9
+ context: fork
10
+ agent: release-manager
10
11
  ---
11
12
 
12
13
  ## Phase 1: Parse Arguments
@@ -4,7 +4,6 @@ description: "Performance profiling workflow: identify bottlenecks, measure agai
4
4
  category: "testing"
5
5
  argument-hint: "[system-name or 'full']"
6
6
  user-invocable: true
7
- agent: performance-analyst
8
7
  allowed-tools: Read, Glob, Grep, Bash
9
8
  ---
10
9
 
@@ -5,8 +5,6 @@ category: "design"
5
5
  argument-hint: "[concept-description] [--review full|lean|solo]"
6
6
  user-invocable: true
7
7
  allowed-tools: Read, Glob, Grep, Write, Edit, Bash, Task
8
- agent: prototyper
9
- isolation: worktree
10
8
  ---
11
9
 
12
10
  ## Phase 1: Define the Question
@@ -5,7 +5,8 @@ category: "testing"
5
5
  argument-hint: "[sprint | feature: system-name | story: path]"
6
6
  user-invocable: true
7
7
  allowed-tools: Read, Glob, Grep, Write, AskUserQuestion
8
- agent: qa-lead
8
+ context: fork
9
+ agent: qa-director
9
10
  ---
10
11
 
11
12
  # QA Plan
@@ -5,9 +5,11 @@ category: "agile"
5
5
  argument-hint: "[sprint-N|milestone-name]"
6
6
  user-invocable: true
7
7
  allowed-tools: Read, Glob, Grep, Write
8
- context: |
9
- !git log --oneline --since="2 weeks ago" 2>/dev/null
10
8
  ---
9
+ ## Commits de las ultimas 2 semanas
10
+
11
+ !`git log --oneline --since="2 weeks ago" 2>/dev/null || echo "sin commits"`
12
+
11
13
  ## Phase 1: Parse & Check Existing
12
14
 
13
15
  Determine scope: sprint (`sprint-N`) or milestone. Check for existing retro (`production/retrospectives/retro-[slug]-*.md` or `production/sprints/sprint-[N]-retrospective.md`). If found → offer update existing or start fresh.
@@ -5,7 +5,8 @@ category: "security"
5
5
  argument-hint: "[full | network | save | input | quick]"
6
6
  user-invocable: true
7
7
  allowed-tools: Read, Glob, Grep, Bash, Write, Task
8
- agent: security-engineer
8
+ context: fork
9
+ agent: security-architect
9
10
  ---
10
11
 
11
12
  # Security Audit
@@ -38,7 +38,19 @@ Parse the YAML block between `---` markers. Check against our spec (see `referen
38
38
  | `user-invocable` | yes | present, boolean |
39
39
  | `allowed-tools` | yes | present, comma-separated list of valid tool names |
40
40
 
41
- Flag **alirezarezvani format** if frontmatter contains `license`, `metadata`, `version`, `author`, or `updated` fields -- these need conversion.
41
+ Flag **legacy imported format** if frontmatter contains `version`, `author`, `updated`, `python-tools`, or `tech-stack` -- these need conversion.
42
+
43
+ Do NOT flag `license` or `metadata`: both are official Claude Code fields. `metadata` is a free-form map that Claude Code deliberately ignores, and it is the correct home for repo-local keys.
44
+
45
+ Also check the `agent:` / `context:` pair:
46
+
47
+ | Check | Fail condition |
48
+ |-------|----------------|
49
+ | `agent:` needs `context: fork` | `agent:` present without `context: fork` -- the field is inert |
50
+ | `context:` value | any value other than `fork` |
51
+ | `agent:` target exists | the named agent has no file in `agents/` |
52
+ | `agent:` reachable | a profile shipping this skill does not install the agent's division |
53
+ | unknown field | any key outside the official list plus `category` |
42
54
 
43
55
  ### 1.2 Measure weight
44
56
 
@@ -77,7 +89,7 @@ Compute grade from checks:
77
89
  | **A** | All 5 frontmatter fields correct, <= 200 lines, 2+ sections, no hallucinations |
78
90
  | **B** | Frontmatter complete but minor issues (description too long, missing handoff) |
79
91
  | **C** | Frontmatter incomplete (1-2 missing fields) OR 201-400 lines |
80
- | **D** | Frontmatter uses alirezarezvani format OR 400+ lines OR hallucinations found |
92
+ | **D** | Frontmatter uses legacy imported format OR `agent:` without `context: fork` OR 400+ lines OR hallucinations found |
81
93
  | **F** | No frontmatter at all OR file is empty/broken |
82
94
 
83
95
  ### 1.6 Output report
@@ -92,10 +104,10 @@ Given a path to a SKILL.md, apply fixes in order:
92
104
 
93
105
  ### 2.1 Convert frontmatter
94
106
 
95
- If alirezarezvani format detected (has `license`, `metadata`, `version`, `author`):
107
+ If legacy imported format detected (has `version`, `author`, `updated`, `python-tools`, `tech-stack`):
96
108
 
97
109
  1. Keep `name` and `description` (trim description to under 200 chars if needed)
98
- 2. Drop `license`, `metadata` block, `version`, `author`, `updated`, `python-tools`, `tech-stack`
110
+ 2. Drop `version`, `author`, `updated`, `python-tools`, `tech-stack`. Keep `license` and `metadata` -- both are official. Move any repo-local key into the `metadata:` map instead of deleting it.
99
111
  3. Add `category` -- infer from parent folder: `skills-backend` -> `"backend"`, `skills-ai` -> `"ai"`, etc.
100
112
  4. Add `user-invocable: true` (default; set `false` only for sub-skills under another skill's directory)
101
113
  5. Add `allowed-tools: Read, Glob, Grep, Bash` (default read-only set; upgrade to include `Write, Edit` if skill body contains authoring/generation instructions)