Use this skill whenever the user discusses application architecture, clean architecture, separating business logic from UI, or cross-platform/WASM-based development. It enforces the 'Headless Core & Passive View' pattern, ensuring that the 'Core' (Business Logic) is platform-agnostic and the 'View' (UI) is a 'Humble Object' that only reflects state.
95
Quality
93%
Does it follow best practices?
Impact
99%
1.13xAverage score across 5 eval scenarios
We are building a chess game. Our vision is to have a single engine that can be compiled to WASM for web browsers, used natively on mobile (iOS/Android), and even run in a CLI.
The engine should handle the board state, manage turns, and validate whether a move is legal. For example, it must know that a pawn can move forward one space (or two on its first move) and that a king cannot move into check.
To support our cross-platform goals, the engine must be platform-agnostic, with no dependencies on any UI frameworks or operating system-specific APIs. We need a clean, explicit boundary between the chess logic and whatever UI (web, mobile, or CLI) happens to be using it.
Please implement the initial chess engine logic and the interface for the UI.
The output should include: