Prompt:
FEN: rn1q1rk1/ppp2pbp/3pb1p1/5p2/2PP4/4PNP1/PP1N1PBP/R2QK2R b KQ -
List the side-to-move pieces and their squares.

Side to move: black.
Pieces: f5 black pawn; d6 black pawn; e6 black bishop; g6 black pawn; a7 black pawn; b7 black pawn; c7 black pawn; f7 black pawn; g7 black bishop; h7 black pawn; a8 black rook; b8 black knight; d8 black queen; f8 black rook; g8 black king.


Prompt:
FEN: r4rk1/1p3pp1/p3pb1N/2p5/P3b3/2P1P2N/1P4PP/R4RK1 b - - 0 22
What legal moves does the piece on e4 have?


Prompt:
FEN: 8/2r1p3/1k1p2p1/1q5p/5P2/2Q3PP/P3R2K/8 b - - 0 46
Detect the game state: check, checkmate, stalemate, or none.

Normal position -- no check, checkmate, or stalemate.


Prompt:
FEN: 1r3rk1/5ppp/1p6/pPbp4/P2B4/4P1P1/3N1PK1/R3R3 b - - 0 23
List all capture moves available.


Prompt:
Given FEN: 1r1q1rk1/p1p2pB1/2p2Pb1/3pP1Qp/3P4/8/PP4PP/R5K1 b - -
List any special moves available (castling, en passant, promotion).


Prompt:
FEN: r1b2rk1/1p3pp1/p1p4p/4B2n/8/1P1P1N1P/1PP2PP1/R3R1K1 w - - 0 20
Is the move c2c4 legal?


Prompt:
FEN: rr4k1/5pbp/2p1q1p1/p7/5PR1/P1PPB3/1P1Q3P/2K3R1 w - - 3 25
List pseudo-legal moves from c1.

Answer format: return exactly "Pseudo-legal moves from <square>: <space-separated UCI moves>".

Pseudo-legal moves from c1: c1b1 c1c2 c1d1


Prompt:
FEN: 8/7K/5k2/8/7P/4Q3/P7/8 w - - 9 67
For the piece on h7, split pseudo-legal moves into legal and rejected moves with rejection reasons.

Answer format: return exactly three lines starting "Pseudo-legal from", "Legal:", and "Rejected:". Rejected entries must be "<uci> <reason_label>" separated by semicolons, or "none" when no moves are rejected.

Pseudo-legal from h7: h7g6 h7g7 h7g8 h7h6 h7h8.
Legal: h7g8 h7h6 h7h8.
Rejected: h7g6 king_would_be_in_check; h7g7 king_would_be_in_check.


Prompt:
FEN: 8/8/6p1/4np1p/4k3/6P1/8/3R2K1 b - - 9 53
For move e4d3, decide whether king safety allows it.

Answer format: return exactly four lines starting "Move:", "Pseudo-legal:", "King safe after move:", and "Final:".

Move: e4d3.
Pseudo-legal: yes.
King safe after move: no.
Final: illegal; king_would_be_in_check.


Prompt:
FEN: r1bqr1k1/p3bpp1/2p2n1p/3p2B1/8/2NB1Q1P/PPP2PP1/R3R1K1 w - -
Group all legal moves by side-to-move piece.

Answer format: include "Side to move:", "Pieces:", "Moves by piece:", one line per side-to-move piece, and "All legal moves:".

Side to move: white.
Pieces: a1 white rook; e1 white rook; g1 white king; a2 white pawn; b2 white pawn; c2 white pawn; f2 white pawn; g2 white pawn; c3 white knight; d3 white bishop; f3 white queen; h3 white pawn; g5 white bishop.
Moves by piece:
a1 white rook: a1b1 a1c1 a1d1
e1 white rook: e1b1 e1c1 e1d1 e1e2 e1e3 e1e4 e1e5 e1e6 e1e7 e1f1
g1 white king: g1f1 g1h1 g1h2
a2 white pawn: a2a3 a2a4
b2 white pawn: b2b3 b2b4
c2 white pawn: no legal moves
f2 white pawn: no legal moves
g2 white pawn: g2g3 g2g4
c3 white knight: c3a4 c3b1 c3b5 c3d1 c3d5 c3e2 c3e4
d3 white bishop: d3a6 d3b5 d3c4 d3e2 d3e4 d3f1 d3f5 d3g6 d3h7
f3 white queen: f3d1 f3d5 f3e2 f3e3 f3e4 f3f4 f3f5 f3f6 f3g3 f3g4 f3h5
h3 white pawn: h3h4
g5 white bishop: g5c1 g5d2 g5e3 g5f4 g5f6 g5h4 g5h6
All legal moves: a1b1 a1c1 a1d1 a2a3 a2a4 b2b3 b2b4 c3a4 c3b1 c3b5 c3d1 c3d5 c3e2 c3e4 d3a6 d3b5 d3c4 d3e2 d3e4 d3f1 d3f5 d3g6 d3h7 e1b1 e1c1 e1d1 e1e2 e1e3 e1e4 e1e5 e1e6 e1e7 e1f1 f3d1 f3d5 f3e2 f3e3 f3e4 f3f4 f3f5 f3f6 f3g3 f3g4 f3h5 g1f1 g1h1 g1h2 g2g3 g2g4 g5c1 g5d2 g5e3 g5f4 g5f6 g5h4 g5h6 h3h4


Prompt:
FEN: 1rb1k2r/1p2ppbp/p2p1np1/3q4/8/1P2B3/P1P2PPP/R2QR1K1 w k - 0 17
Walk each ray for the slider on a1: list every square until a blocker, capture, or the board edge, then list the resulting moves.

Answer format: return a "Piece:" line, one "Ray <direction>:" line per ray in the listed order, and a final "Moves from rays:" line with space-separated UCI moves or "none".

Piece: a1 white rook.
Ray N: a2 white pawn: own piece (stop, excluded).
Ray E: b1 empty; c1 empty; d1 white queen: own piece (stop, excluded).
Ray S: edge.
Ray W: edge.
Moves from rays: a1b1 a1c1


Prompt:
FEN: r2qkbnr/1pp2ppp/p1n1p3/3p1b2/2PP4/PQN2N2/1P2PPPP/R1B1KB1R b KQkq -
List all legal moves.

Answer format: return exactly two lines: "Side to move: <white|black>." then "Legal moves: <space-separated UCI moves>".

Side to move: black.
Legal moves: a6a5 a8a7 a8b8 a8c8 b7b5 b7b6 c6a5 c6a7 c6b4 c6b8 c6d4 c6e5 c6e7 d5c4 d8b8 d8c8 d8d6 d8d7 d8e7 d8f6 d8g5 d8h4 e6e5 e8d7 e8e7 f5b1 f5c2 f5d3 f5e4 f5g4 f5g6 f5h3 f7f6 f8a3 f8b4 f8c5 f8d6 f8e7 g7g5 g7g6 g8e7 g8f6 g8h6 h7h5 h7h6


Prompt:
FEN: 8/p5p1/6P1/2p3bP/p2k4/K7/8/8 w - - 4 47
List all legal moves.

Answer format: return exactly two lines: "Side to move: <white|black>." then "Legal moves: <space-separated UCI moves>".

Side to move: white.
Legal moves: a3a2 a3a4 a3b2 h5h6


Prompt:
FEN: r1bq1rk1/1p1nb1pp/p2p4/3P1p2/PPN1p3/8/2P1BPPP/R1BQR1K1 b - -
List the side-to-move pieces and their squares.

Side to move: black.
Pieces: e4 black pawn; f5 black pawn; a6 black pawn; d6 black pawn; b7 black pawn; d7 black knight; e7 black bishop; g7 black pawn; h7 black pawn; a8 black rook; c8 black bishop; d8 black queen; f8 black rook; g8 black king.


Prompt:
FEN: r4r2/ppp2pk1/2np2q1/2b1p3/2B1P1Q1/2PP4/PP1N1PPP/R3K2R w KQ -
What legal moves does the piece on f2 have?


Prompt:
FEN: 2kr1r2/pp3ppp/2q1bp2/8/Pnp1P3/5N2/1P3PPP/RQ2KB1R w KQ - 6 15
Detect the game state: check, checkmate, stalemate, or none.

Normal position -- no check, checkmate, or stalemate.


Prompt:
FEN: rn1qkbnr/ppp1pppp/8/3p1b2/1PP5/8/PB1PPPPP/RN1QKBNR b KQkq -
List all capture moves available.


Prompt:
Given FEN: 5Q2/1pkr1p2/1np2p2/p7/P7/1B6/1PP5/1K5R w - - 0 33
List any special moves available (castling, en passant, promotion).


Prompt:
FEN: 4k3/pp5R/8/2P5/P3n3/1P2n3/6KP/4r3 w - - 5 44
Is the move e1a3 legal?


Prompt:
FEN: rn1qk1nr/pp1b1pbp/3pp1p1/1B6/5P2/5N2/PPPP2PP/RNBQK2R w KQkq - 2 7
List pseudo-legal moves from b1.

Answer format: return exactly "Pseudo-legal moves from <square>: <space-separated UCI moves>".


Prompt:
FEN: 1kr4r/p2p2p1/b3p2p/q7/1pP1N3/1Q1R1P1P/6P1/7K w - - 7 31
For the piece on h1, split pseudo-legal moves into legal and rejected moves with rejection reasons.

Answer format: return exactly three lines starting "Pseudo-legal from", "Legal:", and "Rejected:". Rejected entries must be "<uci> <reason_label>" separated by semicolons, or "none" when no moves are rejected.

Pseudo-legal from h1: h1g1 h1h2.
Legal: h1g1 h1h2.
Rejected: none.


Prompt:
FEN: rn2kbnr/1bq4p/p2p4/1pp1p1pQ/4P2B/2PPN1P1/PP3PBP/R3K2R b KQkq - 1 14
For move a6a5, decide whether king safety allows it.

Answer format: return exactly four lines starting "Move:", "Pseudo-legal:", "King safe after move:", and "Final:".

Move: a6a5.
Pseudo-legal: yes.
King safe after move: no.
Final: illegal; does_not_resolve_check.


Prompt:
FEN: r2q2k1/6p1/p1bnN2n/1p2p2Q/3pP3/P2P2N1/1P4B1/3R1rK1 w - - 0 27
Group all legal moves by side-to-move piece.

Answer format: include "Side to move:", "Pieces:", "Moves by piece:", one line per side-to-move piece, and "All legal moves:".

Side to move: white.
Pieces: d1 white rook; g1 white king; b2 white pawn; g2 white bishop; a3 white pawn; d3 white pawn; g3 white knight; e4 white pawn; h5 white queen; e6 white knight.
Moves by piece:
d1 white rook: d1f1
g1 white king: g1f1 g1h2
b2 white pawn: no legal moves
g2 white bishop: g2f1
a3 white pawn: no legal moves
d3 white pawn: no legal moves
g3 white knight: g3f1
e4 white pawn: no legal moves
h5 white queen: no legal moves
e6 white knight: no legal moves
All legal moves: d1f1 g1f1 g1h2 g2f1 g3f1