@jarrodmedrano/claude-skills 1.0.2 → 1.0.4

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 (54) hide show
  1. package/.claude/skills/bevy/SKILL.md +406 -0
  2. package/.claude/skills/bevy/references/bevy_specific_tips.md +385 -0
  3. package/.claude/skills/bevy/references/common_pitfalls.md +217 -0
  4. package/.claude/skills/bevy/references/ecs_patterns.md +277 -0
  5. package/.claude/skills/bevy/references/project_structure.md +116 -0
  6. package/.claude/skills/bevy/references/ui_development.md +147 -0
  7. package/.claude/skills/domain-driven-design/SKILL.md +459 -0
  8. package/.claude/skills/domain-driven-design/references/ddd_foundations_and_patterns.md +664 -0
  9. package/.claude/skills/domain-driven-design/references/rich_hickey_principles.md +406 -0
  10. package/.claude/skills/domain-driven-design/references/visualization_examples.md +790 -0
  11. package/.claude/skills/domain-driven-design/references/wlaschin_patterns.md +639 -0
  12. package/.claude/skills/game-design-theory/SKILL.md +102 -0
  13. package/.claude/skills/game-design-theory/design-principles.md +308 -0
  14. package/.claude/skills/game-design-theory/gameplay-elements.md +213 -0
  15. package/.claude/skills/game-design-theory/player-psychology.md +175 -0
  16. package/.claude/skills/game-design-theory/playtesting.md +321 -0
  17. package/.claude/skills/game-design-theory/storytelling.md +219 -0
  18. package/.claude/skills/game-feel/SKILL.md +305 -0
  19. package/.claude/skills/game-feel/references/adsr-tuning.md +271 -0
  20. package/.claude/skills/game-feel/references/classic-profiles.md +279 -0
  21. package/.claude/skills/game-feel/references/perception-thresholds.md +160 -0
  22. package/.claude/skills/game-feel/references/polish-effects.md +246 -0
  23. package/.claude/skills/game-feel/references/simulation-recipes.md +306 -0
  24. package/.claude/skills/game-feel/references/six-metrics.md +239 -0
  25. package/.claude/skills/godot/SKILL.md +728 -0
  26. package/.claude/skills/godot/assets/templates/attribute_template.gd +109 -0
  27. package/.claude/skills/godot/assets/templates/component_template.gd +76 -0
  28. package/.claude/skills/godot/assets/templates/interaction_template.gd +108 -0
  29. package/.claude/skills/godot/assets/templates/item_resource.tres +11 -0
  30. package/.claude/skills/godot/assets/templates/spell_resource.tres +20 -0
  31. package/.claude/skills/godot/references/architecture-patterns.md +608 -0
  32. package/.claude/skills/godot/references/common-pitfalls.md +518 -0
  33. package/.claude/skills/godot/references/file-formats.md +491 -0
  34. package/.claude/skills/godot/references/godot4-physics-api.md +302 -0
  35. package/.claude/skills/godot/scripts/validate_tres.py +145 -0
  36. package/.claude/skills/godot/scripts/validate_tscn.py +170 -0
  37. package/.claude/skills/level-design/SKILL.md +249 -0
  38. package/.claude/skills/level-design/anticipatory-play.md +223 -0
  39. package/.claude/skills/level-design/hiding-linearity.md +181 -0
  40. package/.claude/skills/level-design/indie-practices.md +286 -0
  41. package/.claude/skills/level-design/open-world-planning.md +294 -0
  42. package/.claude/skills/level-design/play-personas.md +240 -0
  43. package/.claude/skills/level-design/procedural-handmade.md +271 -0
  44. package/.claude/skills/level-design/themed-environments.md +264 -0
  45. package/.claude/skills/react-three-fiber/SKILL.md +2055 -0
  46. package/.claude/skills/react-three-fiber/scripts/build-scene.ts +171 -0
  47. package/package.json +3 -1
  48. package/scripts/install.js +16 -1
  49. package/templates/github-actions/README.md +36 -0
  50. /package/.claude/{commands/design-review → agents}/design-review-agent.md +0 -0
  51. /package/.claude/{commands/code-review → agents}/pragmatic-code-review-subagent.md +0 -0
  52. /package/{.claude/commands/code-review → templates/github-actions}/claude-code-review-custom.yml +0 -0
  53. /package/{.claude/commands/code-review → templates/github-actions}/claude-code-review.yml +0 -0
  54. /package/{.claude/commands/security-review → templates/github-actions}/security.yml +0 -0
@@ -0,0 +1,286 @@
1
+ # Level Design Practices for Independent Games
2
+
3
+ Based on Chapter 6: "Level Design Practices for Independent Games" by Fares Kayali and Josef Ortner.
4
+
5
+ ## The Contemporary Retro Game
6
+
7
+ Independent games often feature:
8
+ - 2D content with retro aesthetic
9
+ - Strong, innovative core mechanics
10
+ - Modern, focused gameplay
11
+ - Limited team/budget resources
12
+
13
+ The level designer operates at the intersection of programming, design, and art—distilling ideas into workable games while leading players through experiences without revealing the designer's presence.
14
+
15
+ ---
16
+
17
+ ## Qualities of Good Level Design
18
+
19
+ ### 1. Maintain Flow
20
+ Balance difficulty and challenge. Avoid:
21
+ - **Anxiety** (too hard)
22
+ - **Boredom** (too easy)
23
+
24
+ Keep players in the "flow channel."
25
+
26
+ ### 2. Balance Freedom and Constraints
27
+ Give players the illusion of control while ensuring:
28
+ - Continuity
29
+ - Fluent play
30
+ - Guided experience
31
+
32
+ ### 3. Enable Mastery and Emergence
33
+ - Allow recombination of game elements
34
+ - Support elusive mastery
35
+ - Create emergent gameplay
36
+ - Incentivize replay
37
+
38
+ ### 4. Balance Risk and Reward
39
+ Every level should include:
40
+ - Easier options (lower rewards)
41
+ - Harder options (higher rewards)
42
+ - Proportional reward scaling
43
+
44
+ ### 5. Drive Narrative
45
+ Ensure individual levels align with:
46
+ - Overall game progression
47
+ - Asset revelation schedule
48
+ - Story pacing
49
+
50
+ ### 6. Guide the Player
51
+ Use environmental cues:
52
+ - Mirror's Edge: Red marks climbable objects
53
+ - Lighting draws attention
54
+ - Architecture suggests paths
55
+
56
+ ---
57
+
58
+ ## Five Level Design Practices
59
+
60
+ ### 1. Expand on Strong Core Mechanics
61
+
62
+ **Example:** VVVVVV
63
+ > "You cannot jump—instead, you reverse your own gravity at the press of a button. The game focuses on playing with this mechanic in a variety of interesting ways."
64
+
65
+ **The approach:**
66
+ - One simple, strong core mechanic
67
+ - Entire game explores variations
68
+ - Constraints force creativity
69
+ - Each level finds new applications
70
+
71
+ **VVVVVV specifics:**
72
+ - Input: Left, right, flip gravity
73
+ - Exploration: Moving platforms from below, ceiling walking, gravity timing puzzles
74
+ - Difficulty through variety, not complexity
75
+
76
+ **Design principle:** Constrain to create depth. Less mechanics = more exploration of each.
77
+
78
+ ---
79
+
80
+ ### 2. Iterative Level Design
81
+
82
+ **The Process:**
83
+ 1. Rapid prototyping
84
+ 2. Playtest early
85
+ 3. Iterate based on feedback
86
+ 4. Repeat until fun
87
+
88
+ **Key insight:** Level design should happen *alongside* mechanic development, not after.
89
+
90
+ **Radio Flare Redux case:**
91
+ - Music-based game (each level is a song)
92
+ - Level design tightly connected to music
93
+ - All events quantized to beat
94
+ - Level files read like musical scores
95
+
96
+ **Lesson learned:** Starting level design late meant:
97
+ - Fewer enemy patterns
98
+ - Less variety
99
+ - Good ideas lost in the process
100
+
101
+ ---
102
+
103
+ ### 3. Design Game Modes, Not Levels
104
+
105
+ **Example:** Hue Shift
106
+
107
+ **Original approach:** Designed levels with completion goals
108
+ - Problem: Constant player speed meant maximum high score
109
+ - Result: No motivation to improve
110
+
111
+ **New approach:** Endless, self-generated level
112
+ - Play until mistake
113
+ - No maximum score
114
+ - Active high score competition
115
+
116
+ **Implementation:**
117
+ - 50 predefined blocks (easy/medium/hard)
118
+ - Random combination
119
+ - Early blocks easy, difficulty increases
120
+ - Each block designed to connect to any other
121
+
122
+ **Benefits:**
123
+ - Short development time
124
+ - High replay value
125
+ - Player motivation through randomization
126
+
127
+ **The trade-off:** Some frustration from difficult random combinations, but hope for better luck keeps players trying.
128
+
129
+ ---
130
+
131
+ ### 4. Sandboxes and Emergent Gameplay
132
+
133
+ **Definition:** Create systems that generate interesting situations rather than authored content.
134
+
135
+ **Elements:**
136
+ - Simple, consistent rules
137
+ - Interacting systems
138
+ - Player creativity enabled
139
+ - Unpredictable outcomes
140
+
141
+ **Level design role:**
142
+ - Provide the sandbox
143
+ - Set initial conditions
144
+ - Let emergence happen
145
+
146
+ **Example scenarios:**
147
+ - Physics puzzles with multiple solutions
148
+ - Enemy AI with emergent behaviors
149
+ - Environmental interactions
150
+
151
+ ---
152
+
153
+ ### 5. Object-Oriented Level Design
154
+
155
+ **Concept:** Modular elements that combine predictably.
156
+
157
+ **Implementation:**
158
+ - Design reusable "objects" (platforms, enemies, hazards)
159
+ - Define clear interaction rules
160
+ - Combine objects to create levels
161
+ - Objects work regardless of combination
162
+
163
+ **Benefits:**
164
+ - Rapid level creation
165
+ - Consistent player expectations
166
+ - Easy difficulty scaling
167
+ - Efficient development
168
+
169
+ **Hue Shift application:**
170
+ - 50 blocks with 2-6 platforms each
171
+ - Any block connects to any other
172
+ - Combination rules ensure solvability
173
+
174
+ ---
175
+
176
+ ## Core Mechanics Definition
177
+
178
+ ### Järvinen's Definition
179
+ > "Game mechanics are the means through which the players carry out certain rule-based actions aiming at the game goals."
180
+
181
+ ### MDA Framework
182
+ > "Mechanics are the various actions, behaviors and control mechanisms afforded to the player within a game context."
183
+
184
+ ### Core Mechanics
185
+ The essential play activity performed repeatedly throughout the game.
186
+
187
+ **VVVVVV core mechanic:** Gravity reversal
188
+ **Pac-Man core mechanics:** Movement, eating, avoiding
189
+
190
+ ---
191
+
192
+ ## Rhythm and Music Integration
193
+
194
+ ### Radio Flare Redux Approach
195
+
196
+ **Process:**
197
+ 1. Listen to song repeatedly
198
+ 2. Identify sections, themes, recurring elements
199
+ 3. Quantize events to beat
200
+ 4. Match level structure to musical structure
201
+
202
+ **Level file structure:**
203
+ - Time indexed by bars and beats
204
+ - Events synchronized to rhythm
205
+ - Sound effects blend with music
206
+
207
+ **Benefits:**
208
+ - Tight audiovisual sync
209
+ - Immersive experience
210
+ - Clear structure
211
+
212
+ **Drawbacks:**
213
+ - Linear, static experience
214
+ - Limited emergent gameplay
215
+ - Late development constraints
216
+
217
+ ---
218
+
219
+ ## Resource Constraints as Design Tools
220
+
221
+ ### Limited Time
222
+ - Focus on core mechanic
223
+ - Cut feature scope, not quality
224
+ - Iterative refinement over breadth
225
+
226
+ ### Limited Budget
227
+ - Retro aesthetics require less art
228
+ - Procedural generation reduces content needs
229
+ - Modular design maximizes asset reuse
230
+
231
+ ### Limited Team
232
+ - Designer as programmer, artist, level designer
233
+ - Communication overhead reduced
234
+ - Vision consistency easier
235
+
236
+ ---
237
+
238
+ ## Player Expectation Management
239
+
240
+ ### The Carrot on a Stick
241
+ Always provide clear incentive for forward progress.
242
+
243
+ ### Subverting Expectations
244
+ Consciously fulfill *and* subvert player expectations when designing levels.
245
+
246
+ **Balance:**
247
+ - Enough fulfillment for comfort
248
+ - Enough subversion for surprise
249
+ - Pattern recognition rewarded
250
+ - Complacency punished
251
+
252
+ ---
253
+
254
+ ## Contemporary vs Retro
255
+
256
+ ### Retro Elements
257
+ - Low-end graphics
258
+ - Limited input (2-3 buttons)
259
+ - Clear rules
260
+ - High difficulty
261
+ - Chunked level design
262
+
263
+ ### Contemporary Elements
264
+ - Short session times (5-8 minutes)
265
+ - Procedural generation
266
+ - Endless modes
267
+ - Social features (leaderboards)
268
+ - Mobile-friendly design
269
+
270
+ ### The Synthesis
271
+ Contemporary retro games:
272
+ - Look old
273
+ - Play modern
274
+ - Respect player time
275
+ - Enable mastery
276
+
277
+ ---
278
+
279
+ ## Summary
280
+
281
+ 1. **Core mechanic first** — Build everything on a strong foundation
282
+ 2. **Iterate constantly** — Playtest early and often
283
+ 3. **Consider endless modes** — Sometimes no levels is better
284
+ 4. **Embrace emergence** — Systems create more than content
285
+ 5. **Design modularly** — Object-oriented thinking speeds development
286
+ 6. **Constraints enable creativity** — Limited resources force focus
@@ -0,0 +1,294 @@
1
+ # Open-World Level Design Planning
2
+
3
+ Based on Chapter 12: "Level Design Planning for Open-World Games" by Joel Burgess (Bethesda Game Studios).
4
+
5
+ ## The Three Elements
6
+
7
+ Open-world planning requires three living documents that evolve throughout development:
8
+
9
+ 1. **The World Map** — Spatial visualization
10
+ 2. **The Master List** — High-level data tracking (Excel)
11
+ 3. **The Directory** — Per-location details (Wiki)
12
+
13
+ ---
14
+
15
+ ## Element 1: The World Map
16
+
17
+ ### Purpose
18
+ The map is the most vital piece of design documentation. It instantly communicates setting, scale, regions, and anchor locations.
19
+
20
+ ### Key Questions
21
+ - Where does the game take place? (real vs fictional)
22
+ - What subregions exist within the map?
23
+ - What is the scale and density?
24
+ - What major geographical features exist?
25
+ - What natural boundaries can you leverage?
26
+
27
+ ### Working with Real-World Locations
28
+
29
+ **Advantages:**
30
+ - Pre-existing history and culture
31
+ - Geography already makes sense
32
+ - Reference material abundant
33
+
34
+ **Challenges:**
35
+ - 100% accuracy rarely equals good gameplay
36
+ - Must balance authenticity with playability
37
+ - Need to understand *essence*, not just details
38
+
39
+ **Fallout Approach:**
40
+ Get relative positions and surroundings correct for landmarks. Highlight evocative elements. Omit less useful details.
41
+
42
+ ### Subregions
43
+
44
+ Create variety within the larger world:
45
+ - Different biomes
46
+ - Different cultures
47
+ - Different moods
48
+
49
+ **Skyrim's Seasonal Subregions:**
50
+ - The Rift: perpetual autumn
51
+ - Haafinagar: bleak winter
52
+ - Falkreath: eternal spring
53
+
54
+ No actual seasons simulated—each region *is* a season.
55
+
56
+ ### Transitions Between Subregions
57
+ - Leave ample room to blend
58
+ - Use geographical features (cliffs, rivers) for sharper transitions
59
+ - Water boundaries make rapid shifts more believable
60
+
61
+ ### Orienting Features
62
+
63
+ Include landmarks visible from anywhere:
64
+ - **Skyrim**: High Hrothgar at center
65
+ - **Fallout 4**: Boston skyline (Mass Fusion building's distinctive crown)
66
+
67
+ Two-point orientation systems work well (financial district + Trinity Tower).
68
+
69
+ ### Boundaries
70
+
71
+ **Natural boundaries (preferred):**
72
+ - Water (oceans, lakes, rivers)
73
+ - Cliffs
74
+ - Dense forests/marshes
75
+ - Mountains
76
+
77
+ **Artificial boundaries (avoid when possible):**
78
+ - Invisible walls with "You cannot go that way"
79
+ - Fences that should be climbable
80
+ - Any barrier that draws attention
81
+
82
+ **Making Boundaries Work:**
83
+ - GTAV: Swim out far enough and sharks eat you
84
+ - Ark: Exhaustion + marine enemies before invisible wall
85
+ - Buffer of "boring space" before hard boundary
86
+
87
+ ---
88
+
89
+ ## Element 2: The Master List
90
+
91
+ ### Purpose
92
+ A spreadsheet tracking every location with filterable, sortable data. Best tool for high-level analysis.
93
+
94
+ ### Basic Columns
95
+ | Name | X | Y | Designer | Quest | Footprint |
96
+ |------|---|---|----------|-------|-----------|
97
+ | Diamond City | 5 | -6 | Jane | MQ101 | Lg |
98
+ | Sanctuary | -2 | 4 | Bob | MQ001 | Md |
99
+
100
+ ### Coordinate System
101
+ Use units that match your game engine. Bethesda uses "cells" consistently across games.
102
+
103
+ ### Plotting the Map
104
+
105
+ Create a scatter graph in Excel:
106
+ 1. X/Y data from location columns
107
+ 2. Set axis bounds to match map proportions
108
+ 3. Use map image as plot background
109
+ 4. Plot points overlay on map
110
+
111
+ Now you can visualize location distribution automatically.
112
+
113
+ ### Footprint Radii
114
+
115
+ Track location sizes (Sm/Md/Lg) and visualize with different marker sizes on the scatter plot.
116
+
117
+ **Note:** Footprint ≠ complexity. A tiny exterior might hide a massive underground area.
118
+
119
+ ### Filter Visualizations
120
+
121
+ Add columns for:
122
+ - Encounter type
123
+ - Difficulty
124
+ - Architectural style
125
+ - Quest associations
126
+ - Development status
127
+
128
+ Filter columns to see distribution patterns instantly.
129
+
130
+ ### Quest Route Visualization
131
+
132
+ Plot quest sequences as line series:
133
+ 1. Create list of locations in quest order
134
+ 2. Add as new data series
135
+ 3. Display as connected line
136
+
137
+ Instantly see the physical journey players will take.
138
+
139
+ ---
140
+
141
+ ## Element 3: The Directory
142
+
143
+ ### Purpose
144
+ Long-form documentation for individual locations. Where designers track detailed, evolving information.
145
+
146
+ ### Platform
147
+ Wiki works best (MediaWiki recommended). Collaborative, searchable, categorizable.
148
+
149
+ ### Per-Location Pages Should Include:
150
+
151
+ **Header Data:**
152
+ - Designer assigned
153
+ - Quadrant/coordinates
154
+ - Encounter type
155
+ - Difficulty rating
156
+ - Quest associations
157
+
158
+ **Body Sections:**
159
+ - Overview: What is this place?
160
+ - Goals: What experience should it deliver?
161
+ - Walkthrough: How to test/reach it
162
+ - Pass notes: Feedback from each iteration
163
+ - Known issues: Current bugs and workarounds
164
+ - To-do: Designer's personal task list
165
+
166
+ ### Category Tags
167
+ Enable filtering by:
168
+ - Designer name
169
+ - Development pass status
170
+ - Location type
171
+ - Quest line
172
+
173
+ ### Naming Convention
174
+ Simple codes: DN004 = Dungeon #4
175
+ Use consistently across master list and directory.
176
+
177
+ ---
178
+
179
+ ## POI Density
180
+
181
+ ### Definition
182
+ The frequency of points of interest in a given area.
183
+
184
+ ### The Spectrum
185
+
186
+ **Sparse (Just Cause):**
187
+ - Long drives between locations
188
+ - Vehicles essential
189
+ - World feels vast and empty (intentionally)
190
+
191
+ **Dense (GTA cities):**
192
+ - Compressed real-world distances
193
+ - Something around every corner
194
+ - Theme park feel
195
+
196
+ **Non-uniform (Fallout 4, Skyrim):**
197
+ - Urban cores dense
198
+ - Rural areas sparse
199
+ - Small pockets of density for towns
200
+
201
+ ### Consider Travel Method
202
+ - On foot: higher density needed
203
+ - Vehicle: can afford sparser distribution
204
+ - Fast travel: density matters less for return visits
205
+
206
+ ---
207
+
208
+ ## Anchor Locations
209
+
210
+ Locations you know must exist early:
211
+ - Story-critical places
212
+ - Real-world landmarks (if applicable)
213
+ - Major navigation features
214
+ - Key narrative beats
215
+
216
+ Plot these first. Other locations fill around them.
217
+
218
+ ### Wish List Locations
219
+ Ideas you'd like to include but aren't critical:
220
+ - Minor landmarks
221
+ - Novel encounter concepts
222
+ - Infrastructure (power stations, farms)
223
+ - World-building details
224
+
225
+ Build wish list to roughly equal target location count.
226
+
227
+ ---
228
+
229
+ ## Iterative Development Passes
230
+
231
+ ### Pass Zero: Pitch
232
+ - Complete master list exists
233
+ - Directory template established
234
+ - No technical requirements
235
+ - Each location assigned to a designer
236
+
237
+ ### Pass One: Layout
238
+ - Basic environment art in place
239
+ - "Graybox" equivalent with modular kits
240
+ - Spatial relationships established
241
+
242
+ ### Pass Two: Gameplay
243
+ - Core gameplay systems available
244
+ - Enemy placement and encounters
245
+ - First draft of pacing and challenge
246
+
247
+ ### Pass Three: Content Complete
248
+ - All content present (if rough)
249
+ - "Ship with shame" milestone
250
+ - Everything playable end-to-end
251
+
252
+ ### Art Pass
253
+ - Lighting, atmospherics, clutter
254
+ - Visual polish
255
+ - Collaboration between designers and artists
256
+
257
+ ### Pass Four+: Polish
258
+ - Bug fixes
259
+ - Balance tuning
260
+ - Additional passes for problem areas or promising locations
261
+
262
+ ---
263
+
264
+ ## Practical Wisdom
265
+
266
+ ### Documentation Lifecycle
267
+ > "We ship games, not documents."
268
+
269
+ Keep documentation useful but don't over-maintain. Let documents go fallow once they've served their purpose.
270
+
271
+ ### Metrics and Scheduling
272
+ - Base estimates on average/below-average designers
273
+ - Plan for worst case
274
+ - Leave emergency time
275
+
276
+ > "No plan survives first contact with the enemy."
277
+
278
+ ### Pride of Ownership
279
+ Try to keep designers with their locations throughout development. Ownership motivates.
280
+
281
+ ### Map as Communication
282
+ The map unifies team perception. Print large versions. Reference constantly. It's your shared mental model.
283
+
284
+ ---
285
+
286
+ ## Summary
287
+
288
+ 1. **Map first** — Establishes shared vision
289
+ 2. **Master list** — Tracks and visualizes high-level data
290
+ 3. **Directory** — Captures per-location detail
291
+ 4. **Iterate** — Plan for multiple passes
292
+ 5. **Density matters** — Defines exploration feel
293
+ 6. **Natural boundaries** — Beat artificial walls
294
+ 7. **Anchor then fill** — Critical locations first, then expand