opencode-skills-collection 4.0.4 → 4.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundled-skills/.antigravity-install-manifest.json +5 -1
- package/bundled-skills/antigravity-maintainer-batch-release/SKILL.md +151 -0
- package/bundled-skills/create-pr/SKILL.md +4 -4
- package/bundled-skills/docs/README.md +1 -0
- package/bundled-skills/docs/contributors/quality-bar.md +1 -2
- package/bundled-skills/docs/integrations/jetski-cortex.md +5 -3
- package/bundled-skills/docs/integrations/jetski-gemini-loader/README.md +3 -1
- package/bundled-skills/docs/maintainers/aas-agent-first-control-plane-preview-profile.md +63 -0
- package/bundled-skills/docs/maintainers/aas-agent-first-control-plane-v1-design.md +304 -0
- package/bundled-skills/docs/maintainers/aas-agent-first-control-plane-v1-goal.md +171 -0
- package/bundled-skills/docs/maintainers/aas-agent-first-control-plane-v1-worklog.md +104 -0
- package/bundled-skills/docs/maintainers/audit.md +3 -8
- package/bundled-skills/docs/maintainers/legacy-redirect-bridge.md +46 -0
- package/bundled-skills/docs/maintainers/merge-batch.md +3 -7
- package/bundled-skills/docs/maintainers/merging-prs.md +1 -1
- package/bundled-skills/docs/maintainers/pr-autonomy.md +2 -3
- package/bundled-skills/docs/maintainers/release-process.md +12 -5
- package/bundled-skills/docs/maintainers/repo-growth-seo.md +16 -14
- package/bundled-skills/docs/maintainers/skills-update-guide.md +1 -1
- package/bundled-skills/docs/users/aas-core.md +182 -0
- package/bundled-skills/docs/users/agentic-awesome-skills-vs-awesome-claude-skills.md +10 -9
- package/bundled-skills/docs/users/ai-agent-skills.md +22 -19
- package/bundled-skills/docs/users/best-claude-code-skills-github.md +8 -8
- package/bundled-skills/docs/users/best-cursor-skills-github.md +5 -5
- package/bundled-skills/docs/users/bundles.md +3 -1
- package/bundled-skills/docs/users/claude-code-skills.md +23 -7
- package/bundled-skills/docs/users/codex-cli-skills.md +30 -13
- package/bundled-skills/docs/users/discovery-manifest.md +6 -3
- package/bundled-skills/docs/users/faq.md +37 -10
- package/bundled-skills/docs/users/gemini-cli-skills.md +1 -1
- package/bundled-skills/docs/users/getting-started.md +24 -10
- package/bundled-skills/docs/users/kiro-integration.md +1 -1
- package/bundled-skills/docs/users/plugins.md +15 -3
- package/bundled-skills/docs/users/skills-vs-mcp-tools.md +68 -49
- package/bundled-skills/docs/users/usage.md +50 -25
- package/bundled-skills/docs/users/visual-guide.md +28 -22
- package/bundled-skills/docs/vietnamese/AAS_CORE.vi.md +28 -0
- package/bundled-skills/docs/vietnamese/README.vi.md +10 -6
- package/bundled-skills/game-development/2d-games/SKILL.md +22 -19
- package/bundled-skills/game-development/SKILL.md +27 -35
- package/bundled-skills/game-development/engine-selection/SKILL.md +115 -0
- package/bundled-skills/game-development/web-games/SKILL.md +47 -45
- package/bundled-skills/git-advanced-workflows/SKILL.md +1 -11
- package/bundled-skills/git-pushing/SKILL.md +4 -4
- package/bundled-skills/markstream-install/SKILL.md +187 -0
- package/bundled-skills/markstream-install/references/scenarios.md +48 -0
- package/bundled-skills/modellix/SKILL.md +80 -0
- package/bundled-skills/pptx-deck-creation/SKILL.md +15 -7
- package/bundled-skills/pptx-deck-creation/references/audit-checklist.md +7 -3
- package/bundled-skills/pptx-deck-creation/references/ooxml-parsing.md +58 -0
- package/bundled-skills/pptx-deck-creation/references/{python-snippets.md → reference-deck-analysis-patterns.md} +1 -1
- package/bundled-skills/pptx-deck-creation/references/reference-deck-analysis.md +30 -8
- package/bundled-skills/pptx-deck-creation/references/visual-asset-adapters.md +23 -13
- package/bundled-skills/pr-writer/SKILL.md +2 -2
- package/bundled-skills/repo-maintainer/SKILL.md +4 -2
- package/bundled-skills/tools-page-seo-optimizer/SKILL.md +6 -6
- package/package.json +1 -1
- package/skills_index.json +121 -7
- package/bundled-skills/docs/contributors/skill-scoring.md +0 -235
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: game-development
|
|
3
|
-
description:
|
|
3
|
+
description: >-
|
|
4
|
+
Game development orchestrator. Routes by platform, dimension, and engine fit
|
|
5
|
+
(web 2D/3D, hybrid DOM+canvas, narrative tools). Use when starting or
|
|
6
|
+
structuring a game project, choosing frameworks, or picking among Phaser,
|
|
7
|
+
PixiJS, Kaplay, Canvas/WebGL, Three.js, Babylon.js, Godot, Unity, or Ink/Twine.
|
|
4
8
|
risk: unknown
|
|
5
9
|
source: community
|
|
6
10
|
date_added: "2026-02-27"
|
|
@@ -8,13 +12,13 @@ date_added: "2026-02-27"
|
|
|
8
12
|
|
|
9
13
|
# Game Development
|
|
10
14
|
|
|
11
|
-
> **Orchestrator skill**
|
|
15
|
+
> **Orchestrator skill** — principles plus routing to specialized sub-skills.
|
|
12
16
|
|
|
13
17
|
---
|
|
14
18
|
|
|
15
19
|
## When to Use This Skill
|
|
16
20
|
|
|
17
|
-
You are working on a game development project. This skill teaches
|
|
21
|
+
You are working on a game development project. This skill teaches PRINCIPLES and directs you to the right sub-skill based on context.
|
|
18
22
|
|
|
19
23
|
---
|
|
20
24
|
|
|
@@ -24,7 +28,7 @@ You are working on a game development project. This skill teaches the PRINCIPLES
|
|
|
24
28
|
|
|
25
29
|
| If the game targets... | Use Sub-Skill |
|
|
26
30
|
|------------------------|---------------|
|
|
27
|
-
| Web browsers (HTML5, WebGL) | `game-development/web-games` |
|
|
31
|
+
| Web browsers (HTML5, WebGL, WebGPU) | `game-development/web-games` |
|
|
28
32
|
| Mobile (iOS, Android) | `game-development/mobile-games` |
|
|
29
33
|
| PC (Steam, Desktop) | `game-development/pc-games` |
|
|
30
34
|
| VR/AR headsets | `game-development/vr-ar` |
|
|
@@ -36,10 +40,11 @@ You are working on a game development project. This skill teaches the PRINCIPLES
|
|
|
36
40
|
| 2D (sprites, tilemaps) | `game-development/2d-games` |
|
|
37
41
|
| 3D (meshes, shaders) | `game-development/3d-games` |
|
|
38
42
|
|
|
39
|
-
###
|
|
43
|
+
### Architecture / tooling
|
|
40
44
|
|
|
41
45
|
| If you need... | Use Sub-Skill |
|
|
42
46
|
|----------------|---------------|
|
|
47
|
+
| Engine / framework choice, shell vs guest, fit tiers | `game-development/engine-selection` |
|
|
43
48
|
| GDD, balancing, player psychology | `game-development/game-design` |
|
|
44
49
|
| Multiplayer, networking | `game-development/multiplayer` |
|
|
45
50
|
| Visual style, asset pipeline, animation | `game-development/game-art` |
|
|
@@ -51,8 +56,6 @@ You are working on a game development project. This skill teaches the PRINCIPLES
|
|
|
51
56
|
|
|
52
57
|
### 1. The Game Loop
|
|
53
58
|
|
|
54
|
-
Every game, regardless of platform, follows this pattern:
|
|
55
|
-
|
|
56
59
|
```
|
|
57
60
|
INPUT → Read player actions
|
|
58
61
|
UPDATE → Process game logic (fixed timestep)
|
|
@@ -64,7 +67,7 @@ RENDER → Draw the frame (interpolated)
|
|
|
64
67
|
- Rendering: As fast as possible
|
|
65
68
|
- Interpolate between states for smooth visuals
|
|
66
69
|
|
|
67
|
-
|
|
70
|
+
**Hybrid / UI-heavy games:** the outer app may be DOM/event-driven; use a classic game loop only in canvas/WebGL viewports (or wherever simulation ticks).
|
|
68
71
|
|
|
69
72
|
### 2. Pattern Selection Matrix
|
|
70
73
|
|
|
@@ -76,11 +79,10 @@ RENDER → Draw the frame (interpolated)
|
|
|
76
79
|
| **ECS** | Thousands of similar entities | RTS units, particles |
|
|
77
80
|
| **Command** | Undo, replay, networking | Input recording |
|
|
78
81
|
| **Behavior Tree** | Complex AI decisions | Enemy AI |
|
|
82
|
+
| **Content-as-data** | Designers ship levels/events without code | JSON/YAML packs |
|
|
79
83
|
|
|
80
84
|
**Decision Rule:** Start with State Machine. Add ECS only when performance demands.
|
|
81
85
|
|
|
82
|
-
---
|
|
83
|
-
|
|
84
86
|
### 3. Input Abstraction
|
|
85
87
|
|
|
86
88
|
Abstract input into ACTIONS, not raw keys:
|
|
@@ -90,10 +92,6 @@ Abstract input into ACTIONS, not raw keys:
|
|
|
90
92
|
"move" → WASD, Left stick, Virtual joystick
|
|
91
93
|
```
|
|
92
94
|
|
|
93
|
-
**Why:** Enables multi-platform, rebindable controls.
|
|
94
|
-
|
|
95
|
-
---
|
|
96
|
-
|
|
97
95
|
### 4. Performance Budget (60 FPS = 16.67ms)
|
|
98
96
|
|
|
99
97
|
| System | Budget |
|
|
@@ -105,14 +103,7 @@ Abstract input into ACTIONS, not raw keys:
|
|
|
105
103
|
| Rendering | 5ms |
|
|
106
104
|
| Buffer | 1.67ms |
|
|
107
105
|
|
|
108
|
-
**Optimization Priority:**
|
|
109
|
-
1. Algorithm (O(n²) → O(n log n))
|
|
110
|
-
2. Batching (reduce draw calls)
|
|
111
|
-
3. Pooling (avoid GC spikes)
|
|
112
|
-
4. LOD (detail by distance)
|
|
113
|
-
5. Culling (skip invisible)
|
|
114
|
-
|
|
115
|
-
---
|
|
106
|
+
**Optimization Priority:** Algorithm → Batching → Pooling → LOD → Culling.
|
|
116
107
|
|
|
117
108
|
### 5. AI Selection by Complexity
|
|
118
109
|
|
|
@@ -123,8 +114,6 @@ Abstract input into ACTIONS, not raw keys:
|
|
|
123
114
|
| **GOAP** | High | Emergent, planning-based |
|
|
124
115
|
| **Utility AI** | High | Scoring-based decisions |
|
|
125
116
|
|
|
126
|
-
---
|
|
127
|
-
|
|
128
117
|
### 6. Collision Strategy
|
|
129
118
|
|
|
130
119
|
| Type | Best For |
|
|
@@ -145,30 +134,33 @@ Abstract input into ACTIONS, not raw keys:
|
|
|
145
134
|
| Cache nothing | Cache references |
|
|
146
135
|
| Optimize without profiling | Profile first |
|
|
147
136
|
| Mix input with logic | Abstract input layer |
|
|
137
|
+
| Pick an engine by hype | Match engine to genre + team + delivery target |
|
|
148
138
|
|
|
149
139
|
---
|
|
150
140
|
|
|
151
141
|
## Routing Examples
|
|
152
142
|
|
|
153
|
-
###
|
|
154
|
-
→
|
|
155
|
-
→ Then `game-development/2d-games` for sprite/tilemap patterns
|
|
156
|
-
→ Reference `game-development/game-design` for level design
|
|
143
|
+
### “Browser 2D platformer”
|
|
144
|
+
→ `game-development/engine-selection` → `game-development/web-games` → `game-development/2d-games` → `game-development/game-design`
|
|
157
145
|
|
|
158
|
-
###
|
|
159
|
-
→
|
|
160
|
-
→ Use `game-development/game-design` for puzzle balancing
|
|
146
|
+
### “UI-heavy web game with small arcade challenges”
|
|
147
|
+
→ `game-development/engine-selection` (shell vs guest) → `game-development/web-games` → `game-development/2d-games` for guests only
|
|
161
148
|
|
|
162
|
-
###
|
|
163
|
-
→ `game-development/
|
|
164
|
-
|
|
165
|
-
|
|
149
|
+
### “Mobile puzzle”
|
|
150
|
+
→ `game-development/mobile-games` → `game-development/game-design`
|
|
151
|
+
|
|
152
|
+
### “Multiplayer VR shooter”
|
|
153
|
+
→ `game-development/vr-ar` → `game-development/3d-games` → `game-development/multiplayer`
|
|
154
|
+
|
|
155
|
+
### “Branching narrative with light stats”
|
|
156
|
+
→ `game-development/engine-selection` (Ink/Twine) → host UI of your choice
|
|
166
157
|
|
|
167
158
|
---
|
|
168
159
|
|
|
169
160
|
> **Remember:** Great games come from iteration, not perfection. Prototype fast, then polish.
|
|
170
161
|
|
|
171
162
|
## Limitations
|
|
163
|
+
|
|
172
164
|
- Use this skill only when the task clearly matches the scope described above.
|
|
173
165
|
- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.
|
|
174
166
|
- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: engine-selection
|
|
3
|
+
description: >-
|
|
4
|
+
Selects game engines and frameworks by platform, genre, and architecture
|
|
5
|
+
(full canvas shell vs hybrid DOM shell + guest viewport). Covers Phaser,
|
|
6
|
+
PixiJS, Kaplay, Canvas/WebGL, Three.js, Babylon.js, Godot, Unity, Ink, Twine.
|
|
7
|
+
Use when choosing a stack or comparing runtimes before implementation.
|
|
8
|
+
risk: safe
|
|
9
|
+
source: self
|
|
10
|
+
date_added: "2026-07-17"
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# Engine selection
|
|
14
|
+
|
|
15
|
+
> Pick tools that match **delivery target**, **interaction model**, and **team constraints**. Engines serve the game type — not the reverse.
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## Fit questions (ask first)
|
|
20
|
+
|
|
21
|
+
1. **Platform:** Web, mobile, PC, console, VR?
|
|
22
|
+
2. **Primary loop:** Action/physics, turn-based, narrative branch, management/UI, hybrid?
|
|
23
|
+
3. **Presentation:** Full-screen canvas, DOM/UI chrome, or both?
|
|
24
|
+
4. **Toolchain:** No-build / ESM OK, or bundler + editor OK?
|
|
25
|
+
5. **Authoring:** Code-only, or designers need Twine/Ink/Godot/Unity editors?
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## Architecture patterns
|
|
30
|
+
|
|
31
|
+
| Pattern | When | Notes |
|
|
32
|
+
|---------|------|-------|
|
|
33
|
+
| **Full engine shell** | Game *is* the canvas/scene | Phaser, Godot, Unity, Kaplay as app root |
|
|
34
|
+
| **Renderer + custom logic** | You want draw power, own gameplay | PixiJS, Three.js + your systems |
|
|
35
|
+
| **Hybrid shell + guest** | Dense UI/text + occasional skill-checks | DOM/app shell; mount canvas engines in modals/viewports only |
|
|
36
|
+
| **Narrative runtime** | Branching prose is the product | Ink, Twine; host chrome separately |
|
|
37
|
+
| **Content-as-data** | Levels/events authored as packs | JSON/YAML + thin loader; engine optional |
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
## Web — decision tree
|
|
42
|
+
|
|
43
|
+
```
|
|
44
|
+
What type of game?
|
|
45
|
+
│
|
|
46
|
+
├── Mostly DOM / panels / forms / text UI
|
|
47
|
+
│ ├── + small arcade/spatial challenges
|
|
48
|
+
│ │ └── Hybrid: custom shell + guest
|
|
49
|
+
│ │ Raw Canvas/WebGL → Kaplay → Phaser → PixiJS
|
|
50
|
+
│ └── + branching story
|
|
51
|
+
│ └── Ink (inkjs) or Twine export → host in DOM
|
|
52
|
+
│
|
|
53
|
+
├── Full-screen 2D game
|
|
54
|
+
│ ├── Full gameplay features (scenes, physics, input)
|
|
55
|
+
│ │ └── Phaser 4 (or Kaplay if you want lighter/faster prototype)
|
|
56
|
+
│ └── Mostly rendering / custom systems
|
|
57
|
+
│ └── PixiJS 8 (or Raw Canvas/WebGL if tiny scope)
|
|
58
|
+
│
|
|
59
|
+
└── Full-screen 3D game
|
|
60
|
+
├── Full engine / physics / XR
|
|
61
|
+
│ └── Babylon.js
|
|
62
|
+
└── Rendering-focused / lighter
|
|
63
|
+
└── Three.js
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
---
|
|
67
|
+
|
|
68
|
+
## Quick comparison (web & common exports)
|
|
69
|
+
|
|
70
|
+
| Tool | Type | Best for | Watch-outs |
|
|
71
|
+
|------|------|----------|------------|
|
|
72
|
+
| **Raw Canvas / WebGL** | 2D/low-level | Tiny games, learning, no framework tax | You own everything |
|
|
73
|
+
| **Kaplay** (ex-Kaboom) | 2D toolkit | Fast prototypes, jam games | Less “full product” structure than Phaser |
|
|
74
|
+
| **Phaser 4** | 2D engine | Complete 2D features | Heavier; often bundled |
|
|
75
|
+
| **PixiJS 8** | 2D renderer | Performance, custom game code | Not a full gameplay framework alone |
|
|
76
|
+
| **Three.js** | 3D renderer | Visuals, lightweight 3D | You add gameplay systems |
|
|
77
|
+
| **Babylon.js** | 3D engine | Fuller 3D + XR | Heavier than Three for simple scenes |
|
|
78
|
+
| **Ink + inkjs** | Narrative | Complex branching prose | Weak for real-time multi-entity sims |
|
|
79
|
+
| **Twine / Twison / TweeJS** | Narrative | Educator-friendly branches | Export/host glue; not a physics engine |
|
|
80
|
+
| **Godot 4** | Full engine | 2D/3D indie, open source | Web export iteration cost |
|
|
81
|
+
| **Unity** | Full engine | Large teams, multi-platform | Heavy for simple web UI games |
|
|
82
|
+
|
|
83
|
+
Editor-first web shells (**Construct**, **GDevelop**) fit visual prototyping; weaker when you need versioned code-first content pipelines.
|
|
84
|
+
|
|
85
|
+
---
|
|
86
|
+
|
|
87
|
+
## Non-web defaults (see also platform skills)
|
|
88
|
+
|
|
89
|
+
| Target | Lean toward |
|
|
90
|
+
|--------|-------------|
|
|
91
|
+
| PC indie / open source | Godot 4 |
|
|
92
|
+
| PC large team / multi-platform | Unity |
|
|
93
|
+
| Mobile | See `game-development/mobile-games` (touch, stores, battery) |
|
|
94
|
+
| VR/AR | See `game-development/vr-ar` (+ Babylon/Three on web) |
|
|
95
|
+
|
|
96
|
+
---
|
|
97
|
+
|
|
98
|
+
## Anti-patterns
|
|
99
|
+
|
|
100
|
+
| Don't | Do |
|
|
101
|
+
|-------|-----|
|
|
102
|
+
| Choose Unity/Godot for a form-heavy browser tool | Prefer DOM/hybrid |
|
|
103
|
+
| Force Ink to run real-time concurrent simulations | Use narrative tools for branches; custom/sim code for clocks & entities |
|
|
104
|
+
| Use Phaser as “the whole app” when the surrounding UI is HTML | Prefer a hybrid guest viewport |
|
|
105
|
+
| Optimize for WebGPU on day one | Ship WebGL; add WebGPU + fallback when needed |
|
|
106
|
+
|
|
107
|
+
## When to Use
|
|
108
|
+
|
|
109
|
+
Use when choosing or comparing game engines/frameworks before implementation, especially for hybrid DOM+canvas or narrative-first products.
|
|
110
|
+
|
|
111
|
+
## Limitations
|
|
112
|
+
|
|
113
|
+
- Does not replace platform skills (`game-development/web-games`, `game-development/pc-games`, …).
|
|
114
|
+
- Final choice still depends on team skill and shipping constraints.
|
|
115
|
+
- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: web-games
|
|
3
|
-
description:
|
|
3
|
+
description: >-
|
|
4
|
+
Web browser game development. Framework selection (Phaser, PixiJS, Kaplay,
|
|
5
|
+
Canvas/WebGL, Three.js, Babylon.js), hybrid DOM+canvas, WebGPU, optimization,
|
|
6
|
+
PWA, audio unlock. Use when building HTML5/WebGL/WebGPU games or choosing a
|
|
7
|
+
browser runtime.
|
|
4
8
|
risk: unknown
|
|
5
9
|
source: community
|
|
6
10
|
date_added: "2026-02-27"
|
|
@@ -8,7 +12,7 @@ date_added: "2026-02-27"
|
|
|
8
12
|
|
|
9
13
|
# Web Browser Game Development
|
|
10
14
|
|
|
11
|
-
> Framework selection and browser-specific principles.
|
|
15
|
+
> Framework selection and browser-specific principles. For stack choice details see `game-development/engine-selection`.
|
|
12
16
|
|
|
13
17
|
---
|
|
14
18
|
|
|
@@ -20,25 +24,43 @@ date_added: "2026-02-27"
|
|
|
20
24
|
What type of game?
|
|
21
25
|
│
|
|
22
26
|
├── 2D Game
|
|
23
|
-
│ ├── Full game engine features? → Phaser
|
|
24
|
-
│
|
|
27
|
+
│ ├── Full game engine features? → Phaser 4
|
|
28
|
+
│ ├── Fast prototype / jam? → Kaplay
|
|
29
|
+
│ ├── Raw rendering power? → PixiJS 8
|
|
30
|
+
│ └── Tiny / no dependency? → Raw Canvas / WebGL
|
|
25
31
|
│
|
|
26
32
|
├── 3D Game
|
|
27
33
|
│ ├── Full engine (physics, XR)? → Babylon.js
|
|
28
|
-
│ └── Rendering focused?
|
|
34
|
+
│ └── Rendering focused? → Three.js
|
|
29
35
|
│
|
|
30
|
-
|
|
31
|
-
|
|
36
|
+
├── Hybrid (DOM UI + canvas moments)
|
|
37
|
+
│ └── Custom shell + guest viewport
|
|
38
|
+
│ (Canvas/Kaplay/Phaser/Pixi inside a region/modal)
|
|
39
|
+
│
|
|
40
|
+
└── Narrative-first
|
|
41
|
+
└── Ink (inkjs) or Twine export + DOM host
|
|
32
42
|
```
|
|
33
43
|
|
|
34
|
-
### Comparison
|
|
44
|
+
### Comparison
|
|
35
45
|
|
|
36
46
|
| Framework | Type | Best For |
|
|
37
47
|
|-----------|------|----------|
|
|
38
|
-
| **
|
|
39
|
-
| **
|
|
40
|
-
| **
|
|
41
|
-
| **
|
|
48
|
+
| **Raw Canvas / WebGL** | 2D / low-level | Small scope, full control |
|
|
49
|
+
| **Kaplay** | 2D toolkit | Rapid prototypes |
|
|
50
|
+
| **Phaser 4** | 2D engine | Full game features |
|
|
51
|
+
| **PixiJS 8** | 2D renderer | Rendering, custom systems |
|
|
52
|
+
| **Three.js** | 3D renderer | Visualizations, lightweight 3D |
|
|
53
|
+
| **Babylon.js** | 3D engine | Full engine, XR |
|
|
54
|
+
|
|
55
|
+
### Hybrid shell + guest
|
|
56
|
+
|
|
57
|
+
Use when chrome is HTML (menus, inventories, text, dashboards) but bursts of play need a canvas:
|
|
58
|
+
|
|
59
|
+
1. Mount guest in a container; pass context in.
|
|
60
|
+
2. Run a **local** game loop in the guest.
|
|
61
|
+
3. Return results (score, pass/fail); **destroy** guest (RAF, listeners, GL context as needed).
|
|
62
|
+
|
|
63
|
+
Do not let the guest own global app routing unless the product *is* a full-screen game.
|
|
42
64
|
|
|
43
65
|
---
|
|
44
66
|
|
|
@@ -56,8 +78,8 @@ What type of game?
|
|
|
56
78
|
|
|
57
79
|
### Decision
|
|
58
80
|
|
|
59
|
-
- **New projects**: Use WebGPU with WebGL fallback
|
|
60
|
-
- **
|
|
81
|
+
- **New GPU-heavy projects**: Use WebGPU with WebGL fallback
|
|
82
|
+
- **Broad legacy / simple 2D**: Start with WebGL or Canvas 2D
|
|
61
83
|
- **Feature detection**: Check `navigator.gpu`
|
|
62
84
|
|
|
63
85
|
---
|
|
@@ -69,7 +91,7 @@ What type of game?
|
|
|
69
91
|
| Constraint | Strategy |
|
|
70
92
|
|------------|----------|
|
|
71
93
|
| No local file access | Asset bundling, CDN |
|
|
72
|
-
| Tab throttling | Pause when hidden |
|
|
94
|
+
| Tab throttling | Pause when hidden (`visibilitychange`) |
|
|
73
95
|
| Mobile data limits | Compress assets |
|
|
74
96
|
| Audio autoplay | Require user interaction |
|
|
75
97
|
|
|
@@ -85,16 +107,12 @@ What type of game?
|
|
|
85
107
|
|
|
86
108
|
## 4. Asset Strategy
|
|
87
109
|
|
|
88
|
-
### Compression Formats
|
|
89
|
-
|
|
90
110
|
| Type | Format |
|
|
91
111
|
|------|--------|
|
|
92
|
-
| Textures | KTX2 + Basis Universal |
|
|
112
|
+
| Textures | KTX2 + Basis Universal (or WebP/PNG for simple 2D) |
|
|
93
113
|
| Audio | WebM/Opus (fallback: MP3) |
|
|
94
114
|
| 3D Models | glTF + Draco/Meshopt |
|
|
95
115
|
|
|
96
|
-
### Loading Strategy
|
|
97
|
-
|
|
98
116
|
| Phase | Load |
|
|
99
117
|
|-------|------|
|
|
100
118
|
| Startup | Core assets, <2MB |
|
|
@@ -105,35 +123,16 @@ What type of game?
|
|
|
105
123
|
|
|
106
124
|
## 5. PWA for Games
|
|
107
125
|
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
- Offline play
|
|
111
|
-
- Install to home screen
|
|
112
|
-
- Full screen mode
|
|
113
|
-
- Push notifications
|
|
114
|
-
|
|
115
|
-
### Requirements
|
|
116
|
-
|
|
117
|
-
- Service worker for caching
|
|
118
|
-
- Web app manifest
|
|
119
|
-
- HTTPS
|
|
126
|
+
**Benefits:** offline play, install, fullscreen, optional push.
|
|
127
|
+
**Requirements:** service worker, web app manifest, HTTPS.
|
|
120
128
|
|
|
121
129
|
---
|
|
122
130
|
|
|
123
131
|
## 6. Audio Handling
|
|
124
132
|
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
-
|
|
128
|
-
- Create AudioContext on first click/tap
|
|
129
|
-
- Resume context if suspended
|
|
130
|
-
|
|
131
|
-
### Best Practices
|
|
132
|
-
|
|
133
|
-
- Use Web Audio API
|
|
134
|
-
- Pool audio sources
|
|
135
|
-
- Preload common sounds
|
|
136
|
-
- Compress with WebM/Opus
|
|
133
|
+
- Create/resume `AudioContext` on first click/tap
|
|
134
|
+
- Prefer Web Audio API; pool sources; preload common SFX
|
|
135
|
+
- Compress with WebM/Opus when possible
|
|
137
136
|
|
|
138
137
|
---
|
|
139
138
|
|
|
@@ -146,15 +145,18 @@ What type of game?
|
|
|
146
145
|
| Block on audio load | Lazy load audio |
|
|
147
146
|
| Skip compression | Compress everything |
|
|
148
147
|
| Assume fast connection | Handle slow networks |
|
|
148
|
+
| Leave canvas engines running off-screen | Tear down guests |
|
|
149
149
|
|
|
150
150
|
---
|
|
151
151
|
|
|
152
152
|
> **Remember:** Browser is the most accessible platform. Respect its constraints.
|
|
153
153
|
|
|
154
154
|
## When to Use
|
|
155
|
-
|
|
155
|
+
|
|
156
|
+
Use when building HTML5/WebGL/WebGPU games, choosing a browser runtime, or wiring hybrid DOM+canvas guests.
|
|
156
157
|
|
|
157
158
|
## Limitations
|
|
159
|
+
|
|
158
160
|
- Use this skill only when the task clearly matches the scope described above.
|
|
159
161
|
- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.
|
|
160
162
|
- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.
|
|
@@ -20,9 +20,8 @@ Master advanced Git techniques to maintain clean history, collaborate effectivel
|
|
|
20
20
|
- Clarify goals, constraints, and required inputs.
|
|
21
21
|
- Apply relevant best practices and validate outcomes.
|
|
22
22
|
- Provide actionable steps and verification.
|
|
23
|
-
- If detailed examples are required, open `resources/implementation-playbook.md`.
|
|
24
23
|
|
|
25
|
-
##
|
|
24
|
+
## When to Use
|
|
26
25
|
|
|
27
26
|
- Cleaning up commit history before merging
|
|
28
27
|
- Applying specific commits across branches
|
|
@@ -405,15 +404,6 @@ git reflog
|
|
|
405
404
|
git branch recovered-branch abc123
|
|
406
405
|
```
|
|
407
406
|
|
|
408
|
-
## Resources
|
|
409
|
-
|
|
410
|
-
- **references/git-rebase-guide.md**: Deep dive into interactive rebase
|
|
411
|
-
- **references/git-conflict-resolution.md**: Advanced conflict resolution strategies
|
|
412
|
-
- **references/git-history-rewriting.md**: Safely rewriting Git history
|
|
413
|
-
- **assets/git-workflow-checklist.md**: Pre-PR cleanup checklist
|
|
414
|
-
- **assets/git-aliases.md**: Useful Git aliases for advanced workflows
|
|
415
|
-
- **scripts/git-clean-branches.sh**: Clean up merged and stale branches
|
|
416
|
-
|
|
417
407
|
## Limitations
|
|
418
408
|
- Use this skill only when the task clearly matches the scope described above.
|
|
419
409
|
- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.
|
|
@@ -32,22 +32,22 @@ Do not use this skill for a maintainer merge batch, canonical synchronization, v
|
|
|
32
32
|
|
|
33
33
|
## Workflow
|
|
34
34
|
|
|
35
|
-
Use the helper only after the safety gates pass. With no paths
|
|
35
|
+
Use the helper only after the safety gates pass. Resolve the installed directory that contains this `SKILL.md` and substitute its absolute path for `<skill-directory>` below; do not assume the current working directory is the catalog repository. With no paths the helper stages all current changes, so use that form only when every dirty file belongs to the requested commit:
|
|
36
36
|
|
|
37
37
|
```bash
|
|
38
|
-
bash
|
|
38
|
+
bash "<skill-directory>/scripts/smart_commit.sh"
|
|
39
39
|
```
|
|
40
40
|
|
|
41
41
|
With custom message:
|
|
42
42
|
|
|
43
43
|
```bash
|
|
44
|
-
bash
|
|
44
|
+
bash "<skill-directory>/scripts/smart_commit.sh" "feat: add feature"
|
|
45
45
|
```
|
|
46
46
|
|
|
47
47
|
To stage only named files, pass them after `--`:
|
|
48
48
|
|
|
49
49
|
```bash
|
|
50
|
-
bash
|
|
50
|
+
bash "<skill-directory>/scripts/smart_commit.sh" "fix: scope change" -- path/to/file
|
|
51
51
|
```
|
|
52
52
|
|
|
53
53
|
The helper handles isolated staging, commit creation, and push; it does not replace validation, release tooling, or a rebase required by an advanced upstream branch.
|