PluginBench
Skill
Review
Audit score 70

threejs-game-director

majidmanzarpour/threejs-game-skills

Orchestrate end-to-end Three.js browser game development from prototype to release.

What is threejs-game-director?

The entrypoint skill for building, upgrading, and shipping Three.js games at any scope. It routes work across sibling skills for gameplay, graphics, UI, asset generation, debugging, and QA, and enforces a scope-aware workflow that delivers the exact bar the user requested—from small arcade prototypes to premium releases.

  • Routes gameplay, graphics, UI, and asset work across specialized sibling skills
  • Enforces scope matching: delivers the exact visual and polish level requested, not more or less
  • Manages end-to-end verification: playable loop first, then depth, then browser evidence
  • Delegates independent asset generation and review work to keep blocking integration moving
  • Maintains continuity across interruptions with game-progress tracking and checkpoint recovery
  • Scores premium work against a 10-category visual scorecard with measured metrics

How to install threejs-game-director

npx skills add https://github.com/majidmanzarpour/threejs-game-skills --skill threejs-game-director
Prerequisites
  • Node.js and npm installed
  • Three.js project structure (created via threejs-gameplay-systems skill or manually)
  • Sibling skills installed: threejs-gameplay-systems, threejs-aaa-graphics-builder, threejs-game-ui-designer, threejs-debug-profiler, threejs-qa-release, threejs-3d-generator, threejs-image-generator, threejs-audio-generator
  • Optional: API keys for external asset generation (Replicate, Meshy, ElevenLabs) for premium work
Claude Code
Cursor
Windsurf
Cline

How to use threejs-game-director

  1. 1.Define the game scope and art direction from the user's request (arcade, premium, release-ready, etc.)
  2. 2.Read the gameplay-systems skill to establish core loop, entities, input, and camera contract
  3. 3.Launch asset generation jobs (3D models, textures, audio) in parallel while implementing gameplay
  4. 4.Build the playable loop with placeholder or generated assets, then assess with real assets before scaling
  5. 5.Delegate UI, graphics polish, or independent review to sibling skills as blocking work completes
  6. 6.Run QA and profiling via threejs-qa-release to verify performance and browser compatibility
  7. 7.Deliver the final result with evidence: production build, screenshots, and performance metrics

Use cases

Good for
  • Building a small arcade game from scratch with core loop and basic visuals
  • Upgrading an existing Three.js game to premium quality with authored assets and polish
  • Shipping a game to production with full QA, performance profiling, and release builds
  • Iterating on gameplay feel, graphics, or UI while preserving unrelated systems
  • Generating and integrating 3D models, textures, audio, and UI art alongside implementation
Who it's for
  • Game developers building or shipping Three.js browser games
  • Teams delegating asset generation and QA to background workers
  • Developers upgrading prototypes to premium or release-ready quality
  • Solo developers managing end-to-end game scope and decisions

threejs-game-director FAQ

When should I use the Game Director vs. a specific sibling skill?

Use Game Director for any request to build, upgrade, or ship a complete game or substantial feature. Use a sibling skill for isolated work: gameplay-systems for core mechanics, graphics-builder for visual polish, ui-designer for menus, etc. The Director orchestrates across all of them.

How does scope affect what I deliver?

The user's own words set the bar. 'Small arcade game' means a good prototype; 'premium', 'polished', or 'release-ready' means authored assets, visual depth, and full QA. 'Less basic' means the current visuals were rejected—treat it as premium. Deliver exactly what was asked, not more.

Can I work on multiple things at once?

Yes. Use delegation tools to run asset generation, UI design, or independent review in parallel while you implement blocking gameplay or integration work. Keep the lead on blocking work; use up to two workers for independent tasks.

What if I need to pause and resume work?

Maintain artifacts/game-progress.md with current intent, decisions, completed work, pending jobs with IDs, and next actions. Re-read it after an interruption to pick up where you left off without losing context.

How do I know if my game is premium quality?

Score it against the 10-category visual scorecard in threejs-aaa-graphics-builder/references/visual-scorecard.md. Premium means no category below 2 and an average of at least 2.3. Use the inspector's measured metrics, not subjective judgment.

Full instructions (SKILL.md)

Source of truth, from majidmanzarpour/threejs-game-skills.


name: threejs-game-director description: "Entrypoint for building, upgrading, and finishing Three.js browser games. Routes work across the sibling threejs-* skills for gameplay, graphics, UI, 3D/image/audio asset generation, debugging, and release. Use for any request to build, upgrade, polish, or ship a Three.js game as a whole, at any scope from a small arcade prototype to a premium release."

Three.js Game Director

Own the end-to-end game outcome: a playable loop first, then the visual and interface depth the request actually asked for, then browser evidence that it works.

Scope

The user's own words set the bar. "Make a small arcade game" is not a request for the full premium pipeline — build the good version of what was asked and stop. "Premium", "AAA", "polished", "high-fidelity", "showcase", "release-ready", or "less basic" is that request, and at that bar a first playable slice is not done. "Less basic" specifically means the current visual level was rejected; treat it as the premium bar.

The user's scope, art style, constraints, and prior decisions override skill defaults. A narrow edit to a premium game remains a narrow edit. Make routine implementation calls yourself and complete authorized work before seeking a decision that only affects a later step. Ask only when a missing choice materially changes the requested result; continue independent work meanwhile. Until the requested bar is met, don't end a turn with a summary that announces the next step, an offer to continue, or a list of decisions that don't block the work; take the next step instead. End the turn when the work is done, or when only the user can unblock it.

Working style

Say in one sentence what you're about to do before your first tool call. While working, give a short update when you finish a phase, find something important, or change direction. Lead the final response with the outcome.

The lead owns shared interfaces, integration, and the final verification pass. Use available delegation tools for independent work that saves time or improves quality: asset generation alongside gameplay, or isolated UI work after the intent/state interface is defined. Normally use a lead plus up to two workers. Give each worker a task, separate file ownership, input/output contract, and acceptance criteria. Keep the immediate blocking integration work with the lead.

For substantial gameplay, graphics, or animation changes, one focused independent review can catch missed defects. Supply raw captures/code and the relevant rubric; ask for concrete defects rather than endorsement of the lead's score. Resolve findings without recursive review cycles. When delegation tools are absent, work directly.

Report what you ran and what you saw. If you couldn't run something, say that instead.

Sibling skills

Use the actual loaded skill directory as <director-skill-dir>. Resolve siblings through ../<skill>/SKILL.md there. If absent, use the runner's discovered skill path, then a matching repo skills/ directory or the active runner's install location (~/.agents/skills for Codex, ~/.claude/skills for Claude Code, legacy ~/.codex/skills last). Resolve references relative to the selected skill; avoid mixing installed versions.

PhaseSkill
Design brief, core loop, levels, entities, input, camera, physics, feelthreejs-gameplay-systems
Models, materials, shaders, VFX, lighting, render budget, scorecardthreejs-aaa-graphics-builder
HUD, menus, overlays, responsive and touch UIthreejs-game-ui-designer
Blank canvas, render/runtime bugs, mobile input, profilingthreejs-debug-profiler
Browser QA, screenshots, canvas pixels, bot playtest, production buildthreejs-qa-release
Characters, vehicles, weapons, buildings, rigs, animationthreejs-3d-generator
Concepts, textures, skies, logos, icons, GUI art, image-to-3D inputsthreejs-image-generator
SFX, music, ambience, UI sounds, announcer and dialoguethreejs-audio-generator

For complete games and broad upgrades, read all five production skills before implementing, plus generators whose trigger surfaces exist. Read each phase's required references at phase entry. For narrow edits, load the affected specialists and references, preserving unrelated systems. Record actual loaded resources when reporting skill use; a phase label is not a skill invocation.

Continuity and early quality

Start broad builds with the gameplay design brief, core-loop contract, and level plan. Define art direction, camera scale, and hero/readability targets early. Launch useful asset jobs while implementing the loop, then assess a representative playable scene with the real assets before multiplying levels, waves, or enemy variants. Inspect concepts and generated model previews before their dependent generation or rigging stages.

For substantial tasks maintain artifacts/game-progress.md: current intent and constraints, decisions, completed work, pending jobs with task IDs/checkpoint paths, remaining defects, and next actions. Re-read it after an interruption. A correction updates affected work; a status question does not replace the build objective. Preserve completed assets and mark obsolete pending outputs instead of accidentally spending again.

Use available background tool sessions or submit/status/download commands to keep independent work moving.

The bar for premium work

Every visible surface that exists in the design is authored, not just the hero: player, obstacles and enemies, interactables, ground and world kit, HUD and menu states, lighting and materials, feel, and target-device performance. Unrefined primitives, empty arenas, box skylines, generic stat-card HUDs, and glow-or-fog-only detail are prototype placeholders unless the user explicitly chose that style. Interpret the scorecard through the genre rather than adding unrelated content.

Score the result with the 10-category scorecard in threejs-aaa-graphics-builder/references/visual-scorecard.md, using its anchors and the inspector's measured metrics rather than a personal rubric. Premium means no category below 2 and an average of at least 2.3.

Asset sourcing

bash <director-skill-dir>/scripts/probe_asset_credentials.sh

When external generation is in scope, run it before assuming anything about keys. It sources the user's shell profile, which the agent process usually does not inherit, and prints KEY=SET|MISSING for all three providers. Explicitly procedural or no-external-service work does not need a credential probe.

With keys set, premium hero surfaces get generated assets: player, boss, creature, vehicle, ship, weapon, signature building. Respect an explicit procedural-only style or external-generation restriction. Procedural kits handle repeated props, decals, collision proxies, and instanced volume. Premium active gameplay includes event-driven audio.

Read references/asset-recovery.md when sourcing external assets or recovering a job; it classifies each failure and says when a local fallback is allowed. Continue independent work meanwhile.

Verification ownership

The lead consolidates specialist results into one check set appropriate to the change. Full games need production build, real-input progression and retry, target-viewport captures, renderer diagnostics, and the premium scorecard when requested. Small edits need affected behavior/layout checks. Repeat checks only after relevant changes, failures, or unresolved concerns. For animated work include motion captures covering locomotion, transitions, and contact timing, not only stills.

Getting started and checking output

python3 <threejs-gameplay-systems-skill-dir>/scripts/create_threejs_game.py ./my-game
node <threejs-qa-release-skill-dir>/scripts/inspect-threejs-canvas.mjs --manifest artifacts/evidence.json --url http://127.0.0.1:5188
python3 <director-skill-dir>/scripts/check_evidence.py ./my-game --manifest artifacts/evidence.json

Generated games carry their own npm run inspect:canvas and npm run verify:visual. Before capturing, read references/evidence-manifest.md and declare the expected viewport/state pairs for this pass. The checker verifies only that set and its run ID. Its result establishes artifact coverage, not aesthetic quality or gameplay correctness. When maintaining the pack itself, use references/workflow-evaluations.md for behavioral comparisons.

Final response

Lead with what was built, whether it works, the local URL and controls, and remaining limitations. For substantial builds put the design artifacts, asset task IDs/paths, captures and motion evidence, renderer/physics metrics, tests, and scorecard in artifacts/final-evidence.md and link it. For narrow edits report only affected behavior and checks. Describe what ran and was observed; do not substitute a completion claim for missing evidence.