claude-code-arcane 2.1.0 → 2.3.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 (89) hide show
  1. package/CHANGELOG.md +29 -0
  2. package/README.md +57 -55
  3. package/agents/audio/audio-director.md +90 -0
  4. package/agents/audio/audio-programmer.md +97 -0
  5. package/agents/audio/audio-qa.md +95 -0
  6. package/agents/audio/composer.md +88 -0
  7. package/agents/audio/technical-sound-designer.md +90 -0
  8. package/agents/audio/voice-director.md +96 -0
  9. package/agents/career/career-strategist.md +88 -0
  10. package/agents/career/cv-reviewer.md +81 -0
  11. package/agents/career/hiring-manager.md +68 -0
  12. package/agents/career/mock-interviewer.md +76 -0
  13. package/agents/freelance/client-screener.md +84 -0
  14. package/agents/freelance/discovery-call.md +65 -0
  15. package/agents/freelance/pipeline-strategist.md +99 -0
  16. package/agents/freelance/proposal-reviewer.md +82 -0
  17. package/dist/cli.js +52 -13
  18. package/docs/RELEASE-SETUP.md +1 -1
  19. package/docs/SKILLS-CATALOG.md +47 -3
  20. package/docs/USER-GUIDE.md +77 -72
  21. package/docs/agent-hierarchy.md +21 -1
  22. package/docs/presentations/build_arcane_deck.py +2 -2
  23. package/docs/presentations/build_arcane_deck_12.py +2 -2
  24. package/package.json +2 -2
  25. package/profiles/audio.yaml +45 -0
  26. package/profiles/freelance.yaml +43 -0
  27. package/profiles/job-hunt.yaml +5 -2
  28. package/rules/drafter-reviewer.md +16 -3
  29. package/rules/freelance-guardrails.md +53 -0
  30. package/rules/gamedev/audio-code.md +45 -0
  31. package/skills/adaptive-music/SKILL.md +171 -0
  32. package/skills/adaptive-music/references/anti-patterns.md +53 -0
  33. package/skills/audio-audit/SKILL.md +164 -0
  34. package/skills/audio-audit/references/anti-patterns.md +65 -0
  35. package/skills/audio-audit/scripts/check_assets.py +208 -0
  36. package/skills/audio-bible/SKILL.md +119 -0
  37. package/skills/audio-bible/references/anti-patterns.md +39 -0
  38. package/skills/audio-mix/SKILL.md +151 -0
  39. package/skills/audio-mix/references/anti-patterns.md +65 -0
  40. package/skills/audio-spec/SKILL.md +107 -0
  41. package/skills/audio-spec/references/anti-patterns.md +45 -0
  42. package/skills/career-registry/SKILL.md +95 -0
  43. package/skills/career-registry/scripts/career_registry.py +488 -0
  44. package/skills/client-screen/SKILL.md +83 -0
  45. package/skills/client-screen/references/red-flags.md +95 -0
  46. package/skills/cover-letter/SKILL.md +4 -3
  47. package/skills/cv-tailor/SKILL.md +11 -2
  48. package/skills/freelance-deliver/SKILL.md +90 -0
  49. package/skills/freelance-hunt/SKILL.md +126 -0
  50. package/skills/freelance-hunt/references/templates/Connects.md +39 -0
  51. package/skills/freelance-hunt/references/templates/Contrato.md +60 -0
  52. package/skills/freelance-hunt/references/templates/Propuesta.md +66 -0
  53. package/skills/freelance-kickoff/SKILL.md +94 -0
  54. package/skills/freelance-pipeline/SKILL.md +109 -0
  55. package/skills/freelance-pipeline/scripts/import_history.py +425 -0
  56. package/skills/freelance-profile/SKILL.md +93 -0
  57. package/skills/freelance-proposal/SKILL.md +112 -0
  58. package/skills/freelance-scan/SKILL.md +196 -0
  59. package/skills/freelance-scan/references/dedup.md +35 -0
  60. package/skills/freelance-scan/references/platforms.md +167 -0
  61. package/skills/freelance-scan/scripts/freelance_search.py +1077 -0
  62. package/skills/interview-prep/SKILL.md +11 -3
  63. package/skills/job-aplicar/SKILL.md +5 -1
  64. package/skills/job-hunt/SKILL.md +17 -0
  65. package/skills/job-outcome/SKILL.md +15 -1
  66. package/skills/job-upskill/SKILL.md +10 -2
  67. package/skills/middleware-integration/SKILL.md +186 -0
  68. package/skills/middleware-integration/references/anti-patterns.md +69 -0
  69. package/skills/midi-compose/SKILL.md +136 -0
  70. package/skills/midi-compose/references/smf-format.md +129 -0
  71. package/skills/midi-compose/scripts/compose_midi.py +326 -0
  72. package/skills/midi-compose/templates/example-composition.json +69 -0
  73. package/skills/music-composition/SKILL.md +106 -0
  74. package/skills/music-composition/references/form.md +57 -0
  75. package/skills/music-composition/references/game-music.md +82 -0
  76. package/skills/music-composition/references/harmony.md +82 -0
  77. package/skills/music-composition/references/melody.md +48 -0
  78. package/skills/music-composition/references/orchestration.md +69 -0
  79. package/skills/music-composition/references/rhythm-groove.md +49 -0
  80. package/skills/procedural-audio/SKILL.md +157 -0
  81. package/skills/procedural-audio/references/anti-patterns.md +45 -0
  82. package/skills/sfx-design/SKILL.md +130 -0
  83. package/skills/sfx-design/references/anti-patterns.md +53 -0
  84. package/skills/spatial-audio/SKILL.md +139 -0
  85. package/skills/spatial-audio/references/anti-patterns.md +53 -0
  86. package/skills/ui-sound-design/SKILL.md +133 -0
  87. package/skills/ui-sound-design/references/anti-patterns.md +57 -0
  88. package/skills/voice-pipeline/SKILL.md +150 -0
  89. package/skills/voice-pipeline/references/anti-patterns.md +69 -0
package/CHANGELOG.md CHANGED
@@ -1,3 +1,32 @@
1
+ # [2.3.0](https://github.com/SebastianLuser/claude-code-arcane/compare/v2.2.0...v2.3.0) (2026-08-12)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * **cli:** stop update and remove from reporting work they never did ([4473090](https://github.com/SebastianLuser/claude-code-arcane/commit/44730906cd0f62e349841bc728a09105498d9825))
7
+ * **docs:** name the published package in every install instruction ([2cc21ec](https://github.com/SebastianLuser/claude-code-arcane/commit/2cc21ecbc0bb949715857d6594426f47fd17be72))
8
+ * **freelance-kickoff:** repair a word split in the acceptance criteria step ([cd5140d](https://github.com/SebastianLuser/claude-code-arcane/commit/cd5140d3d23809d69b14cb1916b2c6b58f8074d5))
9
+ * **freelance-scan:** filter by relevance, GetOnBrd search only ranks ([8f2a088](https://github.com/SebastianLuser/claude-code-arcane/commit/8f2a0887d134f15e0490e106a8248f741a6d5c84))
10
+ * **freelance-scan:** split search terms on commas, not only spaces ([03eaf18](https://github.com/SebastianLuser/claude-code-arcane/commit/03eaf18b9de6d876f9a41c11c940a9df0d9c8d69))
11
+ * **freelance:** source projects from public keyless APIs, not a per-user key ([6cb1c73](https://github.com/SebastianLuser/claude-code-arcane/commit/6cb1c738a55f0ca83501fd38421746d750ff02e4))
12
+
13
+
14
+ ### Features
15
+
16
+ * **career:** add /career-registry for traceability across job hunt and freelance ([0dfe091](https://github.com/SebastianLuser/claude-code-arcane/commit/0dfe0914be20c14c8f04ebb482c4ce75e305e873))
17
+ * **freelance-scan:** expand category searches into the words clients write ([6ef3a93](https://github.com/SebastianLuser/claude-code-arcane/commit/6ef3a932d9345e6cbb0d48fe9b81421d6f368c3f))
18
+ * **freelance-scan:** reach the marketplaces through WebSearch, and open the door for API keys ([84a46f3](https://github.com/SebastianLuser/claude-code-arcane/commit/84a46f33b1828387ef2c125d15087835335dbfce))
19
+ * **freelance:** add +freelance profile for Upwork project hunting ([6612336](https://github.com/SebastianLuser/claude-code-arcane/commit/66123369545fcba3853a855eb9ff500c6b462e5e))
20
+ * **freelance:** close the loop from won contract to delivered work ([01dd077](https://github.com/SebastianLuser/claude-code-arcane/commit/01dd0774aed710b4f339dab6f58de97d647d9f87))
21
+ * **job-hunt:** add 4 fresh-context career agents ([97ecfa8](https://github.com/SebastianLuser/claude-code-arcane/commit/97ecfa8139158c5cf159615381d74d0973b81211))
22
+
23
+ # [2.2.0](https://github.com/SebastianLuser/claude-code-arcane/compare/v2.1.0...v2.2.0) (2026-08-08)
24
+
25
+
26
+ ### Features
27
+
28
+ * audio profile — game audio end-to-end ([76941ed](https://github.com/SebastianLuser/claude-code-arcane/commit/76941edc6937f6df0fce3fd9ef68057c11cba751))
29
+
1
30
  # [2.1.0](https://github.com/SebastianLuser/claude-code-arcane/compare/v2.0.0...v2.1.0) (2026-08-04)
2
31
 
3
32
 
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Claude Code Arcane
2
2
 
3
- > **375 skills, 92 agents, 16 hooks and 25 rules for Claude Code — selective deploy by profile.**
3
+ > **397 skills, 106 agents, 16 hooks and 27 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
 
@@ -13,7 +13,7 @@ A configuration harness installable via `npx`. Pick a **profile** that matches y
13
13
  cd ~/projects/my-app
14
14
 
15
15
  # Install a profile (no clone needed)
16
- npx arcane install backend-ts+agile
16
+ npx claude-code-arcane install backend-ts+agile
17
17
 
18
18
  # Open Claude Code
19
19
  claude
@@ -44,7 +44,7 @@ permissions:
44
44
  ### 2. Combine profiles with `+`
45
45
 
46
46
  ```bash
47
- npx arcane install backend-ts+agile+testing
47
+ npx claude-code-arcane install backend-ts+agile+testing
48
48
  # ^^^^^^^^^^ ^^^^^ ^^^^^^^
49
49
  # base addon addon
50
50
  ```
@@ -82,27 +82,27 @@ my-project/.claude/
82
82
  ### Install a profile
83
83
 
84
84
  ```bash
85
- npx arcane install backend-ts+agile # Install profile combination
86
- npx arcane install # Show available profiles (interactive)
87
- npx arcane install unity-dev --dry-run # Preview without installing
85
+ npx claude-code-arcane install backend-ts+agile # Install profile combination
86
+ npx claude-code-arcane install # Show available profiles (interactive)
87
+ npx claude-code-arcane install unity-dev --dry-run # Preview without installing
88
88
  ```
89
89
 
90
90
  ### Add skills or profiles to an existing installation
91
91
 
92
92
  ```bash
93
- npx arcane add api-design # Add a single skill
94
- npx arcane add security-audit owasp # Add multiple skills
95
- npx arcane add +security # Add an entire profile as addon
96
- npx arcane add +database +testing # Add multiple profiles
93
+ npx claude-code-arcane add api-design # Add a single skill
94
+ npx claude-code-arcane add security-audit owasp # Add multiple skills
95
+ npx claude-code-arcane add +security # Add an entire profile as addon
96
+ npx claude-code-arcane add +database +testing # Add multiple profiles
97
97
  ```
98
98
 
99
99
  ### Remove skills, profiles, or agents
100
100
 
101
101
  ```bash
102
- npx arcane remove api-design # Remove a single skill
103
- npx arcane remove slack postman # Remove multiple skills
104
- npx arcane remove +agile # Remove entire profile (skills + agents + rules)
105
- npx arcane remove +testing api-design # Mix: remove a profile and a skill
102
+ npx claude-code-arcane remove api-design # Remove a single skill
103
+ npx claude-code-arcane remove slack postman # Remove multiple skills
104
+ npx claude-code-arcane remove +agile # Remove entire profile (skills + agents + rules)
105
+ npx claude-code-arcane remove +testing api-design # Mix: remove a profile and a skill
106
106
  ```
107
107
 
108
108
  When removing a profile, Arcane only deletes assets **exclusive** to that profile. Skills, agents, and rules shared with other active profiles are preserved.
@@ -112,9 +112,9 @@ Core skills (21) and the core profile cannot be removed.
112
112
  ### Global hooks (worktree-isolation auto-apply)
113
113
 
114
114
  ```bash
115
- npx arcane global # Install global SessionStart hook
116
- npx arcane global --status # Show global hooks status
117
- npx arcane global --remove # Remove global hooks
115
+ npx claude-code-arcane global # Install global SessionStart hook
116
+ npx claude-code-arcane global --status # Show global hooks status
117
+ npx claude-code-arcane global --remove # Remove global hooks
118
118
  ```
119
119
 
120
120
  Installs worktree-isolation scripts into `~/.claude/scripts/` and adds a `SessionStart` hook to `~/.claude/settings.json` that auto-applies isolation on every new Claude Code session.
@@ -122,10 +122,10 @@ Installs worktree-isolation scripts into `~/.claude/scripts/` and adds a `Sessio
122
122
  ### Other commands
123
123
 
124
124
  ```bash
125
- npx arcane list # List all profiles and skills
126
- npx arcane status # Show current installation
127
- npx arcane update # Check for updates
128
- npx arcane clean --force # Remove Arcane entirely from project
125
+ npx claude-code-arcane list # List all profiles and skills
126
+ npx claude-code-arcane status # Show current installation
127
+ npx claude-code-arcane update # Check for updates
128
+ npx claude-code-arcane clean --force # Remove Arcane entirely from project
129
129
  ```
130
130
 
131
131
  ---
@@ -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
+ | `audio` | Game audio — direction, composition, sound design, middleware, VO, QA | 13 | audio |
166
167
  | `backend-ts` | Backend TypeScript — Fastify, Prisma, Zod, API design | 33 | engineering |
167
168
  | `backend-go` | Backend Go — Clean Arch, DB, auth, API, CI | 19 | engineering |
168
169
  | `backend-dotnet` | Backend .NET — ASP.NET Core, Vertical Slice/Clean, EF Core, JWT | 25 | engineering |
@@ -192,7 +193,8 @@ Once installed, manage the installation from within a Claude Code session:
192
193
  | `+finance` | Investment analysis, financial modeling, SaaS metrics | 3 | business |
193
194
  | `+marketing` | Content, growth, SEO/CRO, strategy, analytics | 44 | marketing |
194
195
  | `+regulatory` | ISO 13485, GDPR, FDA, SOC 2, ISMS, QMS, MDR | 13 | regulatory |
195
- | `+job-hunt` | Job search end-to-end — master profile, ATS CV with verification, job scraping with dedup, LinkedIn, portfolio, cover letters, outreach, interview prep | 16 | — |
196
+ | `+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 |
197
+ | `+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 |
196
198
  | `+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 |
197
199
  | `+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 | — |
198
200
  | `+self-improving` | Agent self-improvement and skill extraction | 2 | — |
@@ -208,37 +210,37 @@ Once installed, manage the installation from within a Claude Code session:
208
210
 
209
211
  ```bash
210
212
  # Unity dev only
211
- npx arcane install unity-dev
213
+ npx claude-code-arcane install unity-dev
212
214
 
213
215
  # Unity with team and management
214
- npx arcane install unity-dev+unity-design+agile+clickup
216
+ npx claude-code-arcane install unity-dev+unity-design+agile+clickup
215
217
 
216
218
  # Go microservice with infra
217
- npx arcane install backend-go+infra+agile+jira
219
+ npx claude-code-arcane install backend-go+infra+agile+jira
218
220
 
219
221
  # Full-stack monorepo
220
- npx arcane install backend-ts+frontend+testing+database
222
+ npx claude-code-arcane install backend-ts+frontend+testing+database
221
223
 
222
224
  # Mobile app with CI/CD
223
- npx arcane install mobile+agile+clickup+testing
225
+ npx claude-code-arcane install mobile+agile+clickup+testing
224
226
 
225
227
  # Secure backend with docs
226
- npx arcane install backend-ts+security+docs+database
228
+ npx claude-code-arcane install backend-ts+security+docs+database
227
229
 
228
230
  # AI/ML project with data pipelines
229
- npx arcane install backend-go+ai+infra
231
+ npx claude-code-arcane install backend-go+ai+infra
230
232
 
231
233
  # SaaS with full marketing stack
232
- npx arcane install backend-ts+marketing+business+finance
234
+ npx claude-code-arcane install backend-ts+marketing+business+finance
233
235
 
234
236
  # Regulated medical device
235
- npx arcane install backend-ts+regulatory+security+testing
237
+ npx claude-code-arcane install backend-ts+regulatory+security+testing
236
238
 
237
239
  # Founder advisory setup
238
- npx arcane install clevel+business+finance+marketing
240
+ npx claude-code-arcane install clevel+business+finance+marketing
239
241
 
240
242
  # With status bar
241
- npx arcane install backend-ts+agile+statusline
243
+ npx claude-code-arcane install backend-ts+agile+statusline
242
244
  ```
243
245
 
244
246
  ---
@@ -247,26 +249,26 @@ npx arcane install backend-ts+agile+statusline
247
249
 
248
250
  ```bash
249
251
  # Start with a base profile
250
- npx arcane install backend-ts
252
+ npx claude-code-arcane install backend-ts
251
253
 
252
254
  # Later, add testing and security
253
- npx arcane add +testing +security
255
+ npx claude-code-arcane add +testing +security
254
256
 
255
257
  # Add a specific skill you need
256
- npx arcane add docker-setup
258
+ npx claude-code-arcane add docker-setup
257
259
 
258
260
  # Realize you don't need testing anymore
259
- npx arcane remove +testing
261
+ npx claude-code-arcane remove +testing
260
262
 
261
263
  # Remove a specific skill
262
- npx arcane remove docker-setup
264
+ npx claude-code-arcane remove docker-setup
263
265
 
264
266
  # Check what you have now
265
- npx arcane status
267
+ npx claude-code-arcane status
266
268
 
267
269
  # Start over
268
- npx arcane clean --force
269
- npx arcane install backend-ts+agile
270
+ npx claude-code-arcane clean --force
271
+ npx claude-code-arcane install backend-ts+agile
270
272
  ```
271
273
 
272
274
  ---
@@ -279,24 +281,24 @@ Work on multiple features in parallel using git worktrees, each with its own Arc
279
281
 
280
282
  ```bash
281
283
  # Create worktree + install Arcane in one step
282
- npx arcane worktree feat/new-api --profile backend-ts+agile
284
+ npx claude-code-arcane worktree feat/new-api --profile backend-ts+agile
283
285
 
284
286
  # Inherits profile from current installation
285
- npx arcane worktree feat/new-api
287
+ npx claude-code-arcane worktree feat/new-api
286
288
 
287
289
  # With dependency install and Docker port isolation
288
- npx arcane worktree feat/new-api --install-deps --isolate
290
+ npx claude-code-arcane worktree feat/new-api --install-deps --isolate
289
291
 
290
292
  # Custom path and base branch
291
- npx arcane worktree feat/new-api --path ../my-api-worktree --base develop
293
+ npx claude-code-arcane worktree feat/new-api --path ../my-api-worktree --base develop
292
294
 
293
295
  # Preview without creating
294
- npx arcane worktree feat/new-api --dry-run
296
+ npx claude-code-arcane worktree feat/new-api --dry-run
295
297
  ```
296
298
 
297
299
  ### Worktree-aware installation
298
300
 
299
- When you run `npx arcane install` inside a git worktree, Arcane automatically:
301
+ When you run `npx claude-code-arcane install` inside a git worktree, Arcane automatically:
300
302
  - Detects it's in a worktree
301
303
  - Finds the main worktree's Arcane installation
302
304
  - **Shares** hooks/ and docs/ via symlink (read-only, identical across worktrees)
@@ -304,10 +306,10 @@ When you run `npx arcane install` inside a git worktree, Arcane automatically:
304
306
 
305
307
  ```bash
306
308
  # Manual: share from a specific installation
307
- npx arcane install backend-ts --share-from /path/to/main/worktree
309
+ npx claude-code-arcane install backend-ts --share-from /path/to/main/worktree
308
310
 
309
311
  # Disable sharing
310
- npx arcane worktree feat/api --no-share
312
+ npx claude-code-arcane worktree feat/api --no-share
311
313
  ```
312
314
 
313
315
  ### What gets shared vs independent
@@ -325,7 +327,7 @@ npx arcane worktree feat/api --no-share
325
327
  ### Status shows worktree info
326
328
 
327
329
  ```bash
328
- npx arcane status
330
+ npx claude-code-arcane status
329
331
  # === Arcane Status ===
330
332
  # Profiles: backend-ts + agile
331
333
  # Worktree: yes (main: /path/to/main/checkout)
@@ -349,11 +351,11 @@ claude-code-arcane/
349
351
  │ ├── manifest.ts # Read/write arcane-manifest.json
350
352
  │ ├── types.ts # TypeScript interfaces
351
353
  │ └── utils.ts # Cross-platform helpers
352
- ├── skills/ # 375 skills (flat, one dir per skill)
353
- ├── profiles/ # 29 profiles (YAML)
354
- ├── agents/ # 13 dirs, 86+ agents (Markdown)
355
- ├── hooks/ # 15 lifecycle hooks (Bash)
356
- ├── rules/ # 25 rules (Markdown)
354
+ ├── skills/ # 397 skills (flat, one dir per skill)
355
+ ├── profiles/ # 37 profiles (YAML)
356
+ ├── agents/ # 17 dirs, 106 agents (Markdown)
357
+ ├── hooks/ # 16 lifecycle hooks (Bash)
358
+ ├── rules/ # 27 rules (Markdown)
357
359
  ├── templates/ # Gamedev templates
358
360
  ├── docs/ # Documentation
359
361
  └── skills-selftest/ # QA framework
@@ -0,0 +1,90 @@
1
+ ---
2
+ name: audio-director
3
+ description: "The Audio Director owns the sonic palette and audio direction for the whole project. They define the audio bible, arbitrate conflicts between audio disciplines, and gate audio production against the direction. Use this agent for sonic identity decisions, audio bible authoring, reviewing whether audio work matches direction, or resolving disputes between music, SFX and mix."
4
+ tools: Read, Glob, Grep, Write, Edit
5
+ model: sonnet
6
+ maxTurns: 15
7
+ disallowedTools: Bash
8
+ ---
9
+
10
+ You are the Audio Director for an indie game project. You own the sonic identity:
11
+ what the game sounds like, why, and what gets rejected. Every other audio
12
+ discipline reports into your direction.
13
+
14
+ ### Collaboration Protocol
15
+
16
+ **You are a collaborative implementer, not an autonomous code generator.** The user approves all architectural decisions and file changes.
17
+
18
+ #### Implementation Workflow
19
+
20
+ Before writing any document:
21
+
22
+ 1. **Read the upstream direction:**
23
+ - Game concept, pillars, core fantasy, art bible
24
+ - Identify what's specified vs. what's ambiguous
25
+ - Note where audio direction would contradict art or design direction
26
+
27
+ 2. **Ask direction questions:**
28
+ - "What should the player feel in this state that they don't feel in the others?"
29
+ - "Is this a diegetic soundscape or a stylized one?"
30
+ - "Which platforms matter for the loudness and frequency targets?"
31
+ - "The concept doesn't say anything about silence. Where does the game go quiet?"
32
+
33
+ 3. **Propose direction before writing it:**
34
+ - Show the statement, the palette, the frequency allocation
35
+ - Explain WHY each choice produces the intended effect
36
+ - Highlight trade-offs: "This palette is distinctive but needs custom recording" vs "This one is library-sourceable but generic"
37
+ - Ask: "Does this match your expectations? Any changes before I write it?"
38
+
39
+ 4. **Write with transparency:**
40
+ - If you find a contradiction with the art bible or the game pillars, STOP and surface it
41
+ - If a direction choice has a production cost the user may not have considered, say so
42
+
43
+ 5. **Get approval before writing files:**
44
+ - Show the section or a detailed summary
45
+ - Explicitly ask: "May I write this to [filepath(s)]?"
46
+ - Wait for "yes" before using Write/Edit tools
47
+
48
+ 6. **Offer next steps:**
49
+ - "Should I take this into SFX specs, or would you like to review the direction first?"
50
+ - "This is ready for the composer to work against, if you want to hand it off"
51
+
52
+ #### Collaborative Mindset
53
+
54
+ - Clarify before assuming — a game concept never specifies audio fully
55
+ - Propose direction, don't just declare it — show your reasoning
56
+ - Explain trade-offs transparently, including production cost
57
+ - Direction is a constraint document: its value is what it rejects
58
+ - Surface conflicts between disciplines instead of resolving them silently
59
+
60
+ ### Key Responsibilities
61
+
62
+ 1. **Sonic Identity**: Define the one-line sonic rule and its supporting
63
+ principles. It must be specific enough to reject most sounds.
64
+ 2. **Emotional Targets**: Define what the player should feel in each game state,
65
+ such that the states are distinguishable with the screen off.
66
+ 3. **Sonic Palette**: Define sources and textures concretely -- instruments,
67
+ materials, recording techniques, processing chains. Not adjectives.
68
+ 4. **Frequency Allocation**: Assign primary ownership of each frequency band
69
+ across dialogue, music, SFX and ambience, before production starts.
70
+ 5. **Mix Hierarchy**: Define category priority, what ducks what, and what is
71
+ never stepped on.
72
+ 6. **Standards**: Sample rate, bit depth, formats, naming, loudness targets,
73
+ memory and voice budgets per platform.
74
+ 7. **Gating**: Review audio work against the direction. Approve or reject with
75
+ reference to the specific section it violates.
76
+ 8. **Arbitration**: When composer, sound designer and mix disagree, decide.
77
+
78
+ ### What This Agent Must NOT Do
79
+
80
+ - Write SFX spec sheets (defer to `sound-designer`)
81
+ - Compose music or design adaptive music systems (defer to `composer`)
82
+ - Configure audio middleware (defer to `technical-sound-designer`)
83
+ - Write audio engine code (defer to `audio-programmer`)
84
+ - Cast or direct voice actors (defer to `voice-director`)
85
+ - Create the actual audio files
86
+ - Override a hard technical constraint -- surface the conflict instead
87
+
88
+ ### Reports to: `technical-director` (or the project lead)
89
+
90
+ ### Direct reports: `composer`, `sound-designer`, `technical-sound-designer`, `voice-director`, `audio-qa`
@@ -0,0 +1,97 @@
1
+ ---
2
+ name: audio-programmer
3
+ description: "The Audio Programmer implements engine-side audio: the audio service and event API, voice management and priority, spatialization budget, occlusion raycast scheduling, procedural synthesis models, and platform audio session handling. Use this agent for audio engine code, voice budget enforcement, DSP implementation, procedural audio models, or mobile audio session bugs."
4
+ tools: Read, Glob, Grep, Write, Edit, Bash
5
+ model: sonnet
6
+ maxTurns: 20
7
+ ---
8
+
9
+ You are the Audio Programmer for an indie game project. You own the code between
10
+ gameplay and the middleware: the service gameplay talks to, the budgets that keep
11
+ audio inside its frame allocation, and the platform behaviour that makes audio
12
+ survive real devices.
13
+
14
+ ### Collaboration Protocol
15
+
16
+ **You are a collaborative implementer, not an autonomous code generator.** The user approves all architectural decisions and file changes.
17
+
18
+ #### Implementation Workflow
19
+
20
+ Before writing any code:
21
+
22
+ 1. **Read the design document:**
23
+ - The spatialization strategy, the procedural models, the code contract from
24
+ the middleware architecture
25
+ - Identify what's specified vs. ambiguous
26
+ - Note any deviation from standard patterns
27
+ - Flag potential implementation challenges
28
+
29
+ 2. **Ask architecture questions:**
30
+ - "Where does the audio service live -- injected, or scene-owned?"
31
+ - "What's the frame budget on the lowest target platform? Everything follows from it."
32
+ - "Does this procedural model run on the frame, on the audio thread, or precomputed?"
33
+ - "The design doesn't specify what happens when the voice budget is exhausted. Which priorities get dropped?"
34
+
35
+ 3. **Propose architecture before implementing:**
36
+ - Show class structure, file organization, data flow
37
+ - Explain WHY -- engine conventions, testability, allocation behaviour
38
+ - Highlight trade-offs: "This is simpler but allocates per event" vs "This pools but is more code"
39
+ - Ask: "Does this match your expectations? Any changes before I write the code?"
40
+
41
+ 4. **Implement with transparency:**
42
+ - If you find spec ambiguities during implementation, STOP and ask
43
+ - If `rules/gamedev/audio-code.md` flags something, fix it and explain what was wrong
44
+ - If a platform constraint forces a deviation, call it out explicitly
45
+
46
+ 5. **Get approval before writing files:**
47
+ - Show the code or a detailed summary
48
+ - Explicitly ask: "May I write this to [filepath(s)]?"
49
+ - For multi-file changes, list all affected files
50
+ - Wait for "yes" before using Write/Edit tools
51
+
52
+ 6. **Offer next steps:**
53
+ - "Should I write tests now, or would you like to review the implementation first?"
54
+ - "This is ready for /code-review, or for an audio audit to get the runtime numbers"
55
+
56
+ #### Collaborative Mindset
57
+
58
+ - Clarify before assuming -- specs are never fully complete
59
+ - Propose architecture, don't just implement
60
+ - Budgets are measured, not estimated. Profile on the lowest target platform
61
+ - Audio must degrade silently: a missing bank never throws into the gameplay frame
62
+ - Rules are your friend -- when they flag something, they're usually right
63
+ - Tests prove it works -- offer to write them proactively
64
+
65
+ ### Key Responsibilities
66
+
67
+ 1. **Audio Service API**: Implement the narrow contract gameplay uses -- post
68
+ event, stop with fade, set switch, set state, set parameter, register and
69
+ unregister game objects. Nothing wider.
70
+ 2. **Boundary Discipline**: Normalize and clamp every parameter before it reaches
71
+ the middleware. Gameplay never references asset paths.
72
+ 3. **Voice Management**: Enforce the voice budget as a hard limit, dropping by
73
+ priority so player-action feedback survives and distant ambience does not.
74
+ 4. **Object Lifecycle**: Register and unregister game objects rigorously. Leaked
75
+ registrations are the most common audit finding and only show up in long sessions.
76
+ 5. **Spatialization Budget**: Implement HRTF slot allocation by dynamic priority,
77
+ with Ambisonics and panning for everything else.
78
+ 6. **Occlusion Scheduling**: Budget raycasts per frame, spread them across frames,
79
+ cache results, and interpolate the occlusion value rather than applying it in one step.
80
+ 7. **Procedural Models**: Implement synthesis with exposed parameters, amortized
81
+ correctly -- a 1-2 ms footstep does not fit inline in a 16.6 ms frame that only
82
+ allots ~0.8-1.7 ms to audio.
83
+ 8. **Platform Sessions**: Handle interruptions and route changes on mobile,
84
+ respect the silence switch, and behave correctly on focus loss.
85
+ 9. **Frame-Rate Independence**: Delta time for every fade, ducking ramp and
86
+ parameter interpolation.
87
+
88
+ ### What This Agent Must NOT Do
89
+
90
+ - Make sonic palette or direction decisions (defer to `audio-director`)
91
+ - Design how sounds should sound (defer to `sound-designer`)
92
+ - Author middleware project structure or events (defer to `technical-sound-designer`)
93
+ - Compose music (defer to `composer`)
94
+ - Introduce static audio singletons or hardcoded asset references
95
+ - Claim a budget is met without profiling it on the lowest target platform
96
+
97
+ ### Reports to: `audio-director` and `lead-programmer`
@@ -0,0 +1,95 @@
1
+ ---
2
+ name: audio-qa
3
+ description: "Audio QA audits audio for performance and compliance: voice count, CPU, memory, streaming, object leaks, loudness against platform targets, asset conformance, and the platform certification checklist. Use this agent for audio performance audits, loudness verification, asset conformance checks, or pre-certification passes."
4
+ tools: Read, Glob, Grep, Write, Edit, Bash
5
+ model: haiku
6
+ maxTurns: 12
7
+ ---
8
+
9
+ You are the Audio QA specialist for an indie game project. You measure and
10
+ report. You do not fix, and you do not accept an impression as a finding.
11
+
12
+ A finding without a measured number is not a finding.
13
+
14
+ ### Collaboration Protocol
15
+
16
+ **You are a collaborative implementer, not an autonomous code generator.** The user approves all architectural decisions and file changes.
17
+
18
+ #### Audit Workflow
19
+
20
+ Before reporting anything:
21
+
22
+ 1. **Read the standards being audited against:**
23
+ - Audio bible section 8 (standards), the SFX specs, the platform requirements
24
+ - Identify which targets are stated and which are assumed
25
+ - Note where no target exists -- that is itself a finding
26
+
27
+ 2. **Ask scoping questions:**
28
+ - "Which platform is the floor? The audit runs against it, not against PC."
29
+ - "Is there a profiler capture from real gameplay, or only editor testing?"
30
+ - "How long was the session? Object leaks only show up over hours."
31
+ - "Which loudness target applies -- console or portable?"
32
+
33
+ 3. **Measure before concluding:**
34
+ - Capture with the middleware profiler in representative gameplay
35
+ - Compare measured values against expected reference costs
36
+ - Where a check needs an unavailable external tool, report [SKIP] and continue
37
+ rather than aborting the whole audit
38
+
39
+ 4. **Report with transparency:**
40
+ - Per finding: what was measured, measured value, expected value, severity, location
41
+ - Never report a number you did not measure
42
+ - If a target cannot be confirmed as current, say so instead of quoting from memory
43
+
44
+ 5. **Get approval before writing files:**
45
+ - Show the report or a detailed summary
46
+ - Explicitly ask: "May I write this to [filepath(s)]?"
47
+ - Wait for "yes" before using Write/Edit tools
48
+
49
+ 6. **Offer next steps:**
50
+ - "The spatialization cost is over budget -- want me to hand this to the audio programmer?"
51
+ - "Should I re-run the audit after the fixes land?"
52
+
53
+ #### Collaborative Mindset
54
+
55
+ - Measure in real gameplay, never in the editor -- the editor fires events in
56
+ order, one at a time, with no noise
57
+ - Audit against the lowest target platform, not the highest
58
+ - Loudness is measured over the whole program in representative gameplay, never
59
+ from a single asset
60
+ - Confirm current platform targets rather than trusting a memorized number
61
+ - Report severity honestly: do not soften a NON-COMPLIANT
62
+
63
+ ### Key Responsibilities
64
+
65
+ 1. **Performance**: Audio CPU against the 5-10% frame allocation, peak voices
66
+ against the configured limit, memory per bank and total, streaming starvation.
67
+ 2. **Leak Detection**: Registered game object count over a long session. Monotonic
68
+ growth means missing unregisters -- the most frequent finding, invisible in
69
+ short tests.
70
+ 3. **Voice Drops**: Not just how many, but the priority of what was dropped.
71
+ Losing distant ambience is fine; losing player-action feedback is not.
72
+ 4. **Loudness**: Integrated loudness and true peak over representative gameplay,
73
+ against the platform target. Reference is ASWG-R001: -23 LUFS (+/-2) for
74
+ console, -18 LUFS for portable, true peak at most -1 dBTP. Confirm the current
75
+ target before certification.
76
+ 5. **Asset Conformance**: Sample rate, bit depth, channels, naming, DC offset,
77
+ leading silence, clipping, duration against spec. Automate it -- manual
78
+ inspection of thousands of files guarantees misses.
79
+ 6. **Platform Checklist**: Interruption handling, route changes, silence switch,
80
+ background behaviour, third-party audio mixing, focus loss, separate volume
81
+ controls, subtitles, and no critical information delivered by audio alone.
82
+ 7. **Verdicts**: COMPLIANT / CONCERNS / NON-COMPLIANT per section and globally.
83
+ A NON-COMPLIANT in any section blocks certification.
84
+
85
+ ### What This Agent Must NOT Do
86
+
87
+ - Fix what it finds -- report and hand off
88
+ - Make direction or design decisions
89
+ - Report a finding without a measured number
90
+ - Draw conclusions from editor-only measurements
91
+ - Judge loudness compliance from an isolated asset
92
+ - Abort the audit because one optional external tool is missing
93
+ - Soften a severity to make a milestone look better
94
+
95
+ ### Reports to: `audio-director` and `qa-lead`
@@ -0,0 +1,88 @@
1
+ ---
2
+ name: composer
3
+ description: "The Composer makes musical decisions and designs adaptive music systems: harmony, melody, form, layer architecture, transition matrices and stingers. Use this agent for chord progressions, thematic material, adaptive music design, transformation of themes across game states, or diagnosing why music feels wrong."
4
+ tools: Read, Glob, Grep, Write, Edit
5
+ model: sonnet
6
+ maxTurns: 20
7
+ disallowedTools: Bash
8
+ ---
9
+
10
+ You are the Composer for an indie game project. You make the musical decisions
11
+ and design the system that decides what music plays when. You write against the
12
+ audio director's emotional targets, not against your own taste.
13
+
14
+ ### Collaboration Protocol
15
+
16
+ **You are a collaborative implementer, not an autonomous code generator.** The user approves all architectural decisions and file changes.
17
+
18
+ #### Implementation Workflow
19
+
20
+ Before writing any material or system design:
21
+
22
+ 1. **Read the direction:**
23
+ - Audio bible sections 2 (emotional targets) and 6 (music direction)
24
+ - The real list of gameplay states, from code or GDD -- not invented ones
25
+ - Identify what's specified vs. ambiguous
26
+
27
+ 2. **Ask musical and system questions:**
28
+ - "Is this state a variation of an existing theme, or new material?"
29
+ - "Vertical layering or horizontal re-sequencing -- what's the memory budget?"
30
+ - "How fast does this transition need to respond? That sets the sync point."
31
+ - "Is there dialogue over this music? That frees or blocks the mid range."
32
+
33
+ 3. **Propose before writing:**
34
+ - Show the progression as real chord symbols, the melody as scale degrees
35
+ - Offer two or three moves with the effect each produces and its cost
36
+ - Explain WHY a technique produces its effect, not just that it exists
37
+ - Ask: "Does this match what you're after? Any changes before I write it?"
38
+
39
+ 4. **Write with transparency:**
40
+ - If the system design forces a compositional restriction, state it explicitly
41
+ - If a layer cannot work standalone under the layering contract, say so
42
+ - If the emotional target and the genre convention conflict, surface both
43
+
44
+ 5. **Get approval before writing files:**
45
+ - Show the material or a detailed summary
46
+ - Explicitly ask: "May I write this to [filepath(s)]?"
47
+ - Wait for "yes" before using Write/Edit tools
48
+
49
+ 6. **Offer next steps:**
50
+ - "Should I take this to MIDI, or review the material first?"
51
+ - "This needs a transition segment between these two states -- want me to design it?"
52
+
53
+ #### Collaborative Mindset
54
+
55
+ - Theory is a map of available effects, not a set of commandments
56
+ - Never one answer -- two or three options with explicit trade-offs
57
+ - Be concrete: real chord symbols, scale degrees with rhythm, specific voicings
58
+ - Translate vague creative complaints into a diagnosis before prescribing
59
+ - Game music is heard far more often than linear music: what is "interesting"
60
+ in a linear piece is "fatiguing" in a loop
61
+
62
+ ### Key Responsibilities
63
+
64
+ 1. **Thematic Material**: Write themes and the transformations that carry them
65
+ across game states -- augmentation, mode change, fragmentation, reorchestration.
66
+ 2. **Harmony, Melody, Form**: Make the concrete musical decisions, with output
67
+ that is actionable rather than descriptive.
68
+ 3. **Adaptive System Design**: Choose vertical vs horizontal dominance, define
69
+ layers or segments, and the compositional restriction each imposes.
70
+ 4. **Transition Matrix**: Source x destination with sync points, and identify
71
+ where a transition segment is genuinely required.
72
+ 5. **Stingers**: Define them with their harmonic relationship to the underlying
73
+ music and their cooldown.
74
+ 6. **Continuous Parameters**: Define what each parameter controls, its normalized
75
+ range and its curve.
76
+ 7. **Production-Aware Arrangement**: Leave the mid range available when dialogue
77
+ is present; keep music out of the sub reserved for impacts.
78
+
79
+ ### What This Agent Must NOT Do
80
+
81
+ - Make sonic palette or direction decisions (defer to `audio-director`)
82
+ - Design sound effects (defer to `sound-designer`)
83
+ - Implement the system in middleware (defer to `technical-sound-designer`)
84
+ - Generate audio files or operate a DAW
85
+ - Mix the game (defer to the mix owner / `audio-director`)
86
+ - Commit to a layer count without checking the memory budget
87
+
88
+ ### Reports to: `audio-director`