claude-code-arcane 2.9.7 → 2.9.9

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 (129) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/agents/business/business-ops-lead.md +1 -14
  3. package/agents/game/gameplay-programmer.md +3 -4
  4. package/agents/game/technical-artist.md +3 -4
  5. package/dist/cli.js +74 -24
  6. package/docs/USER-GUIDE.md +1 -1
  7. package/docs/coordination-rules.md +1 -1
  8. package/docs/directory-structure.md +93 -122
  9. package/package.json +1 -1
  10. package/profiles/backend-go.yaml +1 -0
  11. package/profiles/core.yaml +0 -1
  12. package/rules/gamedev/engine-code.md +1 -1
  13. package/rules/gamedev/shader-code.md +1 -2
  14. package/rules/gamedev/vn-code.md +3 -2
  15. package/rules/implementation-workflow.md +1 -1
  16. package/rules/{ai-code.md → llm-code.md} +5 -5
  17. package/skills/agent-designer/README.md +2 -1
  18. package/skills/agent-designer/agent_evaluator.py +0 -5
  19. package/skills/ai-sdk-setup/SKILL.md +4 -4
  20. package/skills/architecture-decision/SKILL.md +3 -4
  21. package/skills/architecture-review/SKILL.md +1 -1
  22. package/skills/asset-audit/SKILL.md +0 -1
  23. package/skills/balance-check/SKILL.md +1 -1
  24. package/skills/brainstorm/SKILL.md +3 -3
  25. package/skills/brainstorm/references/next-steps-pipeline.md +8 -9
  26. package/skills/consistency-check/SKILL.md +2 -2
  27. package/skills/design-system/SKILL.md +1 -1
  28. package/skills/design-system/references/post-design-validation.md +2 -3
  29. package/skills/frontend-dev/SKILL.md +27 -28
  30. package/skills/frontend-dev/references/asset-prompt-guide.md +1 -1
  31. package/skills/frontend-dev/references/motion-recipes.md +1 -1
  32. package/skills/help/SKILL.md +1 -2
  33. package/skills/hotfix/SKILL.md +2 -2
  34. package/skills/milestone-review/SKILL.md +1 -1
  35. package/skills/patch-notes/SKILL.md +1 -1
  36. package/skills/playtest-report/SKILL.md +2 -3
  37. package/skills/playwright-pro/CLAUDE.md +2 -2
  38. package/skills/playwright-pro/SKILL.md +13 -9
  39. package/skills/playwright-pro/agents/migration-planner.md +2 -2
  40. package/skills/playwright-pro/agents/test-architect.md +1 -2
  41. package/skills/playwright-pro/agents/test-debugger.md +1 -1
  42. package/skills/playwright-pro/hooks/detect-playwright.sh +1 -1
  43. package/skills/playwright-pro/skills/browserstack/SKILL.md +5 -5
  44. package/skills/playwright-pro/skills/migrate/SKILL.md +1 -1
  45. package/skills/playwright-pro/skills/report/SKILL.md +2 -2
  46. package/skills/playwright-pro/skills/testrail/SKILL.md +5 -5
  47. package/skills/playwright-pro/templates/README.md +2 -2
  48. package/skills/prototype/SKILL.md +1 -1
  49. package/skills/quick-design/SKILL.md +1 -1
  50. package/skills/release-checklist/SKILL.md +0 -1
  51. package/skills/security-audit/SKILL.md +1 -1
  52. package/skills/self-improving-agent/CLAUDE.md +12 -12
  53. package/skills/self-improving-agent/SKILL.md +16 -12
  54. package/skills/self-improving-agent/agents/memory-analyst.md +1 -1
  55. package/skills/self-improving-agent/hooks/error-capture.sh +2 -2
  56. package/skills/self-improving-agent/reference/memory-architecture.md +2 -2
  57. package/skills/self-improving-agent/reference/promotion-rules.md +3 -3
  58. package/skills/self-improving-agent/reference/rules-directory-patterns.md +1 -1
  59. package/skills/self-improving-agent/settings.json +5 -5
  60. package/skills/self-improving-agent/skills/extract/SKILL.md +7 -7
  61. package/skills/self-improving-agent/skills/promote/SKILL.md +5 -5
  62. package/skills/self-improving-agent/skills/remember/SKILL.md +9 -9
  63. package/skills/self-improving-agent/skills/review/SKILL.md +7 -7
  64. package/skills/self-improving-agent/skills/status/SKILL.md +8 -8
  65. package/skills/senior-ml-engineer/references/llm_integration_guide.md +14 -31
  66. package/skills/senior-prompt-engineer/SKILL.md +10 -10
  67. package/skills/senior-prompt-engineer/references/prompt_engineering_patterns.md +1 -1
  68. package/skills/senior-prompt-engineer/scripts/agent_orchestrator.py +43 -40
  69. package/skills/senior-prompt-engineer/scripts/prompt_optimizer.py +23 -66
  70. package/skills/shader-dev/reference/fluid-simulation.md +4 -4
  71. package/skills/shader-dev/reference/simulation-physics.md +6 -6
  72. package/skills/shader-dev/reference/voxel-rendering.md +1 -1
  73. package/skills/shader-dev/techniques/ambient-occlusion.md +1 -1
  74. package/skills/shader-dev/techniques/analytic-ray-tracing.md +2 -2
  75. package/skills/shader-dev/techniques/domain-warping.md +2 -2
  76. package/skills/shader-dev/techniques/fluid-simulation.md +45 -45
  77. package/skills/shader-dev/techniques/multipass-buffer.md +24 -24
  78. package/skills/shader-dev/techniques/normal-estimation.md +1 -1
  79. package/skills/shader-dev/techniques/particle-system.md +16 -16
  80. package/skills/shader-dev/techniques/polar-uv-manipulation.md +1 -1
  81. package/skills/shader-dev/techniques/post-processing.md +7 -7
  82. package/skills/shader-dev/techniques/sdf-3d.md +1 -1
  83. package/skills/shader-dev/techniques/simulation-physics.md +24 -24
  84. package/skills/shader-dev/techniques/sound-synthesis.md +2 -2
  85. package/skills/shader-dev/techniques/voronoi-cellular-noise.md +1 -1
  86. package/skills/shader-dev/techniques/voxel-rendering.md +60 -60
  87. package/skills/smoke-check/SKILL.md +1 -1
  88. package/skills/sprint-plan/SKILL.md +1 -2
  89. package/skills/start/SKILL.md +7 -7
  90. package/skills/story-done/SKILL.md +1 -1
  91. package/skills/test-helpers/SKILL.md +7 -2
  92. package/skills/test-setup/SKILL.md +1 -1
  93. package/skills/ue-actor-component-architecture/SKILL.md +0 -1
  94. package/skills/ue-ai-navigation/SKILL.md +0 -1
  95. package/skills/ue-animation-system/SKILL.md +0 -1
  96. package/skills/ue-async-threading/SKILL.md +0 -1
  97. package/skills/ue-audio-system/SKILL.md +0 -1
  98. package/skills/ue-blueprints/SKILL.md +0 -1
  99. package/skills/ue-character-movement/SKILL.md +0 -1
  100. package/skills/ue-cpp-foundations/SKILL.md +0 -1
  101. package/skills/ue-data-assets-tables/SKILL.md +0 -1
  102. package/skills/ue-editor-tools/SKILL.md +0 -1
  103. package/skills/ue-game-features/SKILL.md +0 -1
  104. package/skills/ue-gameplay-abilities/SKILL.md +0 -1
  105. package/skills/ue-gameplay-framework/SKILL.md +0 -1
  106. package/skills/ue-input-system/SKILL.md +0 -1
  107. package/skills/ue-mass-entity/SKILL.md +0 -1
  108. package/skills/ue-materials-rendering/SKILL.md +0 -1
  109. package/skills/ue-module-build-system/SKILL.md +0 -1
  110. package/skills/ue-naming-conventions/SKILL.md +0 -1
  111. package/skills/ue-networking-replication/SKILL.md +0 -1
  112. package/skills/ue-niagara-effects/SKILL.md +0 -1
  113. package/skills/ue-packaging/SKILL.md +0 -1
  114. package/skills/ue-physics-collision/SKILL.md +0 -1
  115. package/skills/ue-procedural-generation/SKILL.md +0 -1
  116. package/skills/ue-project-context/SKILL.md +0 -1
  117. package/skills/ue-sequencer-cinematics/SKILL.md +0 -1
  118. package/skills/ue-serialization-savegames/SKILL.md +0 -1
  119. package/skills/ue-state-trees/SKILL.md +0 -1
  120. package/skills/ue-testing-debugging/SKILL.md +0 -1
  121. package/skills/ue-ui-umg-slate/SKILL.md +0 -1
  122. package/skills/ue-world-level-streaming/SKILL.md +0 -1
  123. package/skills/ux-review/SKILL.md +1 -1
  124. package/docs/RELEASE-SETUP.md +0 -99
  125. package/docs/presentations/arcane-overview-12.pptx +0 -0
  126. package/docs/presentations/arcane-overview.pptx +0 -0
  127. package/docs/presentations/build_arcane_deck.py +0 -310
  128. package/docs/presentations/build_arcane_deck_12.py +0 -399
  129. package/docs/trusted-publishing-setup.md +0 -163
@@ -1,9 +1,9 @@
1
1
  ---
2
2
  paths:
3
- - "src/ai/**"
3
+ - "src/**/ai/**"
4
+ - "src/**/llm/**"
5
+ - "src/**/agents/**"
4
6
  - "src/ml/**"
5
- - "src/llm/**"
6
- - "src/agents/**"
7
7
  - "src/inference/**"
8
8
  - "prompts/**"
9
9
  - "models/**"
@@ -12,7 +12,7 @@ paths:
12
12
  # AI / LLM / ML Code Rules
13
13
 
14
14
  Applies to software integrations with LLMs, ML inference, and AI agents — not NPC behavior in games
15
- (that rule lives in `skills-gamedev/_rules/ai-code.md`).
15
+ (the gamedev profiles ship their own `ai-code` rule for that).
16
16
 
17
17
  ## Prompts & Templates
18
18
 
@@ -28,7 +28,7 @@ Applies to software integrations with LLMs, ML inference, and AI agents — not
28
28
  - **Cost budget per request is measured and logged**: token counts in + out, model, cost in $. Track P50/P95 cost per feature.
29
29
  - **Timeouts and retries are bounded**: max retries ≤ 2, exponential backoff, circuit breaker on the provider. A hung LLM call must not hang a user request.
30
30
  - **Streaming for user-facing generation**; batch / async for back-office work.
31
- - **Cache deterministic calls** (same system + same user + temperature 0 → cache the response). Document TTL and invalidation.
31
+ - **Cache deterministic calls** (same model + same system + same user → cache the response). Document TTL and invalidation.
32
32
 
33
33
  ## Safety & PII
34
34
 
@@ -377,7 +377,8 @@ with open('my_tools_anthropic.json') as f:
377
377
  # Use with Anthropic tool use
378
378
  client = anthropic.Anthropic()
379
379
  response = client.messages.create(
380
- model="claude-3-opus-20240229",
380
+ model="claude-opus-5-5",
381
+ max_tokens=16000,
381
382
  messages=[{"role": "user", "content": "Search for AI news"}],
382
383
  tools=schemas['tools']
383
384
  )
@@ -220,11 +220,6 @@ class AgentEvaluator:
220
220
  def _define_cost_benchmarks(self) -> Dict[str, Any]:
221
221
  """Define cost benchmarks for different operations"""
222
222
  return {
223
- "token_costs": {
224
- "gpt-4": {"input": 0.00003, "output": 0.00006},
225
- "gpt-3.5-turbo": {"input": 0.000002, "output": 0.000002},
226
- "claude-3": {"input": 0.000015, "output": 0.000075}
227
- },
228
223
  "operation_costs": {
229
224
  "simple_task": 0.005,
230
225
  "complex_task": 0.050,
@@ -15,7 +15,7 @@ allowed-tools: Read, Glob, Grep, Bash, Write, Edit, Task
15
15
  ### Step 0: Gather Requirements
16
16
  1. **Caso:** chat / generación one-shot / extracción structured / agente con tools / RAG
17
17
  2. **Streaming** al cliente o respuesta completa
18
- 3. **Modelo:** Opus 4.8 (`claude-opus-4-8`, razonamiento) / Sonnet 4.6 (`claude-sonnet-4-6`, balance) / Haiku 4.5 (`claude-haiku-4-5-20251001`, rápido/barato)
18
+ 3. **Modelo:** Opus 5.5 (`claude-opus-5-5`, razonamiento) / Sonnet 5.5 (`claude-sonnet-5-5`, balance) / Haiku 5.5 (`claude-haiku-5-5`, rápido/barato)
19
19
  4. ¿Necesita tool calling / structured output / RAG (ver skill `pgvector-search`)?
20
20
 
21
21
  ### Step 1: Instalar
@@ -33,7 +33,7 @@ import { streamText, convertToModelMessages } from 'ai';
33
33
  export async function POST(req: Request) {
34
34
  const { messages } = await req.json();
35
35
  const result = streamText({
36
- model: anthropic('claude-sonnet-4-6'),
36
+ model: anthropic('claude-sonnet-5-5'),
37
37
  messages: convertToModelMessages(messages),
38
38
  });
39
39
  return result.toUIMessageStreamResponse();
@@ -44,7 +44,7 @@ Cliente: `useChat()` de `@ai-sdk/react`.
44
44
  ### Step 3: Structured output (Zod)
45
45
  ```ts
46
46
  const { object } = await generateObject({
47
- model: anthropic('claude-sonnet-4-6'),
47
+ model: anthropic('claude-sonnet-5-5'),
48
48
  schema: z.object({ sentiment: z.enum(['pos','neg','neutral']), score: z.number() }),
49
49
  prompt: text,
50
50
  });
@@ -53,7 +53,7 @@ const { object } = await generateObject({
53
53
  ### Step 4: Tool calling / agente
54
54
  ```ts
55
55
  const result = await generateText({
56
- model: anthropic('claude-opus-4-8'),
56
+ model: anthropic('claude-opus-5-5'),
57
57
  tools: {
58
58
  search: tool({
59
59
  description: 'Buscar docs', inputSchema: z.object({ q: z.string() }),
@@ -18,11 +18,10 @@ allowed-tools: Read, Glob, Grep, Write, Task, AskUserQuestion
18
18
 
19
19
  ## Phase 0: Load Engine Context (ALWAYS FIRST)
20
20
 
21
- 1. Read `docs/engine-reference/[engine]/VERSION.md` → engine name, version, cutoff risk
21
+ 1. Read the engine version from the project: `ProjectSettings/ProjectVersion.txt` (Unity) or `EngineAssociation` in the `.uproject` (Unreal). For Unreal, also read `docs/unreal/project-context.md` if `/ue-project-context` has run
22
22
  2. Identify domain from title (Physics, Rendering, UI, Audio, etc.)
23
- 3. Read module reference + `breaking-changes.md` + `deprecated-apis.md`
24
- 4. Display knowledge gap warning if MEDIUM/HIGH risk
25
- 5. No engine configured → prompt to run `/setup-engine`
23
+ 3. If the engine version is newer than what you know reliably, say so before proposing engine APIs
24
+ 4. No engine detected → ask the user which engine and version
26
25
 
27
26
  ## Phase 1: Context Gathering
28
27
 
@@ -25,7 +25,7 @@ model: opus
25
25
  ## Phase 1: Load
26
26
 
27
27
  1. **L0 Summary Scan**: Grep `## Summary` from all GDDs and ADRs (fast, low tokens)
28
- 2. **L1/L2 Full Load** (per mode): GDDs, ADRs, engine reference docs, `technical-preferences.md`, `consistency-failures.md`
28
+ 2. **L1/L2 Full Load** (per mode): GDDs, ADRs, engine and version from `ProjectSettings/ProjectVersion.txt` (Unity) or the `.uproject` (Unreal), `consistency-failures.md`
29
29
  3. Report: "Loaded [N] GDDs, [M] ADRs, engine: [name+version]"
30
30
 
31
31
  ## Phase 2: Extract Technical Requirements
@@ -92,4 +92,3 @@ This skill is read-only — it produces a report but does not write files.
92
92
 
93
93
  - Fix naming violations using the patterns defined in CLAUDE.md.
94
94
  - Delete confirmed orphaned assets after manual review.
95
- - Run `/content-audit` to cross-check asset counts against GDD-specified requirements.
@@ -111,7 +111,7 @@ If yes:
111
111
  - Guide the user to update the relevant data file in `assets/data/` or formula in `design/balance/`
112
112
  - After each fix, offer to re-run the relevant balance checks to verify no new outliers were introduced
113
113
  - If the fix changes a tuning knob defined in a GDD or referenced by an ADR, remind the user:
114
- > "This value is defined in a design document. Run `/propagate-design-change [path]` on the affected GDD to find downstream impacts before committing."
114
+ > "This value is defined in a design document. Run `/consistency-check` after updating the GDD to find the documents that depend on it before committing."
115
115
 
116
116
  If no:
117
117
  - Summarize open issues and suggest saving the report to `design/balance/balance-check-[system]-[date].md` for later
@@ -11,7 +11,7 @@ allowed-tools: Read, Glob, Grep, Write, WebSearch, Task, AskUserQuestion
11
11
 
12
12
  ## Setup
13
13
 
14
- 1. Parse argument for genre/theme hint (`roguelike`, `space survival`, `open`). Resolve review mode: `--review` flag → `production/review-mode.txt` → default `lean`. See `.claude/docs/director-gates.md`.
14
+ 1. Parse argument for genre/theme hint (`roguelike`, `space survival`, `open`). Resolve review mode: `--review` flag → `production/review-mode.txt` → default `lean`.
15
15
  2. Check existing work: `design/gdd/game-concept.md` (resume), `design/gdd/game-pillars.md` (build on).
16
16
  3. Run phases **interactively** — collaborative exploration, not silent generation. Use `AskUserQuestion` at key decision points.
17
17
 
@@ -74,12 +74,12 @@ Using Bartle taxonomy + Quantic Foundry: primary player type, secondary appeal,
74
74
  ### Phase 6: Scope and Feasibility
75
75
 
76
76
  - **Platform**: AskUserQuestion (PC / Mobile / Console / Web / Multiple)
77
- - **Engine**: AskUserQuestion (Unity / Unreal / No preference → suggest `/setup-engine` later). Don't second-guess if they pick one.
77
+ - **Engine**: AskUserQuestion (Unity / Unreal / No preference → once decided, `/scaffold-unity` for Unity or `/ue-project-context` for Unreal). Don't second-guess if they pick one.
78
78
  - **Art pipeline, content scope, MVP definition, biggest risks, scope tiers**
79
79
 
80
80
  ## Document Generation
81
81
 
82
- Generate game concept using template at `.claude/docs/templates/game-concept.md`. Include Visual Identity Anchor section. Scope consistency rule: Estimated Scope must match full-vision timeline.
82
+ Generate game concept using template at `.claude/skills/_templates/game-concept.md`. Include Visual Identity Anchor section. Scope consistency rule: Estimated Scope must match full-vision timeline.
83
83
 
84
84
  AskUserQuestion for write approval → if "revise" → iterate until approved → write to `design/gdd/game-concept.md`.
85
85
 
@@ -1,13 +1,12 @@
1
1
  # Next Steps — Full Pipeline
2
2
 
3
- 1. `/setup-engine` — configure engine + reference docs
3
+ 1. `/scaffold-unity` (Unity) or `/ue-project-context` (Unreal) — set up the engine project
4
4
  2. `/art-bible` — visual identity (BEFORE GDDs)
5
- 3. `/design-review design/gdd/game-concept.md` — validate completeness
6
- 4. `/map-systems` — decompose into systems with dependencies
7
- 5. `/design-system` — per-system GDDs
8
- 6. `/create-architecture` — master architecture blueprint + ADR list
9
- 7. `/architecture-decision` (xN) — one ADR per decision
10
- 8. `/gate-check` — phase gate before production
11
- 9. `/prototype [core-mechanic]` — validate core loop
12
- 10. `/playtest-report` — validate hypothesis
5
+ 3. `/map-systems` — decompose into systems with dependencies
6
+ 4. `/design-system` — per-system GDDs
7
+ 5. `/consistency-check` — cross-GDD conflicts before architecture
8
+ 6. `/architecture-decision` (xN) — one ADR per decision
9
+ 7. `/gate-check` — phase gate before production
10
+ 8. `/prototype [core-mechanic]` — validate core loop
11
+ 9. `/playtest-report` — validate hypothesis
13
12
  11. `/sprint-plan new` — first sprint
@@ -10,7 +10,7 @@ allowed-tools: Read, Glob, Grep, Write, Edit, Bash
10
10
 
11
11
  Detects cross-document inconsistencies by comparing GDDs against entity registry (`design/registry/entities.yaml`). Grep-first: read registry once, then grep only matching names — no full document reads.
12
12
 
13
- Run: after each new GDD, before `/review-all-gdds`, before `/create-architecture`. Output: conflict report + optional registry corrections.
13
+ Run: after each new GDD, and before `/architecture-decision`. Output: conflict report + optional registry corrections.
14
14
 
15
15
  ## Arguments
16
16
 
@@ -62,7 +62,7 @@ If 🔴 conflicts found → append to `docs/consistency-failures.md` (if exists)
62
62
 
63
63
  ## Protocol
64
64
 
65
- - PASS → proceed to `/review-all-gdds` or `/create-architecture`
65
+ - PASS → proceed to `/architecture-decision`
66
66
  - CONFLICTS FOUND → fix GDDs, re-run to confirm
67
67
  - Source GDD (per `source:` field) is authoritative owner
68
68
  - Run after each new GDD to catch issues early
@@ -23,7 +23,7 @@ Read all before asking anything:
23
23
  4. `design/registry/entities.yaml` — known cross-system facts (locked values)
24
24
  5. `docs/consistency-failures.md` — past conflict patterns for this domain
25
25
  6. `design/gdd/game-pillars.md`, related GDDs (optional)
26
- 7. `.claude/docs/technical-preferences.md` → engine + version → engine reference docs → feasibility brief
26
+ 7. Engine and version from `ProjectSettings/ProjectVersion.txt` (Unity) or the `.uproject` (Unreal) → feasibility brief
27
27
 
28
28
  Present context summary with dependencies, registry facts, engine constraints. Warn if upstream deps undesigned.
29
29
 
@@ -3,6 +3,5 @@
3
3
  1. **Self-check**: All 8 sections have real content, formulas have variables, edge cases have resolutions
4
4
  2. **CD Pillar Review** (full mode only): Spawn `creative-director` gate CD-GDD-ALIGN
5
5
  3. **Registry update**: Scan for new entities/items/formulas/constants -> append to `design/registry/entities.yaml`
6
- 4. **Offer review**: Direct to `/design-review` in **fresh session** (never inline)
7
- 5. **Update systems index**: Status -> Designed/Approved/In Review
8
- 6. **Suggest next**: `/consistency-check`, next system, `/gate-check`
6
+ 4. **Update systems index**: Status -> Designed/Approved/In Review
7
+ 5. **Suggest next**: `/consistency-check`, next system, `/gate-check`
@@ -159,7 +159,7 @@ project/
159
159
  2. Plan motion sequences following performance guardrails
160
160
 
161
161
  ### Phase 3: Asset Generation
162
- Generate all image/video/audio assets using `scripts/`. NEVER use placeholder URLs (unsplash, picsum, placeholder.com, via.placeholder, placehold.co, etc.) or external URLs.
162
+ Generate all image/video/audio assets using `scripts/`. Don't use placeholder URLs (unsplash, picsum, placeholder.com, via.placeholder, placehold.co, etc.) or external URLs: they break offline and in production.
163
163
 
164
164
  1. Parse asset requirements (type, style, spec, usage)
165
165
  2. Craft optimized prompts, show to user, confirm before generating
@@ -169,7 +169,7 @@ Generate all image/video/audio assets using `scripts/`. NEVER use placeholder UR
169
169
  Follow copywriting frameworks (AIDA, PAS, FAB) to craft all text content. Do NOT use "Lorem ipsum" — write real copy.
170
170
 
171
171
  ### Phase 5: Build UI
172
- Scaffold the project and build each section following Design and Motion rules. Integrate generated assets and copy. All `<img>`, `<video>`, `<source>`, and CSS `background-image` MUST reference local assets from Phase 3.
172
+ Scaffold the project and build each section following Design and Motion rules. Integrate generated assets and copy. All `<img>`, `<video>`, `<source>`, and CSS `background-image` reference local assets from Phase 3.
173
173
 
174
174
  ### Phase 6: Quality Gates
175
175
  Run final checklist (see Quality Gates section).
@@ -191,19 +191,19 @@ Adapt dynamically based on user requests.
191
191
  ## 1.2 Architecture Conventions
192
192
  - **DEPENDENCY VERIFICATION:** Check `package.json` before importing any library. Output install command if missing.
193
193
  - **Framework:** React/Next.js. Default to Server Components. Interactive components must be isolated `"use client"` leaf components.
194
- - **Styling:** Tailwind CSS. Check version in `package.json` — NEVER mix v3/v4 syntax.
195
- - **ANTI-EMOJI POLICY:** NEVER use emojis anywhere. Use Phosphor or Radix icons only.
194
+ - **Styling:** Tailwind CSS. Check the version in `package.json` and use only that version's syntax; v3 and v4 don't mix.
195
+ - **Icons:** No emojis anywhere. Use Phosphor or Radix icons.
196
196
  - **Viewport:** Use `min-h-[100dvh]` not `h-screen`. Use CSS Grid not flex percentage math.
197
197
  - **Layout:** `max-w-[1400px] mx-auto` or `max-w-7xl`.
198
198
 
199
199
  ## 1.3 Design Rules
200
200
  | Rule | Directive |
201
201
  |------|-----------|
202
- | Typography | Headlines: `text-4xl md:text-6xl tracking-tighter`. Body: `text-base leading-relaxed max-w-[65ch]`. **NEVER** use Inter — use Geist/Outfit/Satoshi. **NEVER** use Serif on dashboards. |
203
- | Color | Max 1 accent, saturation < 80%. **NEVER** use AI purple/blue. Stick to one palette. |
204
- | Layout | **NEVER** use centered heroes when VARIANCE > 4. Force split-screen or asymmetric layouts. |
205
- | Cards | **NEVER** use generic cards when DENSITY > 7. Use `border-t`, `divide-y`, or spacing. |
206
- | States | **ALWAYS** implement: Loading (skeleton), Empty, Error, Tactile feedback (`scale-[0.98]`). |
202
+ | Typography | Headlines: `text-4xl md:text-6xl tracking-tighter`. Body: `text-base leading-relaxed max-w-[65ch]`. No Inter: use Geist/Outfit/Satoshi. No serif on dashboards. |
203
+ | Color | Max 1 accent, saturation < 80%. No AI purple/blue. Stick to one palette. |
204
+ | Layout | No centered heroes when VARIANCE > 4: use split-screen or asymmetric layouts. |
205
+ | Cards | No generic cards when DENSITY > 7: use `border-t`, `divide-y`, or spacing. |
206
+ | States | Implement Loading (skeleton), Empty, Error and Tactile feedback (`scale-[0.98]`). |
207
207
  | Forms | Label above input. Error below. `gap-2` for input blocks. |
208
208
 
209
209
  ## 1.4 Anti-Slop Techniques
@@ -271,10 +271,10 @@ When brand styling is active:
271
271
  | Hover/focus states | **CSS only** — zero JS cost |
272
272
  | Native scroll-driven | **CSS** — `animation-timeline: scroll()` |
273
273
 
274
- **Conflict Rules [MANDATORY]:**
275
- - NEVER mix GSAP + Framer Motion in same component
276
- - R3F MUST live in isolated Canvas wrapper
277
- - ALWAYS lazy-load Lottie, GSAP, Three.js
274
+ **Conflict rules:**
275
+ - Don't mix GSAP and Framer Motion in the same component: both drive the same transforms and fight
276
+ - R3F lives in an isolated Canvas wrapper
277
+ - Lazy-load Lottie, GSAP and Three.js
278
278
 
279
279
  ## 2.2 Intensity Scale
280
280
 
@@ -304,22 +304,22 @@ See `references/motion-recipes.md` for full code. Summary:
304
304
  | Layout Morph | Framer | Card-to-modal expansion |
305
305
 
306
306
  ## 2.4 Performance Rules
307
- **GPU-only properties (ONLY animate these):** `transform`, `opacity`, `filter`, `clip-path`
307
+ **GPU-only properties (animate only these):** `transform`, `opacity`, `filter`, `clip-path`
308
308
 
309
- **NEVER animate:** `width`, `height`, `top`, `left`, `margin`, `padding`, `font-size` — if you need these effects, use `transform: scale()` or `clip-path` instead.
309
+ **Don't animate** `width`, `height`, `top`, `left`, `margin`, `padding`, `font-size`: they trigger layout on every frame. If you need these effects, use `transform: scale()` or `clip-path` instead.
310
310
 
311
311
  **Isolation:**
312
- - Perpetual animations MUST be in `React.memo` leaf components
313
- - `will-change: transform` ONLY during animation
312
+ - Perpetual animations go in `React.memo` leaf components
313
+ - `will-change: transform` only during animation
314
314
  - `contain: layout style paint` on heavy containers
315
315
 
316
316
  **Mobile:**
317
- - ALWAYS respect `prefers-reduced-motion`
318
- - ALWAYS disable parallax/3D on `pointer: coarse`
317
+ - Respect `prefers-reduced-motion`
318
+ - Disable parallax/3D on `pointer: coarse`
319
319
  - Cap particles: desktop 800, tablet 300, mobile 100
320
320
  - Disable GSAP pin on mobile < 768px
321
321
 
322
- **Cleanup:** Every `useEffect` with GSAP/observers MUST `return () => ctx.revert()`
322
+ **Cleanup:** Every `useEffect` with GSAP/observers returns `() => ctx.revert()`
323
323
 
324
324
  ## 2.5 Springs & Easings
325
325
 
@@ -337,11 +337,10 @@ See `references/motion-recipes.md` for full code. Summary:
337
337
  | Elastic | `cubic-bezier(0.34, 1.56, 0.64, 1)` |
338
338
 
339
339
  ## 2.6 Accessibility
340
- - ALWAYS wrap motion in `prefers-reduced-motion` check
341
- - NEVER flash content > 3 times/second (seizure risk)
342
- - ALWAYS provide visible focus rings (use `outline` not `box-shadow`)
343
- - ALWAYS add `aria-live="polite"` for dynamically revealed content
344
- - ALWAYS include pause button for auto-playing animations
340
+ - Never flash content more than 3 times per second (seizure risk)
341
+ - Visible focus rings (`outline`, not `box-shadow`)
342
+ - `aria-live="polite"` on dynamically revealed content
343
+ - A pause button on auto-playing animations
345
344
 
346
345
  ## 2.7 Dependencies
347
346
 
@@ -371,9 +370,9 @@ Env: `MINIMAX_API_KEY` (required).
371
370
 
372
371
  ## 3.2 Workflow
373
372
  1. **Parse:** type, quantity, style, spec, usage
374
- 2. **Craft prompt:** Be specific (composition, lighting, style). **NEVER** include text in image prompts.
375
- 3. **Execute:** Show prompt to user, **MUST confirm before generating**, then run script
376
- 4. **Save:** `<project>/public/assets/{images,videos,audio}/` as `{type}-{descriptor}-{timestamp}.{ext}` — **MUST save locally**
373
+ 2. **Craft prompt:** Be specific (composition, lighting, style). Leave text out of image prompts: generators render it garbled.
374
+ 3. **Execute:** Show the prompt to the user and wait for confirmation before generating, then run the script
375
+ 4. **Save:** `<project>/public/assets/{images,videos,audio}/` as `{type}-{descriptor}-{timestamp}.{ext}` — save locally
377
376
  5. **Post-process:** Images → WebP, Videos → ffmpeg compress, Audio → normalize
378
377
  6. **Deliver:** File path + code snippet + CSS suggestion
379
378
 
@@ -7,7 +7,7 @@
7
7
  - Include style modifiers: "editorial photography", "3D render", "flat vector illustration"
8
8
  - Add technical specs: "4K resolution, sharp focus, shallow depth of field"
9
9
  - For web assets: always mention "clean background", "web-optimized", "high contrast for readability"
10
- - **NEVER** include text in image prompts unless explicitly requested — AI text rendering is unreliable
10
+ - Leave text out of image prompts unless explicitly requested — AI text rendering is unreliable
11
11
 
12
12
  ## Video Prompts
13
13
 
@@ -106,7 +106,7 @@ export function PinnedTimeline() {
106
106
  });
107
107
  }, containerRef);
108
108
 
109
- return () => ctx.revert(); // CRITICAL: full cleanup
109
+ return () => ctx.revert(); // full cleanup, or GSAP keeps running after unmount
110
110
  }, []);
111
111
 
112
112
  return (
@@ -16,7 +16,7 @@ model: haiku
16
16
  - Latest sprint: !`ls -t production/sprints/*.md 2>/dev/null | head -1 || echo 'none'`
17
17
  - Session state: !`head -5 production/session-state/active.md 2>/dev/null || echo 'none'`
18
18
 
19
- Read-only skill — reports findings, writes no files. Lightweight orientation; for full gap analysis use `/project-stage-detect`.
19
+ Read-only skill — reports findings, writes no files. Lightweight orientation; for a formal readiness check use `/gate-check`.
20
20
 
21
21
  ## Step 1: Read Catalog + Find Uncataloged Skills
22
22
 
@@ -65,7 +65,6 @@ All required steps complete → "Close to [Current]→[Next] gate. Run `/gate-ch
65
65
 
66
66
  ## Step 9: Escalation (only if user seems stuck)
67
67
 
68
- - `/project-stage-detect` — full gap analysis
69
68
  - `/gate-check` — formal readiness check
70
69
  - `/start` — re-orient from scratch
71
70
 
@@ -50,8 +50,8 @@ Spawn `qa-director` (or `qa-engineer` if that is what is installed) with hotfix
50
50
  | QA Verdict | Action |
51
51
  |------------|--------|
52
52
  | Smoke check sufficient | `/smoke-check` → if PASS, proceed |
53
- | Targeted QA pass | `/team-qa [affected-system]` → if APPROVED, proceed |
54
- | Full QA required | `/team-qa sprint` — delays deploy but prevents bad patch |
53
+ | Targeted QA pass | Manual pass on the affected system with the plan from `/qa-plan [affected-system]` → if PASS, proceed |
54
+ | Full QA required | Full manual pass with the plan from `/qa-plan sprint` — delays deploy but prevents bad patch |
55
55
 
56
56
  Do not skip this gate.
57
57
 
@@ -9,7 +9,7 @@ allowed-tools: Read, Glob, Grep, Write, Task, AskUserQuestion
9
9
 
10
10
  ## Phase 0: Parse Arguments
11
11
 
12
- Extract milestone name (`current` = most recent). Resolve review mode: `--review` arg > `production/review-mode.txt` > default `lean`. See `.claude/docs/director-gates.md`.
12
+ Extract milestone name (`current` = most recent). Resolve review mode: `--review` arg > `production/review-mode.txt` > default `lean`.
13
13
 
14
14
  ## Phase 1: Load Milestone Data
15
15
 
@@ -25,7 +25,7 @@ Read: `production/releases/[version]/changelog.md`, `docs/CHANGELOG.md` entry, `
25
25
 
26
26
  Check for tone/voice guidance in: `.claude/docs/technical-preferences.md`, `docs/PATCH-NOTES-STYLE.md`, `design/community/tone-guide.md`. Default: player-friendly, non-technical, enthusiastic not hyperbolic, focus on player experience.
27
27
 
28
- Check for template at `docs/patch-notes-template.md` or `.claude/docs/templates/patch-notes-template.md`. If found → use as structure instead of built-in styles.
28
+ Use the project's own template at `docs/patch-notes-template.md` if it exists; otherwise `.claude/docs/templates/release-notes.md` (player-facing: headline, what's new, gameplay changes, fixes). Either one replaces the built-in styles.
29
29
 
30
30
  ## Phase 3: Categorize and Translate
31
31
 
@@ -9,7 +9,7 @@ allowed-tools: Read, Glob, Grep, Write, Task, AskUserQuestion
9
9
 
10
10
  ## Phase 1: Parse Arguments
11
11
 
12
- Resolve review mode: `--review` arg > `production/review-mode.txt` > default `lean`. See `.claude/docs/director-gates.md`.
12
+ Resolve review mode: `--review` arg > `production/review-mode.txt` > default `lean`.
13
13
 
14
14
  Modes: `new` → blank template, `analyze [path]` → structured findings from raw notes.
15
15
 
@@ -25,7 +25,7 @@ Read raw notes. Cross-reference with design documents. Fill template with struct
25
25
 
26
26
  | Bucket | Route |
27
27
  |--------|-------|
28
- | Design changes | `/propagate-design-change [path]` for downstream impacts |
28
+ | Design changes | Update the GDD, then `/consistency-check` for downstream impacts |
29
29
  | Balance adjustments | `/balance-check [system]` before tuning |
30
30
  | Bugs | `/bug-report` to formally track |
31
31
  | Polish items | Add to `production/` polish backlog |
@@ -41,5 +41,4 @@ Ask to write to `production/qa/playtests/playtest-[date]-[tester].md`.
41
41
  ## Phase 5: Next Steps
42
42
 
43
43
  - Act on highest-priority finding category first
44
- - Design changes → `/design-review` on updated GDD
45
44
  - Bugs → `/bug-triage` to update priorities
@@ -67,8 +67,8 @@ Leverage Claude Code's built-in capabilities:
67
67
 
68
68
  - **Large migrations**: Use `/batch` for parallel file-by-file conversion
69
69
  - **Post-generation cleanup**: Use `/simplify` after generating a test suite
70
- - **Debugging sessions**: Use `/debug` alongside `/pw:fix` for trace analysis
71
- - **Code review**: Use `/review` for general code quality, `/pw:review` for Playwright-specific
70
+ - **Debugging sessions**: Use `/debug` alongside `/playwright-pro fix` for trace analysis
71
+ - **Code review**: Use `/review` for general code quality, `/playwright-pro review` for Playwright-specific
72
72
 
73
73
  ### Integrations
74
74
 
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: playwright-pro
3
3
  description: "Production-grade Playwright testing toolkit. Generate tests, fix flaky failures, migrate from Cypress/Selenium, sync with TestRail, run on BrowserStack. 55 templates, 3 agents, smart reporting."
4
- argument-hint: ""
4
+ argument-hint: "[browserstack|fix|generate|init|migrate|report|review|testrail] [args]"
5
5
  category: "testing"
6
6
  user-invocable: true
7
7
  allowed-tools: Read, Glob, Grep, Bash, Write, Edit
@@ -13,21 +13,25 @@ Production-grade Playwright testing toolkit for AI coding agents.
13
13
 
14
14
  > **Note:** This skill may create or modify files in your project. It will ask before writing.
15
15
 
16
+ ## Sub-commands
17
+
18
+ `/playwright-pro` with no argument shows this overview. With a sub-command as its first argument, read `skills/<sub-command>/SKILL.md` from this skill's directory and follow it, passing the remaining arguments. Sub-commands: `browserstack`, `fix`, `generate`, `init`, `migrate`, `report`, `review`, `testrail`.
19
+
16
20
  ## Quick Start Workflow
17
21
 
18
22
  The recommended sequence for most projects:
19
23
 
20
24
  ```
21
- 1. /pw:init -> scaffolds config, CI pipeline, and a first smoke test
22
- 2. /pw:generate -> generates tests from your spec or URL
23
- 3. /pw:review -> validates quality and flags anti-patterns <- always run after generate
24
- 4. /pw:fix <test> -> diagnoses and repairs any failing/flaky tests <- run when CI turns red
25
+ 1. /playwright-pro init -> scaffolds config, CI pipeline, and a first smoke test
26
+ 2. /playwright-pro generate -> generates tests from your spec or URL
27
+ 3. /playwright-pro review -> validates quality and flags anti-patterns <- always run after generate
28
+ 4. /playwright-pro fix <test> -> diagnoses and repairs any failing/flaky tests <- run when CI turns red
25
29
  ```
26
30
 
27
31
  **Validation checkpoints:**
28
- - After `/pw:generate` -- always run `/pw:review` before committing
29
- - After `/pw:fix` -- re-run the full suite locally (`npx playwright test`)
30
- - After `/pw:migrate` -- run `/pw:coverage` to confirm parity before decommissioning old tests
32
+ - After `/playwright-pro generate` -- always run `/playwright-pro review` before committing
33
+ - After `/playwright-pro fix` -- re-run the full suite locally (`npx playwright test`)
34
+ - After `/playwright-pro migrate` -- run both suites and compare test counts and results before decommissioning old tests
31
35
 
32
36
  ## Golden Rules
33
37
 
@@ -55,7 +59,7 @@ The recommended sequence for most projects:
55
59
 
56
60
  ## What's Included
57
61
 
58
- - **9 skills** with detailed step-by-step instructions
62
+ - **8 skills** with detailed step-by-step instructions
59
63
  - **3 specialized agents**: test-architect, test-debugger, migration-planner
60
64
  - **55 test templates**: auth, CRUD, checkout, search, forms, dashboard, settings, onboarding, notifications, API, accessibility
61
65
  - **2 MCP servers** (TypeScript): TestRail and BrowserStack integrations
@@ -2,7 +2,7 @@
2
2
  name: migration-planner
3
3
  description: >-
4
4
  Analyzes Cypress or Selenium test suites and creates a file-by-file
5
- migration plan. Invoked by /pw:migrate before conversion starts.
5
+ migration plan. Invoked by /playwright-pro migrate before conversion starts.
6
6
  allowed-tools:
7
7
  - Read
8
8
  - Grep
@@ -118,4 +118,4 @@ Flag tests that may need manual intervention:
118
118
 
119
119
  ### Step 7: Return Plan
120
120
 
121
- Return the complete migration plan to `/pw:migrate` for execution.
121
+ Return the complete migration plan to `/playwright-pro migrate` for execution.
@@ -1,8 +1,7 @@
1
1
  ---
2
2
  name: test-architect
3
3
  description: >-
4
- Plans test strategy for complex applications. Invoked by /pw:generate and
5
- /pw:coverage when the app has multiple routes, complex state, or requires
4
+ Plans test strategy for complex applications. Invoked by /playwright-pro generate when the app has multiple routes, complex state, or requires
6
5
  a structured test plan before writing tests.
7
6
  allowed-tools:
8
7
  - Read
@@ -2,7 +2,7 @@
2
2
  name: test-debugger
3
3
  description: >-
4
4
  Diagnoses flaky or failing Playwright tests using systematic taxonomy.
5
- Invoked by /pw:fix when a test needs deep analysis including running
5
+ Invoked by /playwright-pro fix when a test needs deep analysis including running
6
6
  tests, reading traces, and identifying root causes.
7
7
  allowed-tools:
8
8
  - Read
@@ -20,4 +20,4 @@ fi
20
20
  # Count existing test files
21
21
  TEST_COUNT=$(find . -name "*.spec.ts" -o -name "*.spec.js" -o -name "*.test.ts" -o -name "*.test.js" 2>/dev/null | grep -v node_modules | wc -l | tr -d ' ')
22
22
 
23
- echo "🎭 Playwright detected ($PW_CONFIG) — $TEST_COUNT test files found. Use /pw: commands for testing workflows."
23
+ echo "🎭 Playwright detected ($PW_CONFIG) — $TEST_COUNT test files found. Use /playwright-pro for testing workflows."
@@ -24,7 +24,7 @@ If not set, inform the user how to get them from [browserstack.com/accounts/sett
24
24
  ### 1. Configure for BrowserStack
25
25
 
26
26
  ```
27
- /pw:browserstack setup
27
+ /playwright-pro browserstack setup
28
28
  ```
29
29
 
30
30
  Steps:
@@ -96,7 +96,7 @@ export default defineConfig({
96
96
  ### 2. Run Tests on BrowserStack
97
97
 
98
98
  ```
99
- /pw:browserstack run
99
+ /playwright-pro browserstack run
100
100
  ```
101
101
 
102
102
  Steps:
@@ -113,7 +113,7 @@ Steps:
113
113
  ### 3. Get Build Results
114
114
 
115
115
  ```
116
- /pw:browserstack results
116
+ /playwright-pro browserstack results
117
117
  ```
118
118
 
119
119
  Steps:
@@ -130,7 +130,7 @@ Steps:
130
130
  ### 4. Check Available Browsers
131
131
 
132
132
  ```
133
- /pw:browserstack browsers
133
+ /playwright-pro browserstack browsers
134
134
  ```
135
135
 
136
136
  Steps:
@@ -141,7 +141,7 @@ Steps:
141
141
  ### 5. Local Testing
142
142
 
143
143
  ```
144
- /pw:browserstack local
144
+ /playwright-pro browserstack local
145
145
  ```
146
146
 
147
147
  For testing localhost or staging behind firewall:
@@ -48,7 +48,7 @@ Migration Assessment:
48
48
 
49
49
  ### 3. Set Up Playwright (If Not Present)
50
50
 
51
- Run `/pw:init` first if Playwright isn't configured.
51
+ Run `/playwright-pro init` first if Playwright isn't configured.
52
52
 
53
53
  ### 4. Convert Files
54
54
 
@@ -46,7 +46,7 @@ Check what's configured and route automatically:
46
46
 
47
47
  | Check | If found | Action |
48
48
  |---|---|---|
49
- | `TESTRAIL_URL` env var | TestRail configured | Push results via `/pw:testrail push` |
49
+ | `TESTRAIL_URL` env var | TestRail configured | Push results via `/playwright-pro testrail push` |
50
50
  | `SLACK_WEBHOOK_URL` env var | Slack configured | Post summary to Slack |
51
51
  | `.github/workflows/` | GitHub Actions | Results go to PR comment via artifacts |
52
52
  | `playwright-report/` | HTML reporter | Open or serve the report |
@@ -98,7 +98,7 @@ curl -X POST "$SLACK_WEBHOOK_URL" \
98
98
 
99
99
  #### TestRail Push (If Configured)
100
100
 
101
- Invoke `/pw:testrail push` with the JSON results.
101
+ Invoke `/playwright-pro testrail push` with the JSON results.
102
102
 
103
103
  #### HTML Report
104
104