custom-chess-engine-mechanic-builderlisted
Install: claude install-skill RMAzrim/opencode-artes
# Custom Chess Engine Mechanic Builder
## 1. System Architecture & Prerequisites
This skill builds a variant chess engine on top of `python-chess` while
keeping the logic layer completely pygame-free. The architecture splits into
four parts:
- **`SkillChessBoard`** - a wrapped `chess.Board`. It mirrors the standard
rule engine (`push_uci`, `legal_moves`, `is_game_over`) and adds
`turn_player` bookkeeping, a JSON-serialisable `cooldowns` dictionary, and
a `log` of `MoveEntry` records so gameplay can be replayed/reported.
- **Skill mechanics** - `apply_teleport(sq_from, sq_to)` relocates a friendly
piece instantly (legal moves route through `board.push_uci`; impossible
movements use a variant fallback with manual turn advance) and
`apply_freeze(sq)` marks a square frozen. A frozen square's occupant is
skipped by `legal_moves()` until its expiry ticks run out.
- **Cooldown scheduler** - `cooldown_ticks` defines honest cooldowns per
skill; `can_cast(skill)` gates casting, `tick_cooldowns()` decays both skill
cooldowns and freeze expiries as the turn clock advances.
- **View layer** - `rotate_view_180(board_ui)` maps file/rank indices for a
180-degree board rotation, `render_ascii()` is a pure-text renderer that
works without any GUI library, and `render()` draws the same state on a
pygame surface guarded by an `ImportError` fallback.
Prerequisites:
| Dependency | Required? | Install |
| ----------------- | ---