What problem does it solve? Working on the KrockSide chess board UI is error-prone: three overlapping coordinate systems (algebraic, file/rank, row/column) with an inverted column axis, a known bug that disables all moves because player color is read from the wrong JWT claim, and strict rules against client-side chess logic. This Skill captures that domain knowledge so changes to ChessBoard, ChessSquare, and useChessGame don't reintroduce classic bugs. ## Core Features & Use Cases - Coordinate system reference: Explains the three coordinate representations, the inverted column axis, and the conversion helpers in src/types/chess.ts that must be used instead of inline math. - Move interaction model: Documents the two-click selection machine, drag-and-drop handling, server-driven state updates via BoardChanged events, and the rule to never update the board before the server responds. - Known bugs and constraints: Catalogs confirmed issues (DT-01 color claim bug blocking all moves, DT-09 missing black-side perspective flip, DT-13 synthetic squares masking incomplete snapshots) plus stable test selectors. - Use Case: You need to fix a square that doesn't respond to clicks. The Skill tells you the root cause is likely DT-01 (playerColor always 'None' disables all 64 squares) and directs you to propagate color from JoinRoomResponse instead of the JWT role claim. ## Quick Start Ask the AI to explain why chess squares are not responding to clicks in the KrockSide board and how to fix the player color bug.