Install
$ agentstack add skill-majidmanzarpour-threejs-game-skills-threejs-gameplay-systems ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Three.js Gameplay Systems
Purpose
Create or evolve a playable browser game loop with clear ownership, responsive controls, deterministic update order, and verified player-facing behavior.
Use When
Starting a new game, repairing a weak prototype, adding mechanics/entities, designing architecture, tuning camera/controls, implementing rules/objectives, or improving game feel.
Workflow
Load references/gameplay-workflows.md as the first action when the task includes first playable setup, architecture, mechanics, entities, input, camera, collision/physics, scoring, objectives, feedback, or feel tuning.
Load references/physics-engine-selection.md before adding or changing physics, collision-heavy gameplay, vehicle movement, rolling balls, mini-golf, pool/snooker, pinball, rigid-body puzzles, character controllers, sensors, high-speed projectiles, moving platforms, or physics QA. Track both references in a reference ledger with yes/no, path, and failure reason. Do not mark the gameplay phase complete while a required reference is skipped.
Load references/checklists/new-game-definition-of-done.md before claiming a new game or first playable slice is complete.
Load references/checklists/endless-runner-premium-quality.md for endless runner work.
Load references/prompt-templates.md only when the user asks for reusable prompts, starter prompts, or a task template.
Load threejs-audio-generator when implementing real SFX, ambience, UI sounds, voice/TTS, or audio cleanup beyond simple placeholder hooks. Gameplay code should emit audio events; the audio skill should generate or process the actual assets and define the runtime audio matrix.
- Inspect project structure, scripts, dependencies, current loop, input, camera, entities, state, UI, and diagnostics.
- Define the one-sentence playable loop: verb, objective, feedback, fail/retry.
- Choose small architecture boundaries:
core,game,entities,systems,assets,ui,tests. - Implement mechanics in playable increments: input, state, entity, collision/physics, feedback, HUD/audio hook, diagnostics.
- Tune feel: movement, acceleration, camera follow/FOV/shake, impact, cooldowns, difficulty, restart loop.
- Keep hot paths allocation-light and update order explicit.
- Verify with build, browser, screenshot, canvas pixels, console/page errors, and one real input path.
Packaged Scaffold
Use the bundled scaffold when starting a new project or when the user asks for a starter game:
python3 /scripts/create_threejs_game.py ./my-game
The script copies assets/threejs-vite-game/, rewrites the project name in package.json and package-lock.json, and keeps generated games self-contained with their own visual test and canvas-inspection script. Use --force only when the target directory may be overwritten.
Library Guidance
- Use TypeScript, Vite, Three.js modules.
- Custom collision for simple arcade triggers and pickups.
- Rapier is the default robust physics engine for serious Three.js browser games with rigid bodies, sensors, balls, ramps, many contacts, or high-speed collisions.
- Use
cannon-esonly as a lightweight JS fallback for small/simple rigid-body scenes. - Use custom collision when authored arcade feel is more important than simulation.
lil-guifor live-tuned constants when useful.- Web Audio for runtime playback and procedural feedback;
threejs-audio-generatorfor generated game audio assets.
Common Failure Modes
- Static demo instead of playable loop.
- Mechanic compiles but cannot be triggered by real input.
- Camera/controls feel delayed or hide the next decision.
- State changes do not drive UI/audio/VFX.
- Architecture abstractions appear before mechanics need them.
Final Response
Report the reference ledger, gameplay checklist outcome, behavior, controls, changed files, architecture choices, tuned values, verification evidence, artifacts, and remaining edge cases.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: majidmanzarpour
- Source: majidmanzarpour/threejs-game-skills
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.