Use when adding or changing backend HTTP API handlers, REST controllers, request/response DTOs, Joi schemes, or OpenAPI REST contract entries.
Use for backend bug fixes, cleanup, extraction, or moving code between layers while preserving behavior and architecture boundaries.
Use when changing Redis or cache behavior.
Use when changing backend game, package, validation, or service rules.
Use when changing backend timers, scheduled work, Redis expiration handlers, pub/sub listeners, cleanup work, or lifecycle notifications.
Use when adding or changing server Socket.IO game events, GameActionType handlers, action use cases, socket payloads, GameActionExecutor flows, or public socket contracts. Do not use for REST-only endpoint changes.
Use when changing docs, skills, AGENTS files, specs, ADRs, source-of-truth routing, or when code changes make existing docs stale.
Use when changing Flutter gameplay screens, role-aware CTAs, disabled reasons, buzzer/answer UI, timers, media waiting, reconnect banners, final round UI, or game summary behavior. Avoid for non-game UI-only changes.