Answers from the documentation; checking which model is on duty
Hi - I answer from the OpenSmartRoute documentation: routing, the API, plans and quotas, self-hosting. Ask away, or open a support ticket if you need a person.
Grounded in the docs - follow a source before acting on it.
game-design - Skill - OpenSmartRoute
Skillv1.0.0
game-design
Game design principles. GDD structure, balancing, player psychology, progression.
Imported from sickn33/agentic-awesome-skills (skills/game-development/game-design/SKILL.md). Install upstream with npx skills add sickn33/agentic-awesome-skills --skill game-design. Copyright stays with the author.
Game Design Principles
Design thinking for engaging games.
1. Core Loop Design
The 30-Second Test
Prototype a short loop; 30 seconds is a heuristic, not a universal rule:
1. ACTION → Player does something
2. FEEDBACK → Game responds
3. REWARD → Player feels good
4. REPEAT
Loop Examples
Genre
Core Loop
Platformer
Run → Jump → Land → Collect
Shooter
Aim → Shoot → Kill → Loot
Puzzle
Observe → Think → Solve → Advance
RPG
Explore → Fight → Level → Gear
2. Game Design Document (GDD)
Essential Sections
Section
Content
Pitch
One-sentence description
Core Loop
Actions, feedback and meaningful outcomes
Mechanics
How systems work
Progression
How player advances
Art Style
Visual direction
Audio
Sound direction
Principles
Keep it living (update regularly)
Visuals help communicate
Less is more (start small)
3. Player Psychology
Motivation Types
Type
Driven By
Achiever
Goals, completion
Explorer
Discovery, secrets
Socializer
Interaction, community
Killer
Competition, dominance
Reward Schedules
Schedule
Effect
Use
Fixed
Predictable
Milestone rewards
Variable
Unpredictable outcomes
Optional rewards with transparent odds
Ratio
Effort-based
Grind games
4. Difficulty Balancing
Flow State
Too Hard → Frustration → Quit
Too Easy → Boredom → Quit
Just Right → Flow → Engagement
Balancing Strategies
Strategy
How
Dynamic
Adjust to player skill
Selection
Let player choose
Accessibility
Options for all
5. Progression Design
Progression Types
Type
Example
Skill
Player gets better
Power
Character gets stronger
Content
New areas unlock
Story
Narrative advances
Pacing Principles
Early wins (hook quickly)
Gradually increase challenge
Rest beats between intensity
Meaningful choices
6. Anti-Patterns
❌ Don't
✅ Do
Design in isolation
Playtest constantly
Polish before fun
Prototype first
Force one way to play
Allow player expression
Punish excessively
Reward progress
Remember: Fun is discovered through iteration, not designed on paper.
When to Use
Use when designing a playable core loop, preparing a GDD, balancing difficulty, or evaluating progression through playtests.
Limitations
Use this skill only when the task clearly matches the scope described above.
Do not treat the output as a substitute for environment-specific validation, testing, or expert review.
Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.
Verification
Treat tables as design starting points, not guarantees. Prototype the selected mechanic, test accessibility and recovery paths, and measure frame timing, memory and behavior on target hardware before claiming completion. Store submission and licensing requirements must be checked against current official platform documentation.
Installed into a catalogue, chosen by a router
Install game-design and it becomes one more candidate the router can pick - when it fits.
A listing is a routing target with a manifest: what it does, which domains it covers, what it costs and who publishes it. Once installed it sits beside your own models and tools, is scored like any other candidate for each request, and shows up in the trace when it wins. Ratings come from workspaces that installed it, one per account.
When a provider is down or over quota the request moves on; the trace says it did.
Use it
Copy one of these into your project. Installing also returns the manifest and these snippets.
# after Install: the listing is in your workspace's routing pool - a plan picks it for its slotcurl-s-X POST https://osr-api.kindrock-caaab1a2.centralindia.azurecontainerapps.io/api/v1/route -H 'Authorization: Bearer $OSR_API_KEY' -H 'Content-Type: application/json' -d '{"text": "...", "plan": true}'
Manifest
An Open Capability Manifest: the router reads it to know what this does, what it costs and when to pick it.