AI Onboarding
♜ ♞ ♝ ♛ ♚ ♝ ♞ ♜ ═════════════════════════════════════ AI ONBOARDING · ChessX ═════════════════════════════════════ ♟ ♟ ♟ ♟ ♟ ♟ ♟ ♟Fast-path guide for engineers using AI tooling on ChessX. Audience: chess-engine contributors using Claude Code + Matt Pocock’s skill repository. Terse by design; depth lives in linked docs.
Live monorepo: chessx-mr (sibling). Open it alongside this guide; references below name files conceptually rather than by full path.
♟ 0. Context (the why)
Section titled “♟ 0. Context (the why)”- ChessX — multi-process chess platform. Active codebase is the
chessx-mrmonorepo (Turborepo + pnpm). Sibling folders are archival. - chess-engine — Python 3.12 Flask service wrapping Stockfish + python-chess, Dockerized. The
chess-engineapp inside the monorepo. This is what Gideon owns. - CONTEXT.md — per-app, hand-curated product/domain context. Agents read these first. Two exist: the root product
CONTEXT.mdand thechess-engine/CONTEXT.md. Map isCONTEXT-MAP.md. Why two: one is product, one is engine; mixing rots both. - Pocock’s skills — small, composable agent skills used as slash commands in Claude Code (
/triage,/grill-with-docs,/tdd,/diagnose,/qa,/to-issues,/to-prd,/improve-codebase-architecture). Why: they fix three recurring agent failures — misalignment, sloppy testing, no pre-PR check. Not a framework; copy and adapt.
Monorepo map:
| App | Stack | You touch? |
|---|---|---|
apps/server | Node 22, Express, Socket.IO, Mongoose | No |
apps/admin | React 19 + Vite | No |
apps/mobile | React Native 0.84 + Expo 55 | No |
apps/chess-engine | Python 3.12, Flask, Stockfish | Yes |
♜ 1. Before you code (one-time setup)
Section titled “♜ 1. Before you code (one-time setup)”Repo prerequisites (Node 22, pnpm ≥9, Docker, env files) live in the monorepo README — follow it; don’t duplicate. Engine-only smoke test once installed:
pnpm --filter @chessx/chess-engine dev # builds + runs the engine containercurl http://localhost:8000/ # healthThen layer the AI workflow on top:
# 1. Install Claude Code if not present# https://docs.claude.com/en/docs/claude-code
# 2. Add Pocock's skills (interactive picker)npx skills@latest add mattpocock/skills
# 3. Run setup — asks issue tracker, labels, doc location/setup-matt-pocock-skillsVerify: /triage, /grill-with-docs, /tdd, /qa autocomplete in a fresh Claude Code session inside chessx-mr/.
1a. Status line (recommended)
Section titled “1a. Status line (recommended)”Two-piece status line — git state on the left, context-window % on the right. Cheap signal, big quality-of-life win once you have it. Full setup (settings.json + two shell scripts): docs/ccstatusline-setup.md.
1b. Arun’s LINKING.md system (optional, for iterating on skills)
Section titled “1b. Arun’s LINKING.md system (optional, for iterating on skills)”Pocock’s skills are upstream-managed but you’ll want to tweak. Forking the world is heavy; a per-machine symlink manifest is light. Pattern:
- One canonical clone of
pocock-skillsper host. links.local.tomldeclares which skills get symlinked into~/.claude/skills.- Mix upstream skills + private skills without divergence.
Companion refs:
docs/LINKING.md— full protocol, safety, reporting.docs/links.example.toml— starter manifest.
cd ~/repos/pocock-skillscp links.example.toml links.local.toml # gitignored# edit, then your linker script reconciles♞ 2. Before each task (intake)
Section titled “♞ 2. Before each task (intake)”/triage— read the issue, classify, apply a label from the monorepo’s triage-labels doc (needs-triage,needs-info,ready-for-agent,ready-for-human,wontfix)./grill-with-docs— extract requirements before writing code. The skill asks until alignment is reached. This is the single highest-leverage habit — agents ship the wrong thing more often than they ship buggy thing.- Re-read the root +
chess-engineCONTEXT.md. Cheap; rarely changes.
♝ 3. While coding
Section titled “♝ 3. While coding”/tdd— test-first loop. Especially load-bearing for engine work (legal-move correctness, eval boundaries, FEN parsing)./diagnose— when stuck on a failing test or unexpected behaviour. Faster than ad-hocprint.- Permission modes — cycle with Shift + Tab: Normal → Plan → Auto-accept edits → Bypass. Detail + when-to-use:
docs/claude-code-modes.md. - Hygiene — no comments, no stray logs, no untracked TODOs in source (TS/JS/Python). Full rules in the monorepo’s code-hygiene doc. The repo enforces; don’t fight it.
♛ 4. Before PR (close-out)
Section titled “♛ 4. Before PR (close-out)”# from repo rootpnpm typecheck && pnpm lint && pnpm test/qa— pre-PR check; catches what/tddmissed.- Re-label issue (
ready-for-humanfor review, etc.) per the triage-labels doc.
♚ 5. References (covered)
Section titled “♚ 5. References (covered)”Videos — durations TBD; fill as watched.
| Source | Title | Duration |
|---|---|---|
| Matt Pocock (AI Hero) | Claude Code for Real Engineers Office Hours, Apr 10 | TBD |
| Matt Pocock (AI Hero) | Building a REAL feature with Claude Code: every step explained (Mar 2026) | TBD |
| Dex Horthy (HumanLayer) | No Vibes Allowed: Solving Hard Problems in Complex Codebases | TBD |
| AI LABS | 12 Hidden Settings To Enable In Your Claude Code Setup | TBD |
Articles:
- AI Hero — Getting Started with the RALPH Loop — agent-in-a-loop pattern.
- HumanLayer — Writing a Good CLAUDE.md.
- AI Hero — Skills newsletter.
In sibling repos:
- Pocock skills clone — read each skill’s
SKILL.md. chessx-mragent docs —docs/agents/(issue-tracker, triage-labels, domain, code-hygiene).chessx-mrcontext — rootCONTEXT.md,CONTEXT-MAP.md,chess-engine/CONTEXT.md.
In this repo (docs/):
LINKING.md,links.example.toml— symlink-manifest pattern.ccstatusline-setup.md— status-line wiring.claude-code-modes.md— Shift+Tab permission modes.
♟ 6. Refs not yet covered (parking lot)
Section titled “♟ 6. Refs not yet covered (parking lot)”Worth a look later; not required for chess-engine work.
- AI Hero — A Complete Guide to AGENTS.md (~150-200 instruction cap, progressive disclosure).
- AIE Europe Day 1 — Keynotes & OpenClaw/Personal Agents.
- AIE Europe Day 2 — Deepmind, Anthropic, Cursor, Factory, Linear.
- Frontend is harder for AI than back-end.
- Augmented Coding: Mapping the Uncharted Territory — Lada Kesseler.
- Architecture Decision Records — Martin Fowler.
- Claude Code hooks (aiorg.dev).
- 15 Hidden & Under-Utilized Features in Claude Code.
- ccusage — token usage tracker.
- Arun’s Obsidian
ChessXvault — product/content (Pieces, Worlds, Beginner 0–600, Learning Data). For product questions only; off-limits for code. - Legacy ChessX repos (
chessx-server,chessx-client,chessx-mobile-client,chessx-litepaper) — archived. Ignore unless explicitly directed. MASTERDATA.md,MASTERDATA-2.md— product spec snapshots (sibling tochessx-mr).- TODO: video durations.
- TODO: team Loom walkthroughs.
- TODO: chess-engine runbook / on-call doc.