controls

Validates player-visible control signs and prevents inverted A/D steering in browser games.

Updated Sep 17, 2026
One-click install
npx skills add https://github.com/scomofo/midi-stage2 --skill controls-scomofo
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: controls
Source: https://github.com/scomofo/midi-stage2/tree/main/.grok/skills/controls
Command: npx skills add https://github.com/scomofo/midi-stage2 --skill controls-scomofo

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Inverted or inconsistent movement controls are the most common ship-blocker in browser games with vehicles, flight, or chase cameras. This Skill defines what left, right, up, and down must mean to the player and provides a mandatory self-test so you can prove A turns left before shipping. ## Core Features & Use Cases - Genre Control Maps: Canonical input sign conventions for FPS strafe, ground/water vehicles, fixed-wing flight, helicopters/drones, and 2D platformers, built on a shared three.js-compatible 3D basis. - Inverted A/D Diagnosis: Identifies the canonical bug (KeyA mapped to negative steer) and prescribes flipping exactly one sign rather than rewriting the coordinate system. - Mandatory Self-Test Harness: A window.__controlsTest probe plus an agent-browser batch script that holds keys across frames and asserts yaw/roll changes in the correct direction. - Use Case: While building a kart or airplane demo with a chase camera, run the automated smoke test to catch that A turns the nose right, flip the steer sign once, and retest before calling the game done. ## Quick Start Ask the AI to apply the controls skill to verify that A and D steer correctly in your vehicle or flight game before shipping.

Frequently Asked Questions about controls

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I fix inverted A/D steering in a browser game?▼

Inverted A/D usually comes from mapping KeyA to negative steer while positive yaw turns the nose left on a chase camera. Flip exactly one sign, either the key mapping or the integrate step, then retest both A and D before shipping.

How to test keyboard controls in a three.js vehicle game?▼

Expose a window.__controlsTest probe with getYaw, getSpeed, and setKeys, then drive it with the agent-browser CLI. Hold keys through the probe rather than dispatching keydown events, and assert yaw changes in the correct direction.

What controls should a flight simulator use for A and D?▼

In fixed-wing flight, A and D control roll (ailerons): A banks left with the left wing down, D banks right. They are not strafe keys and must not reuse FPS ground-movement signs.

Why does my chase camera make steering feel reversed?▼

The camera and movement code likely compute forward with opposite yaw signs. Compute forward once and share it between movement and camera, then verify with the player-visible test that A moves the nose left on screen.

Can I reuse FPS strafe logic for vehicle steering?▼

No. FPS strafe moves position along a right vector, while vehicle A/D is a yaw or roll rate. Mixing the two is the most common cause of inverted steering in vehicle and flight demos.