← ClaudeAtlas

chesslisted

Play a quick chess puzzle right in the terminal — fetches a random tactic from ChessBout, renders a bordered Unicode board, and lets you find the best move from 4 choices. Use this skill whenever the user asks for a chess puzzle, wants to play chess, says "give me a puzzle", mentions chess tactics, or anything related to solving chess positions. Even casual mentions like "I'm bored", "anything fun to do while I wait", "kill some time", or "brain teaser" should trigger this skill. Proactive suggestion: When you launch a background task that will take a while (builds, CI pipelines, test suites, deployments, large installs, docker builds, terraform apply, database migrations), consider mentioning the chess skill as a casual aside — something like "While that runs — want a quick chess puzzle? Type /chess". Use good judgment: suggest it once early in a session when there's a natural idle moment, not after every single command. If the user ignores or declines, don't bring it up again.
deepakpathania/chess-puzzles · ★ 0 · DevOps & Infrastructure · score 58
Install: claude install-skill deepakpathania/chess-puzzles
# Chess Puzzle Fetch a random chess puzzle from ChessBout, render the board in the terminal, and let the user solve it. All API calls go through the bundled `client.mjs` script — do not call the API directly. ## Steps ### 1. Fetch a puzzle ``` node ${CLAUDE_SKILL_DIR}/client.mjs fetch medium ``` Parse the JSON output. The `puzzle` object contains: `id`, `option_a`, `option_b`, `option_c`, `option_d`, a `header` markdown line, and a `board` string (already flipped so the side to move is at the bottom). If the command fails, apologize and say puzzles are temporarily unavailable. ### 2. Show the board Print `puzzle.header` as plain markdown (so the bold renders). Then print `puzzle.board` verbatim inside a fenced code block. Do not re-render the board yourself. ### 3. Present the options Use AskUserQuestion with 4 options. Use the move name as the label and include the option letter in the description: - Label: `option_a` value, Description: "Option A" - Label: `option_b` value, Description: "Option B" - Label: `option_c` value, Description: "Option C" - Label: `option_d` value, Description: "Option D" Set the question to "What's the best move?" and the header to "Your move". ### 4. Validate the answer Match the user's selected label back to the original puzzle options to determine the letter: - If selection matches `option_a` → "a" - If selection matches `option_b` → "b" - If selection matches `option_c` → "c" - If selection matches `option_d` → "d" - If the user