@musashishao/agent-kit 1.9.0 → 1.9.1

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 (125) hide show
  1. package/.agent/agents/ai-asset-factory.md +700 -0
  2. package/.agent/agents/ai-audio-factory.md +503 -0
  3. package/.agent/agents/game-developer.md +4 -4
  4. package/.agent/agents/orchestrator.md +113 -3
  5. package/.agent/agents/project-planner.md +67 -0
  6. package/.agent/agents/unity-mobile-master.md +949 -0
  7. package/.agent/mcp/config/registry.json +65 -51
  8. package/.agent/mcp/servers/notebooklm/README.md +114 -0
  9. package/.agent/mcp/servers/notebooklm/package.json +35 -0
  10. package/.agent/mcp/servers/notebooklm/src/auth/chrome.ts +225 -0
  11. package/.agent/mcp/servers/notebooklm/src/auth/index.ts +1 -0
  12. package/.agent/mcp/servers/notebooklm/src/index.ts +516 -0
  13. package/.agent/mcp/servers/notebooklm/src/services/index.ts +3 -0
  14. package/.agent/mcp/servers/notebooklm/src/services/library.ts +217 -0
  15. package/.agent/mcp/servers/notebooklm/src/services/notebooklm.ts +380 -0
  16. package/.agent/mcp/servers/notebooklm/tsconfig.json +15 -0
  17. package/.agent/mcp-gateway/README.md +169 -20
  18. package/.agent/mcp-gateway/package.json +22 -7
  19. package/.agent/mcp-gateway/src/auth/index.ts +55 -0
  20. package/.agent/mcp-gateway/src/auth/middleware.ts +242 -0
  21. package/.agent/mcp-gateway/src/auth/oauth.ts +462 -0
  22. package/.agent/mcp-gateway/src/auth/scopes.ts +227 -0
  23. package/.agent/mcp-gateway/src/index.ts +252 -105
  24. package/.agent/mcp-gateway/src/observability/index.ts +5 -0
  25. package/.agent/mcp-gateway/src/observability/otel.ts +405 -0
  26. package/.agent/mcp-gateway/src/transports/index.ts +5 -0
  27. package/.agent/mcp-gateway/src/transports/streamableHttp.ts +235 -0
  28. package/.agent/rules/CODEX.md +89 -0
  29. package/.agent/rules/CODE_RULES.md +73 -0
  30. package/.agent/rules/GEMINI.md +25 -0
  31. package/.agent/rules/MEMORY_STATE.md +110 -0
  32. package/.agent/rules/REFERENCE.md +33 -141
  33. package/.agent/rules/REF_SKILLS.md +116 -0
  34. package/.agent/rules/REF_WORKFLOWS.md +81 -0
  35. package/.agent/scripts/ak_cli.py +106 -5
  36. package/.agent/scripts/memory_manager.py +48 -9
  37. package/.agent/skills/anti-hallucination/SKILL.md +295 -0
  38. package/.agent/skills/anti-hallucination/scripts/check_hallucination.py +299 -0
  39. package/.agent/skills/bifurcation-analysis/SKILL.md +56 -0
  40. package/.agent/skills/brainstorming/SKILL.md +80 -6
  41. package/.agent/skills/decision-memory/SKILL.md +317 -0
  42. package/.agent/skills/emergence-detector/SKILL.md +230 -0
  43. package/.agent/skills/emergence-detector/scripts/check_emergence.py +265 -0
  44. package/.agent/skills/explained-qa/SKILL.md +142 -0
  45. package/.agent/skills/explained-qa/game-terminology.md +214 -0
  46. package/.agent/skills/game-development/ai-dialogue-engine/SKILL.md +442 -0
  47. package/.agent/skills/game-development/ai-graphics-generator/SKILL.md +463 -0
  48. package/.agent/skills/game-development/ai-playtest-framework/SKILL.md +570 -0
  49. package/.agent/skills/game-development/camera-systems/SKILL.md +607 -0
  50. package/.agent/skills/game-development/card-battle-engine/SKILL.md +618 -0
  51. package/.agent/skills/game-development/character-controller-3d/SKILL.md +908 -0
  52. package/.agent/skills/game-development/cloud-save-sync/SKILL.md +527 -0
  53. package/.agent/skills/game-development/combat-system/SKILL.md +748 -0
  54. package/.agent/skills/game-development/compliance-rating/SKILL.md +277 -0
  55. package/.agent/skills/game-development/crossplatform-build/SKILL.md +386 -0
  56. package/.agent/skills/game-development/cultivation-progression/SKILL.md +520 -0
  57. package/.agent/skills/game-development/data-driven-balance/SKILL.md +535 -0
  58. package/.agent/skills/game-development/game-analytics-integrator/SKILL.md +410 -0
  59. package/.agent/skills/game-development/game-audio-advanced/SKILL.md +646 -0
  60. package/.agent/skills/game-development/game-economy-designer/SKILL.md +375 -0
  61. package/.agent/skills/game-development/game-marketing/SKILL.md +85 -0
  62. package/.agent/skills/game-development/game-state-manager/SKILL.md +883 -0
  63. package/.agent/skills/game-development/hybrid-game-spec/SKILL.md +220 -0
  64. package/.agent/skills/game-development/inventory-quest/SKILL.md +747 -0
  65. package/.agent/skills/game-development/liveops/SKILL.md +308 -0
  66. package/.agent/skills/game-development/localization/SKILL.md +286 -0
  67. package/.agent/skills/game-development/mobile-input-patterns/SKILL.md +343 -0
  68. package/.agent/skills/game-development/monetization-strategy/SKILL.md +94 -0
  69. package/.agent/skills/game-development/multiplayer-master/SKILL.md +727 -0
  70. package/.agent/skills/game-development/narrative-branching/SKILL.md +593 -0
  71. package/.agent/skills/game-development/procedural-level-ai/SKILL.md +367 -0
  72. package/.agent/skills/game-development/prototyping-rapid/SKILL.md +205 -0
  73. package/.agent/skills/game-development/spec-ecosystem/SKILL.md +155 -0
  74. package/.agent/skills/game-development/spec-ecosystem/decision-log-format.md +129 -0
  75. package/.agent/skills/game-development/spec-ecosystem/templates/PLAN-template.md +178 -0
  76. package/.agent/skills/game-development/spec-ecosystem/templates/SPEC-template.md +110 -0
  77. package/.agent/skills/game-development/spec-ecosystem/templates/TASKS-template.md +156 -0
  78. package/.agent/skills/game-development/survival-systems/SKILL.md +493 -0
  79. package/.agent/skills/game-development/testing-qa/SKILL.md +270 -0
  80. package/.agent/skills/game-development/unity-mobile-optimization/SKILL.md +271 -0
  81. package/.agent/skills/intent-capture/SKILL.md +65 -0
  82. package/.agent/skills/mcp-composition/SKILL.md +362 -0
  83. package/.agent/skills/mcp-observability/SKILL.md +323 -0
  84. package/.agent/skills/mcp-security/SKILL.md +314 -0
  85. package/.agent/skills/trust-spectrum/SKILL.md +291 -0
  86. package/.agent/skills/vibe-coding-guard/SKILL.md +328 -0
  87. package/.agent/templates/AGENTS.game.md +63 -0
  88. package/.agent/templates/docs/WORKFLOW_GUIDE.en.md +100 -0
  89. package/.agent/templates/docs/WORKFLOW_GUIDE.vi.md +100 -0
  90. package/.agent/workflows/ai-agent.md +2 -0
  91. package/.agent/workflows/autofix.md +1 -0
  92. package/.agent/workflows/brainstorm.md +1 -0
  93. package/.agent/workflows/context.md +1 -0
  94. package/.agent/workflows/create.md +39 -8
  95. package/.agent/workflows/dashboard.md +1 -0
  96. package/.agent/workflows/debug.md +14 -0
  97. package/.agent/workflows/deploy.md +14 -0
  98. package/.agent/workflows/enhance.md +44 -0
  99. package/.agent/workflows/gamekit-init.md +177 -0
  100. package/.agent/workflows/gamekit-launch.md +338 -0
  101. package/.agent/workflows/gamekit-plan.md +204 -0
  102. package/.agent/workflows/gamekit-qa.md +153 -0
  103. package/.agent/workflows/gamekit-spec.md +243 -0
  104. package/.agent/workflows/gamekit-tasks.md +208 -0
  105. package/.agent/workflows/marketing.md +2 -0
  106. package/.agent/workflows/next.md +1 -0
  107. package/.agent/workflows/orchestrate.md +12 -0
  108. package/.agent/workflows/pentest.md +2 -0
  109. package/.agent/workflows/plan.md +42 -0
  110. package/.agent/workflows/preview.md +1 -0
  111. package/.agent/workflows/quality.md +1 -0
  112. package/.agent/workflows/saas.md +2 -0
  113. package/.agent/workflows/spec.md +42 -0
  114. package/.agent/workflows/status.md +1 -0
  115. package/.agent/workflows/test.md +14 -0
  116. package/.agent/workflows/ui-ux-pro-max.md +1 -0
  117. package/bin/cli.js +411 -111
  118. package/package.json +1 -2
  119. package/.agent/agents/game-asset-curator.md +0 -317
  120. package/.agent/agents/game-narrative-designer.md +0 -310
  121. package/.agent/agents/game-qa-agent.md +0 -441
  122. package/.agent/workflows/game-prototype.md +0 -154
  123. package/docs/AI_DATA_INFRASTRUCTURE.md +0 -288
  124. package/docs/CHANGELOG_AI_INFRA.md +0 -141
  125. package/docs/MIGRATION_GUIDE_V1.9.md +0 -55
@@ -0,0 +1,270 @@
1
+ ---
2
+ name: testing-qa
3
+ description: Comprehensive QA and testing patterns for games. Playtesting, alpha/beta phases, bug triage, performance testing, and automated testing for Unity.
4
+ ---
5
+
6
+ # Game Testing & QA Skill
7
+
8
+ > **Purpose**: Systematic quality assurance for game development.
9
+
10
+ ## When to Use
11
+ - Preparing for alpha/beta release
12
+ - Setting up automated test suites
13
+ - Organizing playtesting sessions
14
+ - Debugging production issues
15
+
16
+ ---
17
+
18
+ ## 1. Testing Phases
19
+
20
+ ```
21
+ ┌─────────────────────────────────────────────────────────────┐
22
+ │ TESTING LIFECYCLE │
23
+ ├─────────────────────────────────────────────────────────────┤
24
+ │ DEV TEST → ALPHA → CLOSED BETA → OPEN BETA → RELEASE │
25
+ │ ↓ ↓ ↓ ↓ ↓ │
26
+ │ Internal Friends Invited Public Everyone │
27
+ │ Team only & Family Testers Testers │
28
+ └─────────────────────────────────────────────────────────────┘
29
+ ```
30
+
31
+ ### Phase Goals
32
+ | Phase | Focus | Testers |
33
+ |-------|-------|---------|
34
+ | **Dev Test** | Core mechanics work | Team only |
35
+ | **Alpha** | Feature complete, major bugs | 10-50 |
36
+ | **Closed Beta** | Balance, UX, edge cases | 100-1000 |
37
+ | **Open Beta** | Scale, server load, final polish | Unlimited |
38
+
39
+ ---
40
+
41
+ ## 2. Playtesting Sessions
42
+
43
+ ### Session Structure
44
+ ```markdown
45
+ ## Playtest Session Plan
46
+
47
+ **Duration**: 30-60 minutes
48
+ **Testers**: [X] people
49
+ **Build**: v[X.X.X]
50
+
51
+ ### Pre-Session (5 min)
52
+ - Explain purpose (not testing player, testing game)
53
+ - No hints during play
54
+ - Think-aloud protocol
55
+
56
+ ### Observation (20-40 min)
57
+ - Silent observation
58
+ - Note confusion points
59
+ - Track completion times
60
+
61
+ ### Post-Session (10-15 min)
62
+ - Open questions first
63
+ - Then specific questions
64
+ - Collect written feedback
65
+ ```
66
+
67
+ ### Observation Checklist
68
+ - [ ] Where did player get stuck?
69
+ - [ ] What did player try that didn't work?
70
+ - [ ] What did player miss?
71
+ - [ ] What caused frustration?
72
+ - [ ] What caused joy?
73
+
74
+ ---
75
+
76
+ ## 3. Bug Triage System
77
+
78
+ ### Severity Classification
79
+ | Severity | Definition | Response Time |
80
+ |----------|------------|---------------|
81
+ | **S1 - Critical** | Game unplayable, data loss, crash | Immediate |
82
+ | **S2 - Major** | Feature broken, blocking progression | 24 hours |
83
+ | **S3 - Minor** | Annoying but workaround exists | Next sprint |
84
+ | **S4 - Trivial** | Cosmetic, typo, minor polish | Backlog |
85
+
86
+ ### Bug Report Template
87
+ ```markdown
88
+ ## Bug: [Short Description]
89
+
90
+ **Severity**: S[1-4]
91
+ **Platform**: [iOS/Android/PC]
92
+ **Build**: v[X.X.X]
93
+
94
+ ### Steps to Reproduce
95
+ 1. [Step 1]
96
+ 2. [Step 2]
97
+ 3. [Step 3]
98
+
99
+ ### Expected Behavior
100
+ [What should happen]
101
+
102
+ ### Actual Behavior
103
+ [What actually happens]
104
+
105
+ ### Evidence
106
+ [Screenshot/Video/Logs]
107
+
108
+ ### Additional Context
109
+ [Device, OS version, etc.]
110
+ ```
111
+
112
+ ---
113
+
114
+ ## 4. Performance Testing
115
+
116
+ ### Target Metrics
117
+ | Metric | Mobile Target | PC Target |
118
+ |--------|---------------|-----------|
119
+ | **FPS** | 30-60 stable | 60+ stable |
120
+ | **Frame Time** | <33ms | <16ms |
121
+ | **Memory** | <500MB | <2GB |
122
+ | **Load Time** | <5s | <3s |
123
+ | **Battery Drain** | <10%/hour | N/A |
124
+
125
+ ### Performance Test Checklist
126
+ - [ ] Profile on lowest target device
127
+ - [ ] Test full session (30+ min)
128
+ - [ ] Monitor thermal throttling
129
+ - [ ] Check memory leaks
130
+ - [ ] Measure after 100 entity spawns
131
+
132
+ ### Unity Profiler Commands
133
+ ```csharp
134
+ // Frame timing
135
+ Profiler.BeginSample("MySystem");
136
+ // ... code ...
137
+ Profiler.EndSample();
138
+
139
+ // Memory snapshot
140
+ UnityEngine.Profiling.Memory.Experimental.MemoryProfiler.TakeSnapshot();
141
+ ```
142
+
143
+ ---
144
+
145
+ ## 5. Automated Testing (Unity)
146
+
147
+ ### Test Types
148
+
149
+ | Type | Purpose | Location |
150
+ |------|---------|----------|
151
+ | **Edit Mode** | Logic, utilities, pure C# | `Tests/Editor/` |
152
+ | **Play Mode** | Runtime, MonoBehaviour | `Tests/Runtime/` |
153
+ | **Integration** | Full systems together | `Tests/Integration/` |
154
+
155
+ ### Edit Mode Test Example
156
+ ```csharp
157
+ // Tests/Editor/CombatTests.cs
158
+ using NUnit.Framework;
159
+
160
+ [TestFixture]
161
+ public class CombatTests
162
+ {
163
+ [Test]
164
+ public void Damage_ReducesHealth()
165
+ {
166
+ var health = new HealthComponent(100);
167
+ health.TakeDamage(25);
168
+ Assert.AreEqual(75, health.CurrentHealth);
169
+ }
170
+
171
+ [Test]
172
+ public void Damage_CannotGoBelowZero()
173
+ {
174
+ var health = new HealthComponent(50);
175
+ health.TakeDamage(100);
176
+ Assert.AreEqual(0, health.CurrentHealth);
177
+ }
178
+ }
179
+ ```
180
+
181
+ ### Play Mode Test Example
182
+ ```csharp
183
+ // Tests/Runtime/PlayerMovementTests.cs
184
+ using System.Collections;
185
+ using NUnit.Framework;
186
+ using UnityEngine;
187
+ using UnityEngine.TestTools;
188
+
189
+ public class PlayerMovementTests
190
+ {
191
+ private GameObject _player;
192
+
193
+ [SetUp]
194
+ public void Setup()
195
+ {
196
+ _player = new GameObject("Player");
197
+ _player.AddComponent<PlayerController>();
198
+ }
199
+
200
+ [TearDown]
201
+ public void Teardown()
202
+ {
203
+ Object.Destroy(_player);
204
+ }
205
+
206
+ [UnityTest]
207
+ public IEnumerator Player_MovesRight_WhenInputPositive()
208
+ {
209
+ var controller = _player.GetComponent<PlayerController>();
210
+ var startPos = _player.transform.position;
211
+
212
+ controller.SimulateInput(Vector2.right);
213
+ yield return new WaitForSeconds(0.5f);
214
+
215
+ Assert.Greater(_player.transform.position.x, startPos.x);
216
+ }
217
+ }
218
+ ```
219
+
220
+ ---
221
+
222
+ ## 6. Regression Testing
223
+
224
+ ### When to Run
225
+ - Before every release
226
+ - After major feature merge
227
+ - After engine update
228
+ - After platform SDK update
229
+
230
+ ### Regression Checklist
231
+ - [ ] All save files load correctly
232
+ - [ ] Tutorial completes without errors
233
+ - [ ] IAP flow works (sandbox)
234
+ - [ ] Ads display and reward correctly
235
+ - [ ] Analytics events fire
236
+ - [ ] All levels completable
237
+ - [ ] No new crashes in crash reporter
238
+
239
+ ---
240
+
241
+ ## 7. Test Coverage Guidelines
242
+
243
+ | System | Required Coverage |
244
+ |--------|-------------------|
245
+ | **Save/Load** | 90%+ (critical) |
246
+ | **Economy** | 80%+ (balance-sensitive) |
247
+ | **Combat** | 70%+ (core mechanic) |
248
+ | **UI Navigation** | 50%+ (regression) |
249
+ | **Visual Polish** | Manual only |
250
+
251
+ ---
252
+
253
+ ## Anti-Patterns
254
+
255
+ | ❌ Don't | ✅ Do |
256
+ |----------|-------|
257
+ | Test only happy path | Test edge cases |
258
+ | Skip low-end device testing | Test on min spec |
259
+ | Rely only on team testing | Use external testers |
260
+ | Fix all bugs at once | Prioritize by severity |
261
+ | Ship without regression | Run full suite before release |
262
+
263
+ ---
264
+
265
+ ## Related Skills
266
+ - `game-development/game-analytics-integrator`
267
+ - `game-development/unity-integration`
268
+
269
+ ## Related Workflows
270
+ - `/game-launch` - Includes pre-launch audit
@@ -0,0 +1,271 @@
1
+ ---
2
+ name: unity-mobile-optimization
3
+ description: Mobile-specific optimization for Unity games. Battery, thermal, memory management, build size, and platform-specific optimizations for iOS and Android.
4
+ allowed-tools: Read, Write, Edit, Bash, Grep, WebSearch
5
+ ---
6
+
7
+ # Unity Mobile Optimization Skill
8
+
9
+ > Expert-level mobile optimization patterns for Unity 6 targeting iOS and Android.
10
+
11
+ ---
12
+
13
+ ## When to Use
14
+
15
+ - Optimizing Unity games for mobile devices
16
+ - Debugging performance issues on phones/tablets
17
+ - Reducing battery drain and heat
18
+ - Minimizing build size for app stores
19
+ - Platform-specific tuning (iOS Metal, Android Vulkan)
20
+
21
+ ---
22
+
23
+ ## Performance Targets
24
+
25
+ | Metric | iOS Target | Android Target | Tool |
26
+ |--------|------------|----------------|------|
27
+ | **FPS** | 60 stable | 30-60 stable | Profiler |
28
+ | **Frame Time** | < 16.67ms | < 33ms | Profiler |
29
+ | **Draw Calls** | < 100 | < 80 | Frame Debugger |
30
+ | **SetPass Calls** | < 50 | < 40 | Frame Debugger |
31
+ | **Memory** | < 500MB | < 400MB | Memory Profiler |
32
+ | **Battery** | < 5%/hour | < 8%/hour | Device monitor |
33
+ | **Build Size** | < 200MB | < 150MB AAB | Build Report |
34
+
35
+ ---
36
+
37
+ ## Battery Optimization
38
+
39
+ ### Frame Rate Management
40
+ ```csharp
41
+ public class BatteryManager : MonoBehaviour
42
+ {
43
+ [SerializeField] private int _gameplayFPS = 60;
44
+ [SerializeField] private int _menuFPS = 30;
45
+ [SerializeField] private int _backgroundFPS = 5;
46
+
47
+ public void SetGameState(GameState state)
48
+ {
49
+ Application.targetFrameRate = state switch
50
+ {
51
+ GameState.Playing => _gameplayFPS,
52
+ GameState.Menu => _menuFPS,
53
+ GameState.Paused => _backgroundFPS,
54
+ _ => _gameplayFPS
55
+ };
56
+ }
57
+
58
+ void OnApplicationPause(bool paused)
59
+ {
60
+ Application.targetFrameRate = paused ? 1 : _gameplayFPS;
61
+ }
62
+ }
63
+ ```
64
+
65
+ ### GPU Throttling Detection
66
+ ```csharp
67
+ public class ThermalManager : MonoBehaviour
68
+ {
69
+ private float _lastFrameTime;
70
+ private int _consecutiveSlowFrames;
71
+
72
+ void Update()
73
+ {
74
+ float frameTime = Time.deltaTime;
75
+
76
+ // Detect thermal throttling
77
+ if (frameTime > 0.02f) // >20ms
78
+ {
79
+ _consecutiveSlowFrames++;
80
+ if (_consecutiveSlowFrames > 60) // 1 second of slow frames
81
+ {
82
+ ReduceQuality();
83
+ _consecutiveSlowFrames = 0;
84
+ }
85
+ }
86
+ else
87
+ {
88
+ _consecutiveSlowFrames = 0;
89
+ }
90
+ }
91
+
92
+ void ReduceQuality()
93
+ {
94
+ QualitySettings.DecreaseLevel();
95
+ Application.targetFrameRate = 30;
96
+ }
97
+ }
98
+ ```
99
+
100
+ ---
101
+
102
+ ## Memory Management
103
+
104
+ ### Addressables Best Practices
105
+ ```csharp
106
+ public class AssetLoader : MonoBehaviour
107
+ {
108
+ private Dictionary<string, AsyncOperationHandle> _loadedAssets = new();
109
+
110
+ public async UniTask<T> LoadAsset<T>(string key) where T : Object
111
+ {
112
+ if (_loadedAssets.TryGetValue(key, out var handle))
113
+ return (T)handle.Result;
114
+
115
+ var newHandle = Addressables.LoadAssetAsync<T>(key);
116
+ await newHandle.ToUniTask();
117
+
118
+ _loadedAssets[key] = newHandle;
119
+ return newHandle.Result as T;
120
+ }
121
+
122
+ public void UnloadAsset(string key)
123
+ {
124
+ if (_loadedAssets.TryGetValue(key, out var handle))
125
+ {
126
+ Addressables.Release(handle);
127
+ _loadedAssets.Remove(key);
128
+ }
129
+ }
130
+
131
+ public void UnloadAll()
132
+ {
133
+ foreach (var handle in _loadedAssets.Values)
134
+ Addressables.Release(handle);
135
+ _loadedAssets.Clear();
136
+
137
+ Resources.UnloadUnusedAssets();
138
+ GC.Collect();
139
+ }
140
+ }
141
+ ```
142
+
143
+ ### Texture Compression Guide
144
+ | Platform | Format | Quality | Use Case |
145
+ |----------|--------|---------|----------|
146
+ | iOS | ASTC 6x6 | High | Characters, UI |
147
+ | iOS | ASTC 8x8 | Medium | Backgrounds |
148
+ | Android | ETC2 | Good | Universal |
149
+ | Android | ASTC | Best | High-end only |
150
+
151
+ ---
152
+
153
+ ## Build Size Optimization
154
+
155
+ ### Code Stripping
156
+ ```csharp
157
+ // link.xml - Prevent stripping needed assemblies
158
+ <linker>
159
+ <assembly fullname="UnityEngine">
160
+ <type fullname="UnityEngine.Networking.*" preserve="all"/>
161
+ </assembly>
162
+ </linker>
163
+ ```
164
+
165
+ ### Build Settings
166
+ ```
167
+ Player Settings:
168
+ - Scripting Backend: IL2CPP
169
+ - Managed Stripping Level: High
170
+ - Engine Code Stripping: Enabled
171
+ - Compress Meshes: Enabled
172
+ - Vertex Compression: Everything
173
+
174
+ Android:
175
+ - Build App Bundle (AAB)
176
+ - Split Application Binary
177
+ - Target Architectures: ARM64 only
178
+
179
+ iOS:
180
+ - App Thinning: Automatic
181
+ - Strip Engine Code: Enabled
182
+ ```
183
+
184
+ ---
185
+
186
+ ## Platform-Specific
187
+
188
+ ### iOS Metal
189
+ ```csharp
190
+ // Check Metal support
191
+ if (SystemInfo.graphicsDeviceType == GraphicsDeviceType.Metal)
192
+ {
193
+ // Metal-specific optimizations
194
+ QualitySettings.antiAliasing = 0; // Use FXAA instead
195
+ }
196
+ ```
197
+
198
+ ### Android Vulkan
199
+ ```csharp
200
+ // Prefer Vulkan, fallback to GLES
201
+ // Set in Player Settings: Auto Graphics API
202
+
203
+ #if UNITY_ANDROID
204
+ void Start()
205
+ {
206
+ bool isVulkan = SystemInfo.graphicsDeviceType == GraphicsDeviceType.Vulkan;
207
+ Debug.Log($"Graphics API: {(isVulkan ? "Vulkan" : "OpenGL ES")}");
208
+ }
209
+ #endif
210
+ ```
211
+
212
+ ---
213
+
214
+ ## Profiling Workflow
215
+
216
+ ### Step 1: Profile on Device
217
+ ```
218
+ 1. Build Development Build with Autoconnect Profiler
219
+ 2. Connect device via USB/WiFi
220
+ 3. Run game and capture frames
221
+ 4. Focus on:
222
+ - GC.Alloc column
223
+ - Rendering time
224
+ - Scripts time
225
+ ```
226
+
227
+ ### Step 2: Identify Hotspots
228
+ ```csharp
229
+ // Use profiler markers
230
+ using (new ProfilerMarker("MyExpensiveFunction").Auto())
231
+ {
232
+ // Code to profile
233
+ }
234
+ ```
235
+
236
+ ### Step 3: Fix Priority
237
+ 1. GC Allocations (causes stutters)
238
+ 2. Draw calls (GPU bound)
239
+ 3. Physics (CPU heavy)
240
+ 4. Scripts (logic overhead)
241
+
242
+ ---
243
+
244
+ ## Quick Wins Checklist
245
+
246
+ - [ ] `Application.targetFrameRate` set explicitly
247
+ - [ ] All `GetComponent` calls cached
248
+ - [ ] Object pooling for bullets/effects
249
+ - [ ] Static batching enabled
250
+ - [ ] Texture compression correct per platform
251
+ - [ ] No `Resources.Load` in gameplay
252
+ - [ ] `CompareTag` instead of `tag ==`
253
+ - [ ] `NonAlloc` physics methods used
254
+ - [ ] StringBuilder for string operations
255
+ - [ ] No LINQ in Update loops
256
+
257
+ ---
258
+
259
+ ## Anti-Patterns
260
+
261
+ | ❌ Don't | ✅ Do |
262
+ |----------|-------|
263
+ | Max quality everywhere | Adjust by device tier |
264
+ | Ignore battery/heat | Monitor and adapt |
265
+ | 4K textures on mobile | Max 2K, usually 1K |
266
+ | Full mesh colliders | Simple primitives |
267
+ | Sync asset loading | Async with loading screen |
268
+
269
+ ---
270
+
271
+ > **Remember:** Profile first, optimize second. Don't guess.
@@ -0,0 +1,65 @@
1
+ ---
2
+ name: intent-capture
3
+ description: "High-resolution intent extraction for Vibe Coding. Extracts explicit requests, implicit needs, unknown needs, and anti-goals."
4
+ version: "1.0.0"
5
+ ---
6
+
7
+ # 🎯 Intent Capture
8
+
9
+ > **"Capture the vibe, not just the command"**
10
+
11
+ This skill ensures that as an AI agent, you understand not just what the user said, but what they actually need to succeed in the 2026 Vibe Coding era.
12
+
13
+ ---
14
+
15
+ ## The Intent Matrix
16
+
17
+ When a user makes a request, analyze it across these 4 dimensions:
18
+
19
+ | Dimension | Question | Example |
20
+ |-----------|----------|---------|
21
+ | **Explicit** | What did they literally ask for? | "Create a login page" |
22
+ | **Implicit** | What is required based on context? | "Must be mobile-responsive, use Tailwind" |
23
+ | **Unknown** | What haven't they considered yet? | "Need CSRF protection, rate limiting" |
24
+ | **Anti-Goals** | What do they specifically NOT want? | "No social logins, no third-party cookies" |
25
+
26
+ ---
27
+
28
+ ## 📋 Pre-Flight Intent Checklist
29
+
30
+ Before moving to the B (Bifurcation) stage of VIBES, verify:
31
+
32
+ - [ ] **Problem Understanding**: Why is the user asking for this?
33
+ - [ ] **Success Criteria**: What does "done" look like to them? (Outcome vs Process)
34
+ - [ ] **Hidden Constraints**: Any tech stack or performance limits?
35
+ - [ ] **Risk Level**: Is this a prototype or production-critical?
36
+
37
+ ---
38
+
39
+ ## 🎼 CONDUCTOR Integration
40
+
41
+ As a CONDUCTOR, your role in Intent Capture is:
42
+
43
+ 1. **Context Provision**: Feed the agent related files and past decisions.
44
+ 2. **Socratic Probing**: Ask ONE high-leverage question at a time to fill gaps.
45
+ 3. **Synthesis**: Summarize the intent back to the user to confirm alignment.
46
+
47
+ ---
48
+
49
+ ## Usage Patterns
50
+
51
+ ### For New Features
52
+ Run intent extraction before any architecture planning.
53
+
54
+ ### For Bug Fixes
55
+ Identify the *intended behavior* versus the *actual behavior* before proposing a solution.
56
+
57
+ ### For Refactors
58
+ Identify the *underlying goal* (performance? maintainability?) to avoid circular refactoring.
59
+
60
+ ---
61
+
62
+ ## Related Skills
63
+ - `brainstorming` - The communication engine for intent capture
64
+ - `bifurcation-analysis` - The next step in VIBES
65
+ - `vibe-coding-guard` - The overall framework