Prompt:
FEN: r3rbk1/1b3Npp/1q1p2n1/2pP4/5R2/1PN3Q1/4P1BP/5R1K w - -
Walk each ray for the slider on f1: 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: f1 white rook.
Ray N: f2 empty; f3 empty; f4 white rook: own piece (stop, excluded).
Ray E: g1 empty; h1 white king: own piece (stop, excluded).
Ray S: edge.
Ray W: e1 empty; d1 empty; c1 empty; b1 empty; a1 empty; edge.
Moves from rays: f1a1 f1b1 f1c1 f1d1 f1e1 f1f2 f1f3 f1g1


Prompt:
FEN: r4rk1/pp3ppp/8/3b4/3N4/P3P3/1P3PPP/2R2RK1 w - - 2 21
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: a3a4 b2b3 b2b4 c1a1 c1b1 c1c2 c1c3 c1c4 c1c5 c1c6 c1c7 c1c8 c1d1 c1e1 d4b3 d4b5 d4c2 d4c6 d4e2 d4e6 d4f3 d4f5 e3e4 f1d1 f1e1 f2f3 f2f4 g1h1 g2g3 g2g4 h2h3 h2h4


Prompt:
FEN: r1bq1rk1/pp2ppbp/2n2np1/8/2B5/P2P1Q2/1PP2PPP/RNB1K1NR w KQ - 1 8
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: a1a2 a3a4 b1c3 b1d2 b2b3 b2b4 c1d2 c1e3 c1f4 c1g5 c1h6 c2c3 c4a2 c4a6 c4b3 c4b5 c4d5 c4e6 c4f7 d3d4 e1d1 e1d2 e1e2 e1f1 f3c6 f3d1 f3d5 f3e2 f3e3 f3e4 f3f4 f3f5 f3f6 f3g3 f3g4 f3h3 f3h5 g1e2 g1h3 g2g3 g2g4 h2h3 h2h4


Prompt:
FEN: 3rn1k1/ppq1pp1p/2p3pQ/7r/3PN3/1P3P2/PB1R1PPP/5RK1 w - -
List the side-to-move pieces and their squares.

Side to move: white.
Pieces: f1 white rook; g1 white king; a2 white pawn; b2 white bishop; d2 white rook; f2 white pawn; g2 white pawn; h2 white pawn; b3 white pawn; f3 white pawn; d4 white pawn; e4 white knight; h6 white queen.


Prompt:
FEN: 1r1qkb1r/3bpppp/5n2/p7/1pPP4/4PQ2/3B1PPP/RN2KBNR b KQk - 3 14
What legal moves does the piece on d8 have?


Prompt:
FEN: 5r2/6k1/4R3/2p2p2/2B5/1P4K1/5PPP/8 w - - 6 36
Detect the game state: check, checkmate, stalemate, or none.

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


Prompt:
FEN: rnb1k1nr/ppp2ppp/8/8/1b6/4qP2/PP1QN1PP/R3KB1R b KQkq - 3 11
List all capture moves available.


Prompt:
Given FEN: r1bqk2r/pp3pbp/4pnp1/3p4/3Q4/NP3P1N/P1P1P1PP/2KR1B1R w kq - 0 10
List any special moves available (castling, en passant, promotion).


Prompt:
FEN: 8/6k1/3p1p2/2p1pP2/2P1P1PR/3P2r1/2K5/8 b - - 16 64
Is the move g7g8 legal?


Prompt:
FEN: 5n2/p3b1k1/1p1p4/3PpRp1/2P5/1P4P1/PB6/6K1 b - - 1 34
List pseudo-legal moves from e5.

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


Prompt:
FEN: r3kbnr/pp3pp1/q1p4p/4p3/8/2NP1B2/PPPB1PPP/1K1RR3 b kq - 1 16
For the piece on e5, 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 e5: e5e4.
Legal: e5e4.
Rejected: none.


Prompt:
FEN: 4r3/1p3p1k/p5pp/8/1P3P1P/P3Q3/R5PK/8 b - - 0 38
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: yes.
Final: legal; legal.


Prompt:
FEN: 2K5/4N3/1k6/1B6/8/8/8/8 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: b5 white bishop; e7 white knight; c8 white king.
Moves by piece:
b5 white bishop: b5a4 b5a6 b5c4 b5c6 b5d3 b5d7 b5e2 b5e8 b5f1
e7 white knight: e7c6 e7d5 e7f5 e7g6 e7g8
c8 white king: c8b8 c8d7 c8d8
All legal moves: b5a4 b5a6 b5c4 b5c6 b5d3 b5d7 b5e2 b5e8 b5f1 c8b8 c8d7 c8d8 e7c6 e7d5 e7f5 e7g6 e7g8


Prompt:
FEN: 8/4pk1p/3p2p1/5p2/5P1P/p7/Kb6/8 w - - 4 44
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: a2b1 a2b3 h4h5


Prompt:
FEN: rn1qk2r/pbpp1pp1/1p2pn1p/8/2PP4/2P2NP1/P3PPBP/R1BQK2R w 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: white.
Legal moves: a1b1 a2a3 a2a4 c1a3 c1b2 c1d2 c1e3 c1f4 c1g5 c1h6 c4c5 d1a4 d1b3 d1c2 d1d2 d1d3 d4d5 e1d2 e1f1 e1g1 e2e3 e2e4 f3d2 f3e5 f3g1 f3g5 f3h4 g2f1 g2h3 g3g4 h1f1 h1g1 h2h3 h2h4


Prompt:
FEN: 5Rb1/p3B3/n6k/6R1/8/PP4p1/2P2PPP/6K1 w - - 2 36
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: a3a4 b3b4 c2c3 c2c4 e7b4 e7c5 e7d6 e7d8 e7f6 f2f3 f2f4 f2g3 f8a8 f8b8 f8c8 f8d8 f8e8 f8f3 f8f4 f8f5 f8f6 f8f7 f8g8 g1f1 g1h1 g5a5 g5b5 g5c5 g5d5 g5e5 g5f5 g5g3 g5g4 g5g6 g5g7 g5g8 g5h5 h2g3 h2h3 h2h4


Prompt:
FEN: rnb2rk1/1p4pp/p3p3/1B1pPp2/1b1N4/2N3Q1/PqPK1PPP/R6R w - - 0 16
List the side-to-move pieces and their squares.

Side to move: white.
Pieces: a1 white rook; h1 white rook; a2 white pawn; c2 white pawn; d2 white king; f2 white pawn; g2 white pawn; h2 white pawn; c3 white knight; g3 white queen; d4 white knight; b5 white bishop; e5 white pawn.


Prompt:
FEN: rnbq1rk1/1p3pp1/p4n1p/P2p3P/1P2p3/2P1PPb1/4B1P1/RNBQK1NR w KQ - 2 13
What legal moves does the piece on b1 have?


Prompt:
FEN: r4rk1/pp1b1p1p/2p1p1p1/3p4/2qPn3/2P2Q2/2B1RPPP/5K2 w - - 3 22
Detect the game state: check, checkmate, stalemate, or none.

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


Prompt:
FEN: r7/6p1/3p2k1/2pP2p1/p1P5/6p1/1P3K2/6R1 w - - 0 46
List all capture moves available.


Prompt:
Given FEN: 1nbq1rk1/1pp1p1b1/5p1n/2pP2p1/4P2p/B2B1N1P/4NPP1/3QK2R w K - 0 15
List any special moves available (castling, en passant, promotion).


Prompt:
FEN: 8/8/5k2/8/2BN1K2/8/8/8 w - -
Is the move c4b3 legal?


Prompt:
FEN: 2kr1bnr/p7/1p1p1p1p/P1pQ2p1/4P3/2B2N1P/1PP2PP1/R3R1K1 b - - 0 17
List pseudo-legal moves from c5.

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


Prompt:
FEN: r1bq1rk1/1p2ppbp/3p1np1/p7/2P1P3/1PN1B3/P2QBPPP/R3K2R b KQ -
For the piece on a5, 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 a5: a5a4.
Legal: a5a4.
Rejected: none.


Prompt:
FEN: r5k1/1pp4p/pb1pp2p/4p3/PP2P3/2PP1N2/5rPP/R4R1K b - - 1 17
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: yes.
Final: legal; legal.


Prompt:
FEN: rn1q1rk1/pbpp1pbp/1p2p1p1/4n3/2P5/2NP1NPP/PP3PB1/R1BQK2R w KQ - 0 10
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; c1 white bishop; d1 white queen; e1 white king; h1 white rook; a2 white pawn; b2 white pawn; f2 white pawn; g2 white bishop; c3 white knight; d3 white pawn; f3 white knight; g3 white pawn; h3 white pawn; c4 white pawn.
Moves by piece:
a1 white rook: a1b1
c1 white bishop: c1d2 c1e3 c1f4 c1g5 c1h6
d1 white queen: d1a4 d1b3 d1c2 d1d2 d1e2
e1 white king: e1d2 e1e2 e1f1 e1g1
h1 white rook: h1f1 h1g1 h1h2
a2 white pawn: a2a3 a2a4
b2 white pawn: b2b3 b2b4
f2 white pawn: no legal moves
g2 white bishop: g2f1
c3 white knight: c3a4 c3b1 c3b5 c3d5 c3e2 c3e4
d3 white pawn: d3d4
f3 white knight: f3d2 f3d4 f3e5 f3g1 f3g5 f3h2 f3h4
g3 white pawn: g3g4
h3 white pawn: h3h4
c4 white pawn: c4c5
All legal moves: a1b1 a2a3 a2a4 b2b3 b2b4 c1d2 c1e3 c1f4 c1g5 c1h6 c3a4 c3b1 c3b5 c3d5 c3e2 c3e4 c4c5 d1a4 d1b3 d1c2 d1d2 d1e2 d3d4 e1d2 e1e2 e1f1 e1g1 f3d2 f3d4 f3e5 f3g1 f3g5 f3h2 f3h4 g2f1 g3g4 h1f1 h1g1 h1h2 h3h4


Prompt:
FEN: 8/8/Bk6/8/6QP/p5P1/P5K1/8 w - - 1 55
Walk each ray for the slider on g4: 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: g4 white queen.
Ray N: g5 empty; g6 empty; g7 empty; g8 empty; edge.
Ray NE: h5 empty; edge.
Ray E: h4 white pawn: own piece (stop, excluded).
Ray SE: h3 empty; edge.
Ray S: g3 white pawn: own piece (stop, excluded).
Ray SW: f3 empty; e2 empty; d1 empty; edge.
Ray W: f4 empty; e4 empty; d4 empty; c4 empty; b4 empty; a4 empty; edge.
Ray NW: f5 empty; e6 empty; d7 empty; c8 empty; edge.
Moves from rays: g4a4 g4b4 g4c4 g4c8 g4d1 g4d4 g4d7 g4e2 g4e4 g4e6 g4f3 g4f4 g4f5 g4g5 g4g6 g4g7 g4g8 g4h3 g4h5


Prompt:
FEN: 8/8/1pk3K1/8/8/7q/6p1/5r2 b - - 1 68
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: b6b5 c6b5 c6b7 c6c5 c6c7 c6d5 c6d6 c6d7 f1a1 f1b1 f1c1 f1d1 f1e1 f1f2 f1f3 f1f4 f1f5 f1f6 f1f7 f1f8 f1g1 f1h1 g2g1b g2g1n g2g1q g2g1r h3a3 h3b3 h3c3 h3c8 h3d3 h3d7 h3e3 h3e6 h3f3 h3f5 h3g3 h3g4 h3h1 h3h2 h3h4 h3h5 h3h6 h3h7 h3h8


Prompt:
FEN: 8/3kbK2/6p1/6Pp/1p5P/1R6/8/8 w - - 4 60
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: b3a3 b3b1 b3b2 b3b4 b3c3 b3d3 b3e3 b3f3 b3g3 b3h3 f7g6 f7g7 f7g8


Prompt:
FEN: r1b2rk1/pp4p1/4p2p/2qpnpNQ/7R/P2B4/2P3PP/1R5K w - - 2 20
List the side-to-move pieces and their squares.

Side to move: white.
Pieces: b1 white rook; h1 white king; c2 white pawn; g2 white pawn; h2 white pawn; a3 white pawn; d3 white bishop; h4 white rook; g5 white knight; h5 white queen.


Prompt:
FEN: 8/8/1b6/1b6/8/8/2k5/K7 b - -
What legal moves does the piece on b6 have?

b6a5 b6a7 b6c5 b6c7 b6d4 b6d8 b6e3 b6f2 b6g1


Prompt:
FEN: 1r3rk1/2pq1p1p/2n2Qp1/1p1pP1N1/3P2b1/2P4P/2B2P2/R3R1K1 b - -
Detect the game state: check, checkmate, stalemate, or none.

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


Prompt:
FEN: r1bq1r1k/pp2bppp/4pn2/8/3N1B2/P1NB4/1P3PPP/R2Q1RK1 w - -
List all capture moves available.


Prompt:
Given FEN: 3q1r1k/4N1pp/5P2/3pR3/3P4/r2Q4/7P/6K1 b - -
List any special moves available (castling, en passant, promotion).


Prompt:
FEN: r5k1/2b3p1/p1p4p/6r1/8/1P6/1B3PP1/3R1RK1 w - - 3 28
Is the move b2c1 legal?


Prompt:
FEN: 2r5/1b3kp1/pP2p2p/5p2/1QP1pP2/1P2P1R1/P1r3PP/2b3K1 w - -
List pseudo-legal moves from g1.

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

Pseudo-legal moves from g1: g1f1 g1f2 g1h1


Prompt:
FEN: r1b2rk1/1p1n2pp/p2p4/3P1pq1/1PP1P3/2NB4/P5PP/R2Q1R1K b - -
For the piece on f5, 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 f5: f5e4 f5f4.
Legal: f5e4 f5f4.
Rejected: none.


Prompt:
FEN: rnbqkbnr/pp2p1pp/2p2p2/4N2Q/4P3/2p5/PPPP1PPP/R1B1KB1R b KQkq -
For move a7a5, decide whether king safety allows it.

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

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


Prompt:
FEN: 8/6k1/4Q1p1/2p5/1pNb1P1p/6qP/rP4P1/4R2K 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: e1 white rook; h1 white king; b2 white pawn; g2 white pawn; h3 white pawn; c4 white knight; f4 white pawn; e6 white queen.
Moves by piece:
e1 white rook: e1a1 e1b1 e1c1 e1d1 e1e2 e1e3 e1e4 e1e5 e1f1 e1g1
h1 white king: no legal moves
b2 white pawn: b2b3
g2 white pawn: no legal moves
h3 white pawn: no legal moves
c4 white knight: c4a3 c4a5 c4b6 c4d2 c4d6 c4e3 c4e5
f4 white pawn: f4f5
e6 white queen: e6a6 e6b6 e6c6 e6c8 e6d5 e6d6 e6d7 e6e2 e6e3 e6e4 e6e5 e6e7 e6e8 e6f5 e6f6 e6f7 e6g4 e6g6 e6g8
All legal moves: b2b3 c4a3 c4a5 c4b6 c4d2 c4d6 c4e3 c4e5 e1a1 e1b1 e1c1 e1d1 e1e2 e1e3 e1e4 e1e5 e1f1 e1g1 e6a6 e6b6 e6c6 e6c8 e6d5 e6d6 e6d7 e6e2 e6e3 e6e4 e6e5 e6e7 e6e8 e6f5 e6f6 e6f7 e6g4 e6g6 e6g8 f4f5


Prompt:
FEN: r1Bqk2r/6pp/p2p1n2/2p1n3/Pb2P3/2N2P2/1P1B2PP/R2QK1NR b KQkq -
Walk each ray for the slider on b4: 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: b4 black bishop.
Ray NE: c5 black pawn: own piece (stop, excluded).
Ray SE: c3 white knight: capture (stop, included).
Ray SW: a3 empty; edge.
Ray NW: a5 empty; edge.
Moves from rays: b4a3 b4a5 b4c3


Prompt:
FEN: r7/3k4/3p2p1/ppq1P3/4K3/8/3r2PP/4q3 w - - 1 47
For every side-to-move piece, list pseudo-legal moves, reject illegal ones with reasons, then give all legal moves.

Answer format: include "Side to move:", "Pieces:", "Filter by piece:", one line per side-to-move piece with "pseudo-legal ... | rejected ... | legal ..." fields, and "All legal moves:".

Side to move: white.
Pieces: g2 white pawn; h2 white pawn; e4 white king; e5 white pawn.
Filter by piece:
g2 white pawn: pseudo-legal g2g3 g2g4 | rejected g2g3 does_not_resolve_check; g2g4 does_not_resolve_check | legal none
h2 white pawn: pseudo-legal h2h3 h2h4 | rejected h2h3 does_not_resolve_check; h2h4 does_not_resolve_check | legal none
e4 white king: pseudo-legal e4d3 e4d4 e4d5 e4e3 e4f3 e4f4 e4f5 | rejected e4d3 does_not_resolve_check; e4d4 does_not_resolve_check; e4d5 does_not_resolve_check; e4e3 does_not_resolve_check; e4f5 does_not_resolve_check | legal e4f3 e4f4
e5 white pawn: pseudo-legal e5d6 e5e6 | rejected e5d6 does_not_resolve_check; e5e6 does_not_resolve_check | legal none
All legal moves: e4f3 e4f4


Prompt:
FEN: rnbq1rk1/1p3pbp/p1p1p1p1/3pP3/2PP2P1/2N1PN2/PP5P/R1Q1KB1R w KQ - 0 11
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: a1b1 a2a3 a2a4 b2b3 b2b4 c1b1 c1c2 c1d1 c1d2 c3a4 c3b1 c3b5 c3d1 c3d5 c3e2 c3e4 c4c5 c4d5 e1d1 e1d2 e1e2 e1f2 e3e4 f1d3 f1e2 f1g2 f1h3 f3d2 f3g1 f3g5 f3h4 g4g5 h1g1 h2h3 h2h4


Prompt:
FEN: 5R2/2k1P3/4K3/8/8/8/8/4r3 w - -
List the side-to-move pieces and their squares.

Side to move: white.
Pieces: e6 white king; e7 white pawn; f8 white rook.


Prompt:
FEN: rn1qk1nr/pp3pbp/2p3p1/2Ppp3/3P2b1/3BPN2/PP3PPP/RNBQK2R w KQkq - 0 7
What legal moves does the piece on f3 have?


Prompt:
FEN: 1r2r1k1/p2n1ppp/2p2p2/q1Pp4/3P3N/P2QP3/5PPP/5RK1 b - - 2 18
Detect the game state: check, checkmate, stalemate, or none.

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


Prompt:
FEN: 5K2/8/1k6/1P3P2/2Pp4/8/p1P5/8 w - -
List all capture moves available.


Prompt:
Given FEN: 3r3k/6p1/4Bq1p/1pQ2P1P/2n2P2/2P5/3r4/6RK w - - 1 40
List any special moves available (castling, en passant, promotion).


Prompt:
FEN: r2qkbnr/pp1b1ppp/2n1p3/3p4/2pP4/4PN2/PPP2PPP/RNBQKB1R w KQkq -
Is the move b7h1 legal?


Prompt:
FEN: 6k1/3b3p/1pp3p1/3p1p2/r6q/8/8/6K1 b - - 3 46
List pseudo-legal moves from a4.

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

Pseudo-legal moves from a4: a4a1 a4a2 a4a3 a4a5 a4a6 a4a7 a4a8 a4b4 a4c4 a4d4 a4e4 a4f4 a4g4


Prompt:
FEN: rnbqk2r/pp3ppp/4pn2/3p4/1bPP4/2N2N2/PP2BPPP/R1BQK2R b KQkq -
For the piece on b4, 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 b4: b4a3 b4a5 b4c3 b4c5 b4d6 b4e7 b4f8.
Legal: b4a3 b4a5 b4c3 b4c5 b4d6 b4e7 b4f8.
Rejected: none.


Prompt:
FEN: 2rk1r2/p1p4p/1p2Qpp1/2n5/5B2/8/PPP2PPP/R3K2R w KQ - 6 21
For move a1b1, decide whether king safety allows it.

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

Move: a1b1.
Pseudo-legal: yes.
King safe after move: yes.
Final: legal; legal.


Prompt:
FEN: 2r3k1/pp3ppp/4p3/3pP3/1B3Pn1/5N2/PKbN2PP/R7 b - -
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: black.
Pieces: c2 black bishop; g4 black knight; d5 black pawn; e6 black pawn; a7 black pawn; b7 black pawn; f7 black pawn; g7 black pawn; h7 black pawn; c8 black rook; g8 black king.
Moves by piece:
c2 black bishop: c2a4 c2b1 c2b3 c2d1 c2d3 c2e4 c2f5 c2g6
g4 black knight: g4e3 g4e5 g4f2 g4f6 g4h2 g4h6
d5 black pawn: d5d4
e6 black pawn: no legal moves
a7 black pawn: a7a5 a7a6
b7 black pawn: b7b5 b7b6
f7 black pawn: f7f5 f7f6
g7 black pawn: g7g5 g7g6
h7 black pawn: h7h5 h7h6
c8 black rook: c8a8 c8b8 c8c3 c8c4 c8c5 c8c6 c8c7 c8d8 c8e8 c8f8
g8 black king: g8h8
All legal moves: a7a5 a7a6 b7b5 b7b6 c2a4 c2b1 c2b3 c2d1 c2d3 c2e4 c2f5 c2g6 c8a8 c8b8 c8c3 c8c4 c8c5 c8c6 c8c7 c8d8 c8e8 c8f8 d5d4 f7f5 f7f6 g4e3 g4e5 g4f2 g4f6 g4h2 g4h6 g7g5 g7g6 g8h8 h7h5 h7h6


Prompt:
FEN: 1r2kbnr/p2n2pp/q3p3/1pp5/2Np1P2/3P3P/PP3PB1/R1B1QK1R w k - 0 16
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 white bishop: own piece (stop, excluded).
Ray S: edge.
Ray W: edge.
Moves from rays: a1b1


Prompt:
FEN: r2q1rk1/pp4pn/2nb2bp/4pN2/1P1pP3/P1PB3P/1B1N1PP1/R3QRK1 b - - 0 18
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: a7a5 a7a6 a8b8 a8c8 b7b5 b7b6 c6a5 c6b4 c6b8 c6e7 d4c3 d6b4 d6b8 d6c5 d6c7 d6e7 d8a5 d8b6 d8b8 d8c7 d8c8 d8d7 d8e7 d8e8 d8f6 d8g5 d8h4 f8e8 f8f5 f8f6 f8f7 g6e8 g6f5 g6f7 g6h5 g8f7 g8h8 h6h5 h7f6 h7g5


Prompt:
FEN: 8/8/p3k3/1p3pp1/1P1K3p/P4P1P/6P1/8 w - -
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: a3a4 d4c3 d4c5 d4d3 d4e3 f3f4 g2g3 g2g4


Prompt:
FEN: r1b2rk1/pp1q2pp/3b4/3Ppp2/1n6/2N5/PP3PPP/RBBQ1RK1 w - -
List the side-to-move pieces and their squares.

Side to move: white.
Pieces: a1 white rook; b1 white bishop; c1 white bishop; d1 white queen; f1 white rook; g1 white king; a2 white pawn; b2 white pawn; f2 white pawn; g2 white pawn; h2 white pawn; c3 white knight; d5 white pawn.


Prompt:
FEN: 5rk1/ppp2p2/4r2p/3p2p1/3P4/P1q2PB1/3nRQPP/6KR b - - 3 24
What legal moves does the piece on d5 have?


Prompt:
FEN: rnbq1rk1/pp3pb1/2p1p1pp/3pPn2/3P4/2PB1N2/PP1N1PPP/R1BQ1RK1 b - - 3 10
Detect the game state: check, checkmate, stalemate, or none.

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


Prompt:
FEN: r2q1rk1/ppp1bppp/2np4/3npb2/2P5/PP1P2P1/1B1QPPBP/R3K1NR w KQ - 0 11
List all capture moves available.


Prompt:
Given FEN: 4k3/4P3/3K4/8/3B4/8/8/1n6 w - -
List any special moves available (castling, en passant, promotion).


Prompt:
FEN: r1bqkb1r/p2p2pp/1pn1pn2/5p2/2P5/P1PBPN1P/2Q2PP1/R1B1K2R w KQkq - 0 11
Is the move f1g5 legal?


Prompt:
FEN: r1bqkb1r/pppn1ppp/3p1n2/4P3/2B1P3/2N5/PPP2PPP/R1BQK1NR b KQkq -
List pseudo-legal moves from d6.

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


Prompt:
FEN: 2kr1bnr/ppp2ppp/2b3q1/4B3/1P1p4/P3P1N1/2PP1PPP/RN1Q1RK1 b - - 1 10
For the piece on d4, 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 d4: d4d3 d4e3.
Legal: d4d3 d4e3.
Rejected: none.


Prompt:
FEN: r3kb1r/ppp3pp/3p1B2/4pq2/4N1b1/3PQNP1/PPP2PBP/R4RK1 w kq - 1 13
For move a1b1, decide whether king safety allows it.

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

Move: a1b1.
Pseudo-legal: yes.
King safe after move: yes.
Final: legal; legal.


Prompt:
FEN: rnbqk2r/1p2npp1/p3p2p/2Pp4/3P4/3B1N2/PP1N1PPP/R2Q1RK1 b kq - 1 10
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: black.
Pieces: d5 black pawn; a6 black pawn; e6 black pawn; h6 black pawn; b7 black pawn; e7 black knight; f7 black pawn; g7 black pawn; a8 black rook; b8 black knight; c8 black bishop; d8 black queen; e8 black king; h8 black rook.
Moves by piece:
d5 black pawn: no legal moves
a6 black pawn: a6a5
e6 black pawn: e6e5
h6 black pawn: h6h5
b7 black pawn: b7b5 b7b6
e7 black knight: e7c6 e7f5 e7g6 e7g8
f7 black pawn: f7f5 f7f6
g7 black pawn: g7g5 g7g6
a8 black rook: a8a7
b8 black knight: b8c6 b8d7
c8 black bishop: c8d7
d8 black queen: d8a5 d8b6 d8c7 d8d6 d8d7
e8 black king: e8d7 e8f8 e8g8
h8 black rook: h8f8 h8g8 h8h7
All legal moves: a6a5 a8a7 b7b5 b7b6 b8c6 b8d7 c8d7 d8a5 d8b6 d8c7 d8d6 d8d7 e6e5 e7c6 e7f5 e7g6 e7g8 e8d7 e8f8 e8g8 f7f5 f7f6 g7g5 g7g6 h6h5 h8f8 h8g8 h8h7


Prompt:
FEN: r1b1k2r/pppp1pp1/5q1p/2b1p3/2BnP3/2NP1N2/PPP2PPP/R2QK2R w KQkq - 4 8
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: r2qk1nr/1b1nppbp/p2p2p1/1pp5/3PP3/2PBBN1P/PP1N1PP1/R2Q1RK1 b kq -
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 b5b4 b7c6 b7c8 b7d5 b7e4 c5c4 c5d4 d6d5 d7b6 d7b8 d7e5 d7f6 d7f8 d8a5 d8b6 d8b8 d8c7 d8c8 e7e5 e7e6 e8f8 f7f5 f7f6 g6g5 g7d4 g7e5 g7f6 g7f8 g7h6 g8f6 g8h6 h7h5 h7h6


Prompt:
FEN: r2q1rk1/pp2bppp/8/n2R3b/8/3B1N1P/PP3PP1/R1BQ2K1 b - -
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: a5b3 a5c4 a5c6 a7a6 a8b8 a8c8 b7b5 b7b6 d8b6 d8b8 d8c7 d8c8 d8d5 d8d6 d8d7 d8e8 e7a3 e7b4 e7c5 e7d6 e7f6 e7g5 e7h4 f7f5 f7f6 f8e8 g7g5 g7g6 g8h8 h5f3 h5g4 h5g6 h7h6


Prompt:
FEN: r5k1/1p2q1p1/p6p/2p1b3/6P1/1P1Q4/Pp5P/1R3r1K w - - 0 27
List the side-to-move pieces and their squares.

Side to move: white.
Pieces: b1 white rook; h1 white king; a2 white pawn; h2 white pawn; b3 white pawn; d3 white queen; g4 white pawn.


Prompt:
FEN: 8/8/8/8/8/5k2/1r6/2R2K2 b - -
What legal moves does the piece on b2 have?

b2a2 b2b1 b2b3 b2b4 b2b5 b2b6 b2b7 b2b8 b2c2 b2d2 b2e2 b2f2 b2g2 b2h2


Prompt:
FEN: 5R2/5ppk/6p1/3b4/3B1P2/7P/2r3PK/8 w - - 9 49
Detect the game state: check, checkmate, stalemate, or none.

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


Prompt:
FEN: 3r1rk1/1pR3pp/p2Pp1qn/1b2p3/8/P3B1NP/1P1Q1PP1/4KB1R w K - 6 23
List all capture moves available.


Prompt:
Given FEN: 3r1rk1/pp2q1pp/1n2bp2/2p5/3n1p2/BPN1Q1P1/P2PP1BP/2R2RK1 w - -
List any special moves available (castling, en passant, promotion).


Prompt:
FEN: 5rk1/1Np1R2p/3p4/3P2p1/P1P5/5p2/1P1B1K1r/R7 w - -
Is the move f3g6 legal?


Prompt:
FEN: 8/1p2b3/p1p1k2p/2P3p1/3PK3/P4PPP/1P6/8 w - - 4 41
List pseudo-legal moves from b2.

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


Prompt:
FEN: 3Q4/8/P5p1/4p1Kp/2p1k2P/8/P7/8 b - - 0 50
For the piece on e4, 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 e4: e4d3 e4d4 e4d5 e4e3 e4f3 e4f4 e4f5.
Legal: e4e3 e4f3.
Rejected: e4d3 king_would_be_in_check; e4d4 king_would_be_in_check; e4d5 king_would_be_in_check; e4f4 king_would_be_in_check; e4f5 king_would_be_in_check.


Prompt:
FEN: 6r1/k2b1p2/Pp1p4/3PpPb1/2P1P1pr/1N1n2N1/6BP/R4K1R b - - 9 34
For move a7a6, decide whether king safety allows it.

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

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


Prompt:
FEN: 8/2p1R1p1/R5k1/1p1pnr1p/1PnB4/2P5/6P1/6K1 b - - 0 41
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: black.
Pieces: c4 black knight; b5 black pawn; d5 black pawn; e5 black knight; f5 black rook; h5 black pawn; g6 black king; c7 black pawn; g7 black pawn.
Moves by piece:
c4 black knight: c4b6 c4d6
b5 black pawn: no legal moves
d5 black pawn: no legal moves
e5 black knight: e5c6
f5 black rook: f5f6
h5 black pawn: no legal moves
g6 black king: g6g5 g6h7
c7 black pawn: c7c6
g7 black pawn: no legal moves
All legal moves: c4b6 c4d6 c7c6 e5c6 f5f6 g6g5 g6h7


Prompt:
FEN: 8/Q7/P3knp1/7p/4r2P/8/3PK3/8 w - - 3 46
Walk each ray for the slider on a7: 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: a7 white queen.
Ray N: a8 empty; edge.
Ray NE: b8 empty; edge.
Ray E: b7 empty; c7 empty; d7 empty; e7 empty; f7 empty; g7 empty; h7 empty; edge.
Ray SE: b6 empty; c5 empty; d4 empty; e3 empty; f2 empty; g1 empty; edge.
Ray S: a6 white pawn: own piece (stop, excluded).
Ray SW: edge.
Ray W: edge.
Ray NW: edge.
Moves from rays: a7a8 a7b6 a7b7 a7b8 a7c5 a7c7 a7d4 a7d7 a7e3 a7e7 a7f2 a7f7 a7g1 a7g7 a7h7


Prompt:
FEN: 3r2k1/3q1p2/6p1/2p1P1B1/4P1Q1/1P5P/r2p2P1/3R2K1 w - - 2 31
For every side-to-move piece, list pseudo-legal moves, reject illegal ones with reasons, then give all legal moves.

Answer format: include "Side to move:", "Pieces:", "Filter by piece:", one line per side-to-move piece with "pseudo-legal ... | rejected ... | legal ..." fields, and "All legal moves:".

Side to move: white.
Pieces: d1 white rook; g1 white king; g2 white pawn; b3 white pawn; h3 white pawn; e4 white pawn; g4 white queen; e5 white pawn; g5 white bishop.
Filter by piece:
d1 white rook: pseudo-legal d1a1 d1b1 d1c1 d1d2 d1e1 d1f1 | rejected none | legal d1a1 d1b1 d1c1 d1d2 d1e1 d1f1
g1 white king: pseudo-legal g1f1 g1f2 g1h1 g1h2 | rejected none | legal g1f1 g1f2 g1h1 g1h2
g2 white pawn: pseudo-legal g2g3 | rejected none | legal g2g3
b3 white pawn: pseudo-legal b3b4 | rejected none | legal b3b4
h3 white pawn: pseudo-legal h3h4 | rejected none | legal h3h4
e4 white pawn: pseudo-legal none | rejected none | legal none
g4 white queen: pseudo-legal g4d7 g4e2 g4e6 g4f3 g4f4 g4f5 g4g3 g4h4 g4h5 | rejected none | legal g4d7 g4e2 g4e6 g4f3 g4f4 g4f5 g4g3 g4h4 g4h5
e5 white pawn: pseudo-legal e5e6 | rejected none | legal e5e6
g5 white bishop: pseudo-legal g5d2 g5d8 g5e3 g5e7 g5f4 g5f6 g5h4 g5h6 | rejected none | legal g5d2 g5d8 g5e3 g5e7 g5f4 g5f6 g5h4 g5h6
All legal moves: b3b4 d1a1 d1b1 d1c1 d1d2 d1e1 d1f1 e5e6 g1f1 g1f2 g1h1 g1h2 g2g3 g4d7 g4e2 g4e6 g4f3 g4f4 g4f5 g4g3 g4h4 g4h5 g5d2 g5d8 g5e3 g5e7 g5f4 g5f6 g5h4 g5h6 h3h4


Prompt:
FEN: 8/8/8/8/p1k5/P3KQ2/8/8 w - - 5 68
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: e3d2 e3e2 e3e4 e3f2 e3f4 f3a8 f3b7 f3c6 f3d1 f3d5 f3e2 f3e4 f3f1 f3f2 f3f4 f3f5 f3f6 f3f7 f3f8 f3g2 f3g3 f3g4 f3h1 f3h3 f3h5


Prompt:
FEN: r2q1rk1/ppp2ppp/2n5/5n2/1bBP2b1/2N1BN2/PP3PPP/R2Q1RK1 w - -
List the side-to-move pieces and their squares.

Side to move: white.
Pieces: a1 white rook; d1 white queen; f1 white rook; g1 white king; a2 white pawn; b2 white pawn; f2 white pawn; g2 white pawn; h2 white pawn; c3 white knight; e3 white bishop; f3 white knight; c4 white bishop; d4 white pawn.


Prompt:
FEN: k7/3R4/2n5/5p1Q/5B1K/2q4P/5PP1/7r b - -
What legal moves does the piece on a8 have?


Prompt:
FEN: 1r5k/1br3pp/2q2p2/p1bpp3/P7/1PP1BP1P/5QP1/1NRR2K1 b - -
Detect the game state: check, checkmate, stalemate, or none.

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


Prompt:
FEN: 8/pp4kp/4R3/5P2/3p4/P7/1P3r1P/7K w - -
List all capture moves available.


Prompt:
Given FEN: 5rk1/p1R3p1/2p1p2p/2p5/8/4K3/P1P3P1/8 b - - 3 27
List any special moves available (castling, en passant, promotion).


Prompt:
FEN: 3r2rk/pp2bp2/3p3p/4pP2/8/2P2N1P/PP1R1PP1/3R2K1 b - - 2 30
Is the move a7a6 legal?


Prompt:
FEN: 8/1p6/8/1KP1n1R1/4k1p1/8/8/8 b - - 4 52
List pseudo-legal moves from e4.

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

Pseudo-legal moves from e4: e4d3 e4d4 e4d5 e4e3 e4f3 e4f4 e4f5


Prompt:
FEN: 2qr3k/3rb1p1/1p1p3p/p1pR2P1/P1Q1PP2/1P2BK2/2P5/3R4 b - - 0 27
For the piece on b6, 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 b6: b6b5.
Legal: b6b5.
Rejected: none.


Prompt:
FEN: 4rk2/p1pnp1b1/1p1p1p2/8/3PNP2/2P1PR2/PP4PK/1R6 b - - 0 20
For move a7a5, decide whether king safety allows it.

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

Move: a7a5.
Pseudo-legal: yes.
King safe after move: yes.
Final: legal; legal.


Prompt:
FEN: rnb2k1N/pppp1Bpp/1b6/8/3Pn3/8/PPP2PPP/RNB1K2R w KQ - 0 11
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; b1 white knight; c1 white bishop; e1 white king; h1 white rook; a2 white pawn; b2 white pawn; c2 white pawn; f2 white pawn; g2 white pawn; h2 white pawn; d4 white pawn; f7 white bishop; h8 white knight.
Moves by piece:
a1 white rook: no legal moves
b1 white knight: b1a3 b1c3 b1d2
c1 white bishop: c1d2 c1e3 c1f4 c1g5 c1h6
e1 white king: e1d1 e1e2 e1f1 e1g1
h1 white rook: h1f1 h1g1
a2 white pawn: a2a3 a2a4
b2 white pawn: b2b3 b2b4
c2 white pawn: c2c3 c2c4
f2 white pawn: f2f3 f2f4
g2 white pawn: g2g3 g2g4
h2 white pawn: h2h3 h2h4
d4 white pawn: d4d5
f7 white bishop: f7b3 f7c4 f7d5 f7e6 f7e8 f7g6 f7g8 f7h5
h8 white knight: h8g6
All legal moves: a2a3 a2a4 b1a3 b1c3 b1d2 b2b3 b2b4 c1d2 c1e3 c1f4 c1g5 c1h6 c2c3 c2c4 d4d5 e1d1 e1e2 e1f1 e1g1 f2f3 f2f4 f7b3 f7c4 f7d5 f7e6 f7e8 f7g6 f7g8 f7h5 g2g3 g2g4 h1f1 h1g1 h2h3 h2h4 h8g6


Prompt:
FEN: r3k2r/ppqnbppp/2p1p3/3PPnB1/3P4/3Q1N2/PP1N1PPP/R4RK1 b kq - 0 11
Walk each ray for the slider on c7: 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: c7 black queen.
Ray N: c8 empty; edge.
Ray NE: d8 empty; edge.
Ray E: d7 black knight: own piece (stop, excluded).
Ray SE: d6 empty; e5 white pawn: capture (stop, included).
Ray S: c6 black pawn: own piece (stop, excluded).
Ray SW: b6 empty; a5 empty; edge.
Ray W: b7 black pawn: own piece (stop, excluded).
Ray NW: b8 empty; edge.
Moves from rays: c7a5 c7b6 c7b8 c7c8 c7d6 c7d8 c7e5


Prompt:
FEN: r1b1k2r/pp1p1pqp/3Np3/8/8/1P6/P1P1BPPP/2b1K2R b Kkq - 1 15
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: e8d8 e8e7 e8f8


Prompt:
FEN: 8/5Q2/8/4K1k1/8/8/8/8 w - -
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: e5d4 e5d5 e5d6 e5e4 e5e6 f7a2 f7a7 f7b3 f7b7 f7c4 f7c7 f7d5 f7d7 f7e6 f7e7 f7e8 f7f1 f7f2 f7f3 f7f4 f7f5 f7f6 f7f8 f7g6 f7g7 f7g8 f7h5 f7h7


Prompt:
FEN: 2r3k1/1b3ppp/8/1p4PK/7P/1P3N2/P3q3/8 b - - 3 36
List the side-to-move pieces and their squares.

Side to move: black.
Pieces: e2 black queen; b5 black pawn; b7 black bishop; f7 black pawn; g7 black pawn; h7 black pawn; c8 black rook; g8 black king.


Prompt:
FEN: 8/6k1/4Bpp1/1R4b1/p3P3/P2n2N1/1P1rK1P1/8 w - - 3 38
What legal moves does the piece on e4 have?


Prompt:
FEN: r2qk1nr/ppp2ppp/3p4/2bNp2b/2BnP3/5N1P/PPPP1PP1/R1BQ1RK1 w kq -
Detect the game state: check, checkmate, stalemate, or none.

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


Prompt:
FEN: r3k2r/p1p2ppp/2qb1n2/4p1N1/2b5/2N5/P1PPQPPP/R1B2RK1 w kq -
List all capture moves available.


Prompt:
Given FEN: rnb1kb1r/pp1p1ppp/1q1Pp3/2p5/2P1nB2/8/PPQ1PPPP/RN2KBNR b KQkq -
List any special moves available (castling, en passant, promotion).


Prompt:
FEN: 8/3r1k1p/1p3ppP/1N1nP3/P7/1P4P1/3R4/6K1 b - - 0 41
Is the move g6g5 legal?


Prompt:
FEN: rnbqk1nr/pppp1ppp/8/4p3/1bP5/P1N5/1P1PPPPP/R1BQKBNR b KQkq - 0 3
List pseudo-legal moves from b4.

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

Pseudo-legal moves from b4: b4a3 b4a5 b4c3 b4c5 b4d6 b4e7 b4f8


Prompt:
FEN: r4rk1/3n1pp1/1q1p3p/pp2p3/2bPP2N/2P1P1P1/1PB1Q2P/R4RK1 w - - 3 21
For the piece on a1, 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 a1: a1a2 a1a3 a1a4 a1a5 a1b1 a1c1 a1d1 a1e1.
Legal: a1a2 a1a3 a1a4 a1a5 a1b1 a1c1 a1d1 a1e1.
Rejected: none.


Prompt:
FEN: rn2kb1r/pbpp1nq1/1p2pp2/7p/1P2P2P/P1PP1pP1/3NN3/R1BQKB1R b KQkq - 1 13
For move a7a5, decide whether king safety allows it.

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

Move: a7a5.
Pseudo-legal: yes.
King safe after move: yes.
Final: legal; legal.


Prompt:
FEN: r1bqk2r/pppp1ppp/1nn5/4P3/1b6/1BN2N2/PP3PPP/R1BQK2R w KQkq -
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; c1 white bishop; d1 white queen; e1 white king; h1 white rook; a2 white pawn; b2 white pawn; f2 white pawn; g2 white pawn; h2 white pawn; b3 white bishop; c3 white knight; f3 white knight; e5 white pawn.
Moves by piece:
a1 white rook: a1b1
c1 white bishop: c1d2 c1e3 c1f4 c1g5 c1h6
d1 white queen: d1c2 d1d2 d1d3 d1d4 d1d5 d1d6 d1d7 d1e2
e1 white king: e1d2 e1e2 e1f1 e1g1
h1 white rook: h1f1 h1g1
a2 white pawn: a2a3 a2a4
b2 white pawn: no legal moves
f2 white pawn: no legal moves
g2 white pawn: g2g3 g2g4
h2 white pawn: h2h3 h2h4
b3 white bishop: b3a4 b3c2 b3c4 b3d5 b3e6 b3f7
c3 white knight: no legal moves
f3 white knight: f3d2 f3d4 f3g1 f3g5 f3h4
e5 white pawn: e5e6
All legal moves: a1b1 a2a3 a2a4 b3a4 b3c2 b3c4 b3d5 b3e6 b3f7 c1d2 c1e3 c1f4 c1g5 c1h6 d1c2 d1d2 d1d3 d1d4 d1d5 d1d6 d1d7 d1e2 e1d2 e1e2 e1f1 e1g1 e5e6 f3d2 f3d4 f3g1 f3g5 f3h4 g2g3 g2g4 h1f1 h1g1 h2h3 h2h4


Prompt:
FEN: 3r3k/N5p1/7p/5pq1/2r1p3/6P1/PPPn1PQ1/2RR3K b - -
Walk each ray for the slider on c4: 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: c4 black rook.
Ray N: c5 empty; c6 empty; c7 empty; c8 empty; edge.
Ray E: d4 empty; e4 black pawn: own piece (stop, excluded).
Ray S: c3 empty; c2 white pawn: capture (stop, included).
Ray W: b4 empty; a4 empty; edge.
Moves from rays: c4a4 c4b4 c4c2 c4c3 c4c5 c4c6 c4c7 c4c8 c4d4


Prompt:
FEN: r1b1r1k1/2B1bppp/2p1n3/p1p5/P1Pp4/3P2P1/1P1N1P1P/2KR1B1R w - - 1 17
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: b2b3 b2b4 c1b1 c1c2 c7a5 c7b6 c7b8 c7d6 c7d8 c7e5 c7f4 d1e1 d2b1 d2b3 d2e4 d2f3 f1e2 f1g2 f1h3 f2f3 f2f4 g3g4 h1g1 h2h3 h2h4


Prompt:
FEN: 8/k7/8/1K6/1B6/1B6/8/8 b - -
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: a7a8 a7b7 a7b8


Prompt:
FEN: r1bb3r/pp2Q1p1/2p1p1k1/8/3P1p2/2P5/PP3PPP/4RRK1 w - -
List the side-to-move pieces and their squares.

Side to move: white.
Pieces: e1 white rook; f1 white rook; g1 white king; a2 white pawn; b2 white pawn; f2 white pawn; g2 white pawn; h2 white pawn; c3 white pawn; d4 white pawn; e7 white queen.


Prompt:
FEN: 2k4r/2p5/p1b2p2/2P4p/3r2pP/2N3R1/PP1K1P2/8 w - - 0 29
What legal moves does the piece on b2 have?


Prompt:
FEN: r2qr1k1/1ppbbp2/2n1p1pp/4P3/p2PBP2/2P3QP/PP1N2P1/R1B2RK1 w - - 0 19
Detect the game state: check, checkmate, stalemate, or none.

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


Prompt:
FEN: rn3rk1/pb4b1/1p2pPp1/2pp1nB1/3P4/2PB4/PP4PP/RN3RK1 b - - 0 17
List all capture moves available.


Prompt:
Given FEN: r1q2rk1/1pp2p1b/p4B2/8/3n2PQ/P1NP1P2/1PP2K1P/4R3 w - - 3 31
List any special moves available (castling, en passant, promotion).


Prompt:
FEN: r1bqk2r/pp1nppbp/5np1/1B2N3/3Q4/2N5/PPP2PPP/R1B1K2R w KQkq -
Is the move c3a4 legal?


Prompt:
FEN: rnb1kbnr/pppp1ppp/8/4p3/6Pq/5P2/PPPPP2P/RNBQKBNR w KQkq - 1 3
List pseudo-legal moves from b1.

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


Prompt:
FEN: r1b2rk1/1p3p1p/p1npp1p1/2p1b1qn/4P3/NP1B3Q/P1PP1P1P/1R2K1NR w K - 0 14
For the piece on b1, 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 b1: b1a1 b1b2 b1c1 b1d1.
Legal: b1a1 b1b2 b1c1 b1d1.
Rejected: none.


Prompt:
FEN: rnbqkbnr/1p1ppppp/p1p5/8/3P4/5N2/PPP1PPPP/RNBQKB1R w KQkq -
For move a2a3, decide whether king safety allows it.

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

Move: a2a3.
Pseudo-legal: yes.
King safe after move: yes.
Final: legal; legal.


Prompt:
FEN: r1b4q/ppk2p2/1n1p4/2pPpPQ1/2P4r/2P4P/P1B2PK1/1RB4R b - -
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: black.
Pieces: h4 black rook; c5 black pawn; e5 black pawn; b6 black knight; d6 black pawn; a7 black pawn; b7 black pawn; c7 black king; f7 black pawn; a8 black rook; c8 black bishop; h8 black queen.
Moves by piece:
h4 black rook: h4c4 h4d4 h4e4 h4f4 h4g4 h4h3 h4h5 h4h6 h4h7
c5 black pawn: no legal moves
e5 black pawn: e5e4
b6 black knight: b6a4 b6c4 b6d5 b6d7
d6 black pawn: no legal moves
a7 black pawn: a7a5 a7a6
b7 black pawn: no legal moves
c7 black king: c7b8 c7d7
f7 black pawn: f7f6
a8 black rook: a8b8
c8 black bishop: c8d7 c8e6 c8f5
h8 black queen: h8d8 h8e8 h8f6 h8f8 h8g7 h8g8 h8h5 h8h6 h8h7
All legal moves: a7a5 a7a6 a8b8 b6a4 b6c4 b6d5 b6d7 c7b8 c7d7 c8d7 c8e6 c8f5 e5e4 f7f6 h4c4 h4d4 h4e4 h4f4 h4g4 h4h3 h4h5 h4h6 h4h7 h8d8 h8e8 h8f6 h8f8 h8g7 h8g8 h8h5 h8h6 h8h7


Prompt:
FEN: 3r1rk1/2p2ppn/p1n1q1b1/1pp1p1Pp/4P2P/2PP1N2/PPB1QP2/R2R1NK1 w - -
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 rook: own piece (stop, excluded).
Ray S: edge.
Ray W: edge.
Moves from rays: a1b1 a1c1


Prompt:
FEN: 2r2rk1/p6p/1p2pq2/3p4/2nP4/1Q4P1/P3pP1P/4RK2 w - - 0 30
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: e1e2 f1e2 f1g1 f1g2


Prompt:
FEN: rn1qk1nr/1bp2pbp/p2pp1p1/1p2P3/P2P1P2/2NB1N2/1PP3PP/R1BQK2R 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 b5a4 b5b4 b7c6 b7c8 b7d5 b7e4 b7f3 b8c6 b8d7 c7c5 c7c6 d6d5 d6e5 d8c8 d8d7 d8e7 d8f6 d8g5 d8h4 e8d7 e8e7 e8f8 f7f5 f7f6 g6g5 g7e5 g7f6 g7f8 g7h6 g8e7 g8f6 g8h6 h7h5 h7h6


Prompt:
FEN: r3rbk1/1pqn1ppp/p4nb1/3PpNB1/1p2P3/3BN1QP/P1P3P1/R4R1K w - - 0 21
List the side-to-move pieces and their squares.

Side to move: white.
Pieces: a1 white rook; f1 white rook; h1 white king; a2 white pawn; c2 white pawn; g2 white pawn; d3 white bishop; e3 white knight; g3 white queen; h3 white pawn; e4 white pawn; d5 white pawn; f5 white knight; g5 white bishop.


Prompt:
FEN: r1b1kb1r/pp3ppp/8/1Bpn4/8/1P6/P1P2PPP/RNB1K2R b KQkq - 1 10
What legal moves does the piece on c8 have?


Prompt:
FEN: 2bk1b1r/ppNp1ppp/n1pQ3n/4P3/qP6/P3PN2/2P2PPP/R1B1KB1R w KQ - 5 13
Detect the game state: check, checkmate, stalemate, or none.

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


Prompt:
FEN: 7r/p7/1p3pk1/2pPpN2/P1P1PpP1/1P3B2/6K1/8 b - - 4 40
List all capture moves available.


Prompt:
Given FEN: 8/p2p1N1k/bp3Qp1/2nP4/2P5/2N1P3/PPB5/R5K1 w - - 1 27
List any special moves available (castling, en passant, promotion).


Prompt:
FEN: r4rk1/2p2p2/p3p1pp/1p2P3/3P1R2/P1N1P1qP/BP4bN/R4K2 w - - 4 24
Is the move f1e2 legal?


Prompt:
FEN: r2qk2r/pbpnbpp1/1p1ppn1p/8/3PP3/2NB1N2/PPPB1PPP/R2Q1RK1 w kq - 2 9
List pseudo-legal moves from a1.

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


Prompt:
FEN: r7/p2k1pp1/p1p1p2p/8/1R2P3/2PN1P2/P5PP/2K5 w - - 2 33
For the piece on c1, 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 c1: c1b1 c1b2 c1c2 c1d1 c1d2.
Legal: c1b1 c1b2 c1c2 c1d1 c1d2.
Rejected: none.


Prompt:
FEN: r3k2r/pbqnbppp/3ppn2/1pp5/4P3/2PPBNP1/PP1N1PBP/R2Q1RK1 w kq - 1 10
For move a1b1, decide whether king safety allows it.

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

Move: a1b1.
Pseudo-legal: yes.
King safe after move: yes.
Final: legal; legal.


Prompt:
FEN: 1k2r2r/1ppn3p/p2p1b1B/4pN1p/4n3/5N2/PPP2PPP/2R1R1K1 b - - 5 18
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: black.
Pieces: e4 black knight; e5 black pawn; h5 black pawn; a6 black pawn; d6 black pawn; f6 black bishop; b7 black pawn; c7 black pawn; d7 black knight; h7 black pawn; b8 black king; e8 black rook; h8 black rook.
Moves by piece:
e4 black knight: e4c3 e4c5 e4d2 e4f2 e4g3 e4g5
e5 black pawn: no legal moves
h5 black pawn: h5h4
a6 black pawn: a6a5
d6 black pawn: d6d5
f6 black bishop: f6d8 f6e7 f6g5 f6g7 f6h4
b7 black pawn: b7b5 b7b6
c7 black pawn: c7c5 c7c6
d7 black knight: d7b6 d7c5 d7f8
h7 black pawn: no legal moves
b8 black king: b8a7 b8a8 b8c8
e8 black rook: e8c8 e8d8 e8e6 e8e7 e8f8 e8g8
h8 black rook: h8f8 h8g8
All legal moves: a6a5 b7b5 b7b6 b8a7 b8a8 b8c8 c7c5 c7c6 d6d5 d7b6 d7c5 d7f8 e4c3 e4c5 e4d2 e4f2 e4g3 e4g5 e8c8 e8d8 e8e6 e8e7 e8f8 e8g8 f6d8 f6e7 f6g5 f6g7 f6h4 h5h4 h8f8 h8g8


Prompt:
FEN: b7/8/4k3/2K5/7Q/8/8/8 b - -
Walk each ray for the slider on a8: 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: a8 black bishop.
Ray NE: edge.
Ray SE: b7 empty; c6 empty; d5 empty; e4 empty; f3 empty; g2 empty; h1 empty; edge.
Ray SW: edge.
Ray NW: edge.
Moves from rays: a8b7 a8c6 a8d5 a8e4 a8f3 a8g2 a8h1


Prompt:
FEN: 8/3nn1kp/4q1p1/1r2p3/8/Q3P1B1/5PPP/5RK1 w - -
For every side-to-move piece, list pseudo-legal moves, reject illegal ones with reasons, then give all legal moves.

Answer format: include "Side to move:", "Pieces:", "Filter by piece:", one line per side-to-move piece with "pseudo-legal ... | rejected ... | legal ..." fields, and "All legal moves:".

Side to move: white.
Pieces: f1 white rook; g1 white king; f2 white pawn; g2 white pawn; h2 white pawn; a3 white queen; e3 white pawn; g3 white bishop.
Filter by piece:
f1 white rook: pseudo-legal f1a1 f1b1 f1c1 f1d1 f1e1 | rejected none | legal f1a1 f1b1 f1c1 f1d1 f1e1
g1 white king: pseudo-legal g1h1 | rejected none | legal g1h1
f2 white pawn: pseudo-legal f2f3 f2f4 | rejected none | legal f2f3 f2f4
g2 white pawn: pseudo-legal none | rejected none | legal none
h2 white pawn: pseudo-legal h2h3 h2h4 | rejected none | legal h2h3 h2h4
a3 white queen: pseudo-legal a3a1 a3a2 a3a4 a3a5 a3a6 a3a7 a3a8 a3b2 a3b3 a3b4 a3c1 a3c3 a3c5 a3d3 a3d6 a3e7 | rejected none | legal a3a1 a3a2 a3a4 a3a5 a3a6 a3a7 a3a8 a3b2 a3b3 a3b4 a3c1 a3c3 a3c5 a3d3 a3d6 a3e7
e3 white pawn: pseudo-legal e3e4 | rejected none | legal e3e4
g3 white bishop: pseudo-legal g3e5 g3f4 g3h4 | rejected none | legal g3e5 g3f4 g3h4
All legal moves: a3a1 a3a2 a3a4 a3a5 a3a6 a3a7 a3a8 a3b2 a3b3 a3b4 a3c1 a3c3 a3c5 a3d3 a3d6 a3e7 e3e4 f1a1 f1b1 f1c1 f1d1 f1e1 f2f3 f2f4 g1h1 g3e5 g3f4 g3h4 h2h3 h2h4


Prompt:
FEN: rn2kbnr/ppp1qppp/8/4p3/4P1b1/5NP1/PPPP2BP/RNBQK2R w KQkq - 2 7
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: a2a3 a2a4 b1a3 b1c3 b2b3 b2b4 c2c3 c2c4 d1e2 d2d3 d2d4 e1e2 e1f1 e1f2 e1g1 f3d4 f3e5 f3g1 f3g5 f3h4 g2f1 g2h3 h1f1 h1g1 h2h3 h2h4


Prompt:
FEN: 1b4k1/5p2/p4Qp1/8/1Pr5/2P4P/P3RPK1/5R2 w - - 3 32
List the side-to-move pieces and their squares.

Side to move: white.
Pieces: f1 white rook; a2 white pawn; e2 white rook; f2 white pawn; g2 white king; c3 white pawn; h3 white pawn; b4 white pawn; f6 white queen.


Prompt:
FEN: r1b1k2r/ppqn1ppp/3bpn2/3p2B1/8/2NP1N2/PPP1BPPP/R2Q1RK1 w kq - 3 9
What legal moves does the piece on f1 have?


Prompt:
FEN: r2q1rk1/pppn1pp1/5n1p/3p1B2/1b1P4/2N4P/PPP3PN/R1BQ1RK1 b - - 0 12
Detect the game state: check, checkmate, stalemate, or none.

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


Prompt:
FEN: 7k/8/7p/3P3p/Pr3P2/8/6P1/R5K1 b - -
List all capture moves available.


Prompt:
Given FEN: 2r5/p2R2pp/kp3b2/4n3/1B6/8/P5PP/1K2R3 w - - 8 34
List any special moves available (castling, en passant, promotion).


Prompt:
FEN: 2r1q1k1/pb5p/1pprpQp1/8/3P2P1/1P1R4/P4PBP/3R2K1 w - -
Is the move d1b1 legal?


Prompt:
FEN: 5rk1/1r1nqp1n/pp2p1pP/2pP4/8/1P1P4/PBP1B3/1K1R3R b - - 0 23
List pseudo-legal moves from c5.

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


Prompt:
FEN: 8/2K5/5k2/2P5/8/8/r7/4R3 w - -
For the piece on e1, 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 e1: e1a1 e1b1 e1c1 e1d1 e1e2 e1e3 e1e4 e1e5 e1e6 e1e7 e1e8 e1f1 e1g1 e1h1.
Legal: e1a1 e1b1 e1c1 e1d1 e1e2 e1e3 e1e4 e1e5 e1e6 e1e7 e1e8 e1f1 e1g1 e1h1.
Rejected: none.


Prompt:
FEN: 8/2p3k1/p7/2P1NKP1/1P6/P4R2/8/7r b - - 6 53
For move g7f6, decide whether king safety allows it.

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

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


Prompt:
FEN: r2qkbnr/p4ppp/2p5/3pp3/6b1/5N2/PPPP1PPP/RNB1QRK1 b kq - 1 8
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: black.
Pieces: g4 black bishop; d5 black pawn; e5 black pawn; c6 black pawn; a7 black pawn; f7 black pawn; g7 black pawn; h7 black pawn; a8 black rook; d8 black queen; e8 black king; f8 black bishop; g8 black knight; h8 black rook.
Moves by piece:
g4 black bishop: g4c8 g4d7 g4e6 g4f3 g4f5 g4h3 g4h5
d5 black pawn: d5d4
e5 black pawn: e5e4
c6 black pawn: c6c5
a7 black pawn: a7a5 a7a6
f7 black pawn: f7f5 f7f6
g7 black pawn: g7g5 g7g6
h7 black pawn: h7h5 h7h6
a8 black rook: a8b8 a8c8
d8 black queen: d8a5 d8b6 d8b8 d8c7 d8c8 d8d6 d8d7 d8e7 d8f6 d8g5 d8h4
e8 black king: e8d7 e8e7
f8 black bishop: f8a3 f8b4 f8c5 f8d6 f8e7
g8 black knight: g8e7 g8f6 g8h6
h8 black rook: no legal moves
All legal moves: a7a5 a7a6 a8b8 a8c8 c6c5 d5d4 d8a5 d8b6 d8b8 d8c7 d8c8 d8d6 d8d7 d8e7 d8f6 d8g5 d8h4 e5e4 e8d7 e8e7 f7f5 f7f6 f8a3 f8b4 f8c5 f8d6 f8e7 g4c8 g4d7 g4e6 g4f3 g4f5 g4h3 g4h5 g7g5 g7g6 g8e7 g8f6 g8h6 h7h5 h7h6


Prompt:
FEN: rnbqk2r/ppp1bppp/8/8/1n6/2N2N2/PPPPQPPP/R1B1KB1R w KQkq -
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 white bishop: own piece (stop, excluded).
Ray S: edge.
Ray W: edge.
Moves from rays: a1b1


Prompt:
FEN: r1b2rk1/pp2npb1/2n1p1pp/2P1P3/2Qq1P2/N6N/PP4PP/R1B1KB1R w KQ - 3 12
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: a1b1 a3b1 a3b5 a3c2 b2b3 b2b4 c1d2 c1e3 c4a4 c4a6 c4b3 c4b4 c4b5 c4c2 c4c3 c4d3 c4d4 c4d5 c4e2 c4e6 e1e2 f1d3 f1e2 f4f5 g2g3 g2g4 h1g1 h3f2 h3g1 h3g5


Prompt:
FEN: rnb2rk1/pp1p3p/2p3q1/4p3/4P3/1P1P4/P1PQB1P1/4K1NR b K - 1 16
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: a7a5 a7a6 b7b5 b7b6 b8a6 c6c5 d7d5 d7d6 f8d8 f8e8 f8f1 f8f2 f8f3 f8f4 f8f5 f8f6 f8f7 g6d6 g6e4 g6e6 g6e8 g6f5 g6f6 g6f7 g6g2 g6g3 g6g4 g6g5 g6g7 g6h5 g6h6 g8f7 g8g7 g8h8 h7h5 h7h6


Prompt:
FEN: rnbq1rk1/pp1pppbp/5np1/2P5/4P3/P1N2N2/1PP2PPP/R1BQKB1R b KQ -
List the side-to-move pieces and their squares.

Side to move: black.
Pieces: f6 black knight; g6 black pawn; a7 black pawn; b7 black pawn; d7 black pawn; e7 black pawn; f7 black pawn; g7 black bishop; h7 black pawn; a8 black rook; b8 black knight; c8 black bishop; d8 black queen; f8 black rook; g8 black king.


Prompt:
FEN: r1b1kbnr/1p1p1p1p/1p6/4P1p1/5p2/1PP2N2/1P4PP/RNB2RK1 w kq - 0 13
What legal moves does the piece on h2 have?


Prompt:
FEN: 1r1k4/1Pn5/2P1p3/3pP3/1R1P1r1p/4q3/7Q/1R5K b - - 3 48
Detect the game state: check, checkmate, stalemate, or none.

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


Prompt:
FEN: r3kbnr/pppq1ppp/3p4/8/1n2P3/3Q1N2/PPP2PPP/RNB1K2R w KQkq -
List all capture moves available.


Prompt:
Given FEN: 3r4/7k/6p1/5pK1/5P2/8/8/8 w - -
List any special moves available (castling, en passant, promotion).


Prompt:
FEN: 5r1k/1ppq1rpp/1p6/4p3/4P1Q1/3Pp1R1/PPP3PP/5RK1 w - -
Is the move g3h3 legal?


Prompt:
FEN: rnbqk1nr/pp2ppbp/3p2p1/2P5/2B1P3/5N2/PPP2PPP/RNBQK2R b KQkq - 0 5
List pseudo-legal moves from d6.

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


Prompt:
FEN: rn1q1rk1/pp3ppp/2pbbn2/4p3/4P3/3Q4/PPPPB1PP/RNB1K1NR w KQ - 4 10
For the piece on b1, 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 b1: b1a3 b1c3.
Legal: b1a3 b1c3.
Rejected: none.


Prompt:
FEN: r4rk1/1b3ppp/1qp5/p1bpPB2/5P2/P1P2KP1/1P5P/R1BQ3R b - - 0 18
For move a5a4, decide whether king safety allows it.

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

Move: a5a4.
Pseudo-legal: yes.
King safe after move: yes.
Final: legal; legal.


Prompt:
FEN: r4rk1/2p3pp/p3pp2/1p2N3/6R1/2P5/P1P2PPP/3R2K1 w - - 0 19
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; a2 white pawn; c2 white pawn; f2 white pawn; g2 white pawn; h2 white pawn; c3 white pawn; g4 white rook; e5 white knight.
Moves by piece:
d1 white rook: d1a1 d1b1 d1c1 d1d2 d1d3 d1d4 d1d5 d1d6 d1d7 d1d8 d1e1 d1f1
g1 white king: g1f1 g1h1
a2 white pawn: a2a3 a2a4
c2 white pawn: no legal moves
f2 white pawn: f2f3 f2f4
g2 white pawn: g2g3
h2 white pawn: h2h3 h2h4
c3 white pawn: c3c4
g4 white rook: g4a4 g4b4 g4c4 g4d4 g4e4 g4f4 g4g3 g4g5 g4g6 g4g7 g4h4
e5 white knight: e5c4 e5c6 e5d3 e5d7 e5f3 e5f7 e5g6
All legal moves: a2a3 a2a4 c3c4 d1a1 d1b1 d1c1 d1d2 d1d3 d1d4 d1d5 d1d6 d1d7 d1d8 d1e1 d1f1 e5c4 e5c6 e5d3 e5d7 e5f3 e5f7 e5g6 f2f3 f2f4 g1f1 g1h1 g2g3 g4a4 g4b4 g4c4 g4d4 g4e4 g4f4 g4g3 g4g5 g4g6 g4g7 g4h4 h2h3 h2h4


Prompt:
FEN: 7r/1pk2ppp/pn2p3/B1p1P3/P3PPPb/1P1r3P/4N1K1/R6R b - - 1 22
Walk each ray for the slider on d3: 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: d3 black rook.
Ray N: d4 empty; d5 empty; d6 empty; d7 empty; d8 empty; edge.
Ray E: e3 empty; f3 empty; g3 empty; h3 white pawn: capture (stop, included).
Ray S: d2 empty; d1 empty; edge.
Ray W: c3 empty; b3 white pawn: capture (stop, included).
Moves from rays: d3b3 d3c3 d3d1 d3d2 d3d4 d3d5 d3d6 d3d7 d3d8 d3e3 d3f3 d3g3 d3h3


Prompt:
FEN: 3q1r1k/5r1p/2np3Q/p2N2p1/2B1pP1b/1PP5/4K2R/7R w - -
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: b3b4 c4a6 c4b5 c4d3 d5b4 d5b6 d5c7 d5e3 d5e7 d5f6 e2d1 e2d2 e2e3 e2f1 f4f5 f4g5 h1a1 h1b1 h1c1 h1d1 h1e1 h1f1 h1g1 h2f2 h2g2 h2h3 h2h4 h6d6 h6e6 h6f6 h6f8 h6g5 h6g6 h6g7 h6h4 h6h5 h6h7


Prompt:
FEN: 4r1k1/q4p1p/2Ppp1p1/2p2n2/2B3P1/2P2Q1P/1P3P2/4R1K1 b - -
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: a7a1 a7a2 a7a3 a7a4 a7a5 a7a6 a7a8 a7b6 a7b7 a7b8 a7c7 a7d7 a7e7 d6d5 e6e5 e8a8 e8b8 e8c8 e8d8 e8e7 e8f8 f5d4 f5e3 f5e7 f5g3 f5g7 f5h4 f5h6 f7f6 g6g5 g8f8 g8g7 g8h8 h7h5 h7h6


Prompt:
FEN: r1bqkbnr/pp2pppp/2n5/3B4/4P3/2N5/PP3PPP/R1BQK1NR b KQkq -
List the side-to-move pieces and their squares.

Side to move: black.
Pieces: c6 black knight; a7 black pawn; b7 black pawn; e7 black pawn; f7 black pawn; g7 black pawn; h7 black pawn; a8 black rook; c8 black bishop; d8 black queen; e8 black king; f8 black bishop; g8 black knight; h8 black rook.


Prompt:
FEN: r1b3k1/6pp/6r1/p1ppQp1N/1p5P/4P1P1/qPP2P2/2KR3R w - - 0 23
What legal moves does the piece on e5 have?

e5b8 e5c3 e5c7 e5d4 e5d5 e5d6 e5e4 e5e6 e5e7 e5e8 e5f4 e5f5 e5f6 e5g7


Prompt:
FEN: 8/5k2/7p/4K1pP/4P1P1/8/8/8 b - -
Detect the game state: check, checkmate, stalemate, or none.

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


Prompt:
FEN: 8/3k4/R4R2/8/8/4K3/8/8 w - -
List all capture moves available.


Prompt:
Given FEN: r3k1r1/p2bbp1p/2pp2qp/8/4PPn1/6N1/PP2B1PP/R2QNRK1 w q - 1 20
List any special moves available (castling, en passant, promotion).


Prompt:
FEN: r1bqk2r/pppp1ppp/5n2/4N3/1bBnP3/2N5/PPPP1PPP/R1BQK2R b KQkq -
Is the move a7a6 legal?


Prompt:
FEN: r6n/1pp4k/p1n1p1q1/3pP1p1/1P1P3p/P2r2N1/4NP1P/R1R3K1 w - - 0 28
List pseudo-legal moves from a1.

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


Prompt:
FEN: 2kr1b1r/pbp1q1pp/1p3n2/4p3/8/2NB1N2/PPP2PPP/R2QK2R w KQ - 0 12
For the piece on a1, 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 a1: a1b1 a1c1.
Legal: a1b1 a1c1.
Rejected: none.


Prompt:
FEN: rr4k1/5bp1/3p1p1p/p7/P2pp1P1/1P3R1P/3B1P2/1R4K1 w - - 0 31
For move b1a1, decide whether king safety allows it.

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

Move: b1a1.
Pseudo-legal: yes.
King safe after move: yes.
Final: legal; legal.


Prompt:
FEN: 8/5R2/5p1p/5P2/1p1pPk2/1PrP4/2P1B3/2K5 b - - 0 44
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: black.
Pieces: c3 black rook; b4 black pawn; d4 black pawn; f4 black king; f6 black pawn; h6 black pawn.
Moves by piece:
c3 black rook: c3b3 c3c2 c3c4 c3c5 c3c6 c3c7 c3c8 c3d3
b4 black pawn: no legal moves
d4 black pawn: no legal moves
f4 black king: f4e3 f4e5 f4g3 f4g5
f6 black pawn: no legal moves
h6 black pawn: h6h5
All legal moves: c3b3 c3c2 c3c4 c3c5 c3c6 c3c7 c3c8 c3d3 f4e3 f4e5 f4g3 f4g5 h6h5


Prompt:
FEN: 3nk3/2R1bp1p/4p1p1/1P6/r7/5BP1/1B3P1P/6K1 w - -
Walk each ray for the slider on b2: 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: b2 white bishop.
Ray NE: c3 empty; d4 empty; e5 empty; f6 empty; g7 empty; h8 empty; edge.
Ray SE: c1 empty; edge.
Ray SW: a1 empty; edge.
Ray NW: a3 empty; edge.
Moves from rays: b2a1 b2a3 b2c1 b2c3 b2d4 b2e5 b2f6 b2g7 b2h8


Prompt:
FEN: 6k1/p4p1p/1bp3r1/5Q2/P1q2P2/6N1/6PP/5R1K w - - 1 36
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: a4a5 f1a1 f1b1 f1c1 f1d1 f1e1 f1f2 f1f3 f1g1 f5a5 f5b1 f5b5 f5c2 f5c5 f5c8 f5d3 f5d5 f5d7 f5e4 f5e5 f5e6 f5f6 f5f7 f5g4 f5g5 f5g6 f5h3 f5h5 g3e2 g3e4 g3h5 h2h3 h2h4


Prompt:
FEN: 1k1r3r/pppqbpp1/3pb2p/8/3Q2P1/2P1B2P/PPP2PB1/2KR3R b - -
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: a7a5 a7a6 b7b5 b7b6 b8a8 b8c8 c7c5 c7c6 d6d5 d7a4 d7b5 d7c6 d7c8 d7e8 d8c8 d8e8 d8f8 d8g8 e6a2 e6b3 e6c4 e6d5 e6f5 e6g4 e7f6 e7f8 e7g5 e7h4 f7f5 f7f6 g7g5 g7g6 h6h5 h8e8 h8f8 h8g8 h8h7


Prompt:
FEN: r4r2/1q2bpk1/n1p3p1/p3p2p/P1Q1P3/1NP1B2P/1P2R1PK/5R2 b - -
List the side-to-move pieces and their squares.

Side to move: black.
Pieces: a5 black pawn; e5 black pawn; h5 black pawn; a6 black knight; c6 black pawn; g6 black pawn; b7 black queen; e7 black bishop; f7 black pawn; g7 black king; a8 black rook; f8 black rook.


Prompt:
FEN: rn3rk1/pp3ppp/3b2b1/2pp1B2/3P2P1/4BP2/PPP1N2P/R3K2R b KQ - 1 13
What legal moves does the piece on g7 have?


Prompt:
FEN: r3r1k1/2q2ppp/p1bbp3/1p1p2B1/3Nn3/1B4P1/PPP2P1P/R2QR1K1 w - - 5 20
Detect the game state: check, checkmate, stalemate, or none.

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


Prompt:
FEN: r6r/ppp1kpp1/6b1/4P2p/8/3PR3/PPP2P2/4R1K1 w - - 0 22
List all capture moves available.


Prompt:
Given FEN: 8/8/p2k3p/1p3p2/1P1bp3/P5P1/4B2P/2K5 b - -
List any special moves available (castling, en passant, promotion).


Prompt:
FEN: r4rk1/pppb1ppp/2n2q2/1N6/8/2N5/PPP2PPP/R2QR1K1 b - -
Is the move f4d2 legal?


Prompt:
FEN: 4r1k1/6pp/5p2/2R2N2/4P3/P2P2P1/5PKP/8 b - -
List pseudo-legal moves from g7.

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


Prompt:
FEN: r3rk2/1p3ppp/p1n5/b7/B7/2P2P1P/P2B1P2/3R1RK1 b - -
For the piece on a5, 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 a5: a5b4 a5b6 a5c3 a5c7 a5d8.
Legal: a5b4 a5b6 a5c3 a5c7 a5d8.
Rejected: none.


Prompt:
FEN: 6rr/bbqpkp1p/pp2pp1Q/4n2B/4P3/1NN5/PPP2PPP/3R1R1K b - - 9 17
For move e7d6, decide whether king safety allows it.

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

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


Prompt:
FEN: 2krr3/1p3bpp/p2p1p2/2p1n3/4P3/1PP1P2P/P2N2P1/2KRN2R b - -
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: black.
Pieces: c5 black pawn; e5 black knight; a6 black pawn; d6 black pawn; f6 black pawn; b7 black pawn; f7 black bishop; g7 black pawn; h7 black pawn; c8 black king; d8 black rook; e8 black rook.
Moves by piece:
c5 black pawn: c5c4
e5 black knight: e5c4 e5c6 e5d3 e5d7 e5f3 e5g4 e5g6
a6 black pawn: a6a5
d6 black pawn: d6d5
f6 black pawn: f6f5
b7 black pawn: b7b5 b7b6
f7 black bishop: f7b3 f7c4 f7d5 f7e6 f7g6 f7g8 f7h5
g7 black pawn: g7g5 g7g6
h7 black pawn: h7h5 h7h6
c8 black king: c8b8 c8c7 c8d7
d8 black rook: d8d7
e8 black rook: e8e6 e8e7 e8f8 e8g8 e8h8
All legal moves: a6a5 b7b5 b7b6 c5c4 c8b8 c8c7 c8d7 d6d5 d8d7 e5c4 e5c6 e5d3 e5d7 e5f3 e5g4 e5g6 e8e6 e8e7 e8f8 e8g8 e8h8 f6f5 f7b3 f7c4 f7d5 f7e6 f7g6 f7g8 f7h5 g7g5 g7g6 h7h5 h7h6


Prompt:
FEN: r3kbnr/ppp2ppp/2np4/6q1/3pQ1b1/N3P3/PPP2PPP/R1B1KB1R b KQkq - 3 7
Walk each ray for the slider on g4: 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: g4 black bishop.
Ray NE: h5 empty; edge.
Ray SE: h3 empty; edge.
Ray SW: f3 empty; e2 empty; d1 empty; edge.
Ray NW: f5 empty; e6 empty; d7 empty; c8 empty; edge.
Moves from rays: g4c8 g4d1 g4d7 g4e2 g4e6 g4f3 g4f5 g4h3 g4h5


Prompt:
FEN: rnb1kbnr/pp3ppp/3pp3/q7/3PP3/p2B1N2/2P2PPP/RNBQK2R w 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: white.
Legal moves: b1c3 b1d2 c1d2 c2c3 d1d2 e1e2 e1f1 f3d2


Prompt:
FEN: 2kr3r/pp3ppp/4b3/4Pp2/1B1q4/P7/1P3PPP/2RQ1RK1 b - -
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: c8b8 c8d7 d4c3 d4c4 d4c5 e6c4


Prompt:
FEN: 4k2r/p4p2/7p/3pPN2/8/4BPb1/1r4P1/2R3K1 w - -
List the side-to-move pieces and their squares.

Side to move: white.
Pieces: c1 white rook; g1 white king; g2 white pawn; e3 white bishop; f3 white pawn; e5 white pawn; f5 white knight.


Prompt:
FEN: r1bqkb1r/pppp1pp1/4pn1p/8/2BQP3/1P6/P1P2PPP/RNB1K1NR w KQkq - 0 6
What legal moves does the piece on a2 have?


Prompt:
FEN: r4rk1/4ppbp/pq1p1np1/1p6/4P3/P1P4P/1P1NQPP1/R1B2RK1 w - - 2 16
Detect the game state: check, checkmate, stalemate, or none.

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


Prompt:
FEN: 8/8/2k1BK2/8/2N5/8/8/8 w - -
List all capture moves available.


Prompt:
Given FEN: 8/8/1k6/8/2K5/8/2N5/6B1 b - -
List any special moves available (castling, en passant, promotion).


Prompt:
FEN: r6r/1ppb1k2/p3pbp1/2Pn1pq1/1P1Pp3/P3P1P1/1B1NBPK1/1R1Q3R b - - 1 24
Is the move f7e7 legal?


Prompt:
FEN: r2qk2r/ppp1bppp/2np1n2/8/4P1b1/3B1N2/PPP2PPP/RNBQ1RK1 b kq - 6 8
List pseudo-legal moves from g4.

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

Pseudo-legal moves from g4: g4c8 g4d7 g4e6 g4f3 g4f5 g4h3 g4h5


Prompt:
FEN: r3k1nr/3n4/3p4/1p1P1b2/p7/2N3Kp/PPP4R/4R3 b kq - 3 31
For the piece on a4, 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 a4: a4a3.
Legal: none.
Rejected: a4a3 does_not_resolve_check.


Prompt:
FEN: 1r6/6pk/pp2R2p/3p4/PP2p3/4PP2/6PP/6K1 b - - 0 32
For move h7g6, decide whether king safety allows it.

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

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


Prompt:
FEN: rn2kbnr/pbpp2q1/1p2pp2/6pp/3PP3/2PB4/PP1NNPPP/R1BQK2R b KQkq - 3 9
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: black.
Pieces: g5 black pawn; h5 black pawn; b6 black pawn; e6 black pawn; f6 black pawn; a7 black pawn; b7 black bishop; c7 black pawn; d7 black pawn; g7 black queen; a8 black rook; b8 black knight; e8 black king; f8 black bishop; g8 black knight; h8 black rook.
Moves by piece:
g5 black pawn: g5g4
h5 black pawn: h5h4
b6 black pawn: b6b5
e6 black pawn: e6e5
f6 black pawn: f6f5
a7 black pawn: a7a5 a7a6
b7 black bishop: b7a6 b7c6 b7c8 b7d5 b7e4
c7 black pawn: c7c5 c7c6
d7 black pawn: d7d5 d7d6
g7 black queen: g7e7 g7f7 g7g6 g7h6 g7h7
a8 black rook: no legal moves
b8 black knight: b8a6 b8c6
e8 black king: e8d8 e8e7 e8f7
f8 black bishop: f8a3 f8b4 f8c5 f8d6 f8e7
g8 black knight: g8e7 g8h6
h8 black rook: h8h6 h8h7
All legal moves: a7a5 a7a6 b6b5 b7a6 b7c6 b7c8 b7d5 b7e4 b8a6 b8c6 c7c5 c7c6 d7d5 d7d6 e6e5 e8d8 e8e7 e8f7 f6f5 f8a3 f8b4 f8c5 f8d6 f8e7 g5g4 g7e7 g7f7 g7g6 g7h6 g7h7 g8e7 g8h6 h5h4 h8h6 h8h7


Prompt:
FEN: 5r2/1p4k1/6pp/1Np5/6P1/8/1nP1R1P1/6K1 w - -
Walk each ray for the slider on e2: 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: e2 white rook.
Ray N: e3 empty; e4 empty; e5 empty; e6 empty; e7 empty; e8 empty; edge.
Ray E: f2 empty; g2 white pawn: own piece (stop, excluded).
Ray S: e1 empty; edge.
Ray W: d2 empty; c2 white pawn: own piece (stop, excluded).
Moves from rays: e2d2 e2e1 e2e3 e2e4 e2e5 e2e6 e2e7 e2e8 e2f2


Prompt:
FEN: r2qk2r/pbpnbppp/1p3n2/3p4/3P4/1P2PNP1/PB3PBP/RN1QK2R 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: a7a5 a7a6 a8b8 a8c8 b6b5 b7a6 b7c6 b7c8 c7c5 c7c6 d7b8 d7c5 d7e5 d7f8 d8b8 d8c8 e7a3 e7b4 e7c5 e7d6 e7f8 e8f8 e8g8 f6e4 f6g4 f6g8 f6h5 g7g5 g7g6 h7h5 h7h6 h8f8 h8g8


Prompt:
FEN: n1r2b1r/pp1n1kp1/3p1p1p/PPpPp3/2P1P3/3B3P/3B1PP1/RN3RK1 b - - 0 17
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: a7a6 a8b6 a8c7 b7b6 c8b8 c8c6 c8c7 c8d8 c8e8 d7b6 d7b8 f6f5 f7e7 f7e8 f7g6 f7g8 f8e7 g7g5 g7g6 h6h5 h8g8 h8h7


Prompt:
FEN: r3kb1r/ppq2ppp/2n1pn2/3p4/3P4/1QN1PP2/PP1B1P1P/2KR1B1R b kq -
List the side-to-move pieces and their squares.

Side to move: black.
Pieces: d5 black pawn; c6 black knight; e6 black pawn; f6 black knight; a7 black pawn; b7 black pawn; c7 black queen; f7 black pawn; g7 black pawn; h7 black pawn; a8 black rook; e8 black king; f8 black bishop; h8 black rook.


Prompt:
FEN: r5k1/pp3ppp/3P4/P7/qP6/2P5/3BQ2P/2K1R3 b - - 33 46
What legal moves does the piece on b7 have?


Prompt:
FEN: r2qkbnr/pp3ppp/2n1p3/3p4/3P2b1/2P2N2/PP2BPPP/RNBQ1RK1 b kq -
Detect the game state: check, checkmate, stalemate, or none.

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


Prompt:
FEN: 7r/p7/1p2p1p1/5Pk1/8/5R1P/PPP5/2K5 b - - 0 28
List all capture moves available.


Prompt:
Given FEN: r1b2rk1/1p2nppp/1pn5/4P3/5B2/5N2/PP3PPP/R3KB1R w KQ - 4 13
List any special moves available (castling, en passant, promotion).


Prompt:
FEN: r2q2k1/1b1nbppp/4p3/p2pP3/N2B1P2/1P1B4/P3Q1PP/2R3K1 w - -
Is the move h5e6 legal?


Prompt:
FEN: rq2r1k1/p1p1bpp1/3p1n1p/2p5/4PP1B/1PNQ4/P1P3PP/R4RK1 w - - 0 15
List pseudo-legal moves from a1.

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

Pseudo-legal moves from a1: a1b1 a1c1 a1d1 a1e1


Prompt:
FEN: 4r3/p6p/1p3kp1/3R4/8/5NP1/PP3P1P/6K1 b - - 0 25
For the piece on f6, 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 f6: f6e5 f6e6 f6e7 f6f5 f6f7 f6g5 f6g7.
Legal: f6e6 f6e7 f6f7 f6g7.
Rejected: f6e5 king_would_be_in_check; f6f5 king_would_be_in_check; f6g5 king_would_be_in_check.


Prompt:
FEN: r1b2r1k/p1p1n1pp/2pb1pq1/3p4/4P2P/1PN1P3/PBPPQ3/2R1KN2 b - - 0 16
For move a7a5, decide whether king safety allows it.

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

Move: a7a5.
Pseudo-legal: yes.
King safe after move: yes.
Final: legal; legal.


Prompt:
FEN: r1bq1rk1/pp2bppp/1n2pn2/8/2PN3Q/2NBB3/PP3PPP/R4RK1 w - - 6 14
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; f1 white rook; g1 white king; a2 white pawn; b2 white pawn; f2 white pawn; g2 white pawn; h2 white pawn; c3 white knight; d3 white bishop; e3 white bishop; c4 white pawn; d4 white knight; h4 white queen.
Moves by piece:
a1 white rook: a1b1 a1c1 a1d1 a1e1
f1 white rook: f1b1 f1c1 f1d1 f1e1
g1 white king: g1h1
a2 white pawn: a2a3 a2a4
b2 white pawn: b2b3 b2b4
f2 white pawn: f2f3 f2f4
g2 white pawn: g2g3 g2g4
h2 white pawn: h2h3
c3 white knight: c3a4 c3b1 c3b5 c3d1 c3d5 c3e2 c3e4
d3 white bishop: d3b1 d3c2 d3e2 d3e4 d3f5 d3g6 d3h7
e3 white bishop: e3c1 e3d2 e3f4 e3g5 e3h6
c4 white pawn: c4c5
d4 white knight: d4b3 d4b5 d4c2 d4c6 d4e2 d4e6 d4f3 d4f5
h4 white queen: h4e4 h4f4 h4f6 h4g3 h4g4 h4g5 h4h3 h4h5 h4h6 h4h7
All legal moves: a1b1 a1c1 a1d1 a1e1 a2a3 a2a4 b2b3 b2b4 c3a4 c3b1 c3b5 c3d1 c3d5 c3e2 c3e4 c4c5 d3b1 d3c2 d3e2 d3e4 d3f5 d3g6 d3h7 d4b3 d4b5 d4c2 d4c6 d4e2 d4e6 d4f3 d4f5 e3c1 e3d2 e3f4 e3g5 e3h6 f1b1 f1c1 f1d1 f1e1 f2f3 f2f4 g1h1 g2g3 g2g4 h2h3 h4e4 h4f4 h4f6 h4g3 h4g4 h4g5 h4h3 h4h5 h4h6 h4h7


Prompt:
FEN: r1bqk2r/pp1pppbp/2n2np1/2p5/4P3/P1NP4/1PP1NPPP/R1BQKB1R w KQkq -
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 empty; a3 white pawn: own piece (stop, excluded).
Ray E: b1 empty; c1 white bishop: own piece (stop, excluded).
Ray S: edge.
Ray W: edge.
Moves from rays: a1a2 a1b1


Prompt:
FEN: rn2kb1r/pp3ppp/2p1pn2/2Pp1b2/3P4/1qN2NP1/PP2PP1P/R1B1KB1R w 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: white.
Legal moves: a1b1 a2a3 a2a4 a2b3 c1d2 c1e3 c1f4 c1g5 c1h6 c3a4 c3b1 c3b5 c3d1 c3d5 c3e4 e1d2 e2e3 e2e4 f1g2 f1h3 f3d2 f3e5 f3g1 f3g5 f3h4 g3g4 h1g1 h2h3 h2h4


Prompt:
FEN: r1bqk2r/p2pnpbp/2p3p1/4p3/3pP3/2P2N2/PP3PPP/RNBQR1K1 w kq -
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: a2a3 a2a4 b1a3 b1d2 b2b3 b2b4 c1d2 c1e3 c1f4 c1g5 c1h6 c3c4 c3d4 d1a4 d1b3 d1c2 d1d2 d1d3 d1d4 d1e2 e1e2 e1e3 e1f1 f3d2 f3d4 f3e5 f3g5 f3h4 g1f1 g1h1 g2g3 g2g4 h2h3 h2h4


Prompt:
FEN: r1bqkb1r/ppp2ppp/2n1pn2/8/P7/1PN3P1/2PP1PBP/R1BQK1NR b KQkq - 0 7
List the side-to-move pieces and their squares.

Side to move: black.
Pieces: c6 black knight; e6 black pawn; f6 black knight; a7 black pawn; b7 black pawn; c7 black pawn; f7 black pawn; g7 black pawn; h7 black pawn; a8 black rook; c8 black bishop; d8 black queen; e8 black king; f8 black bishop; h8 black rook.


Prompt:
FEN: 5r1k/8/p2b1q1p/1p3pp1/3Pp3/PQ2P1P1/3B1P1P/R2B1RK1 w - - 0 30
What legal moves does the piece on g1 have?


Prompt:
FEN: 2k4r/1pb4p/2p3p1/5p2/P3p3/1Q5P/2P2PP1/3R2K1 w - - 0 29
Detect the game state: check, checkmate, stalemate, or none.

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


Prompt:
FEN: rq4k1/1b1nbrpp/p2p4/3P1BP1/1p1B1P1P/5Q2/PPP5/2K1R2R b - -
List all capture moves available.


Prompt:
Given FEN: rnb1kbnr/ppp2ppp/2q5/4p3/8/2N2P2/PPPP2PP/R1BQKBNR w KQkq - 2 5
List any special moves available (castling, en passant, promotion).


Prompt:
FEN: 5r1k/p3q2p/2p5/8/2p1P3/4b3/PPP3PP/4R2K w - - 2 27
Is the move g2g4 legal?


Prompt:
FEN: r1b4r/p2n1kpp/1p1Bp3/3p4/3P4/3BP3/P2K1PPP/2R4R b - -
List pseudo-legal moves from b6.

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


Prompt:
FEN: r2r2k1/pp2Qp1p/6p1/8/4P3/2q2PP1/P4RKP/R7 w - -
For the piece on a1, 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 a1: a1b1 a1c1 a1d1 a1e1 a1f1 a1g1 a1h1.
Legal: a1b1 a1c1 a1d1 a1e1 a1f1 a1g1 a1h1.
Rejected: none.


Prompt:
FEN: 8/6k1/8/4P2p/2B2K2/8/1p6/8 w - -
For move f4g4, decide whether king safety allows it.

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

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


Prompt:
FEN: 3k3r/N2q1ppp/Qp2p3/3p4/1b1Pn3/8/PP3PPP/2R2RK1 b - - 0 21
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: black.
Pieces: b4 black bishop; e4 black knight; d5 black pawn; b6 black pawn; e6 black pawn; d7 black queen; f7 black pawn; g7 black pawn; h7 black pawn; d8 black king; h8 black rook.
Moves by piece:
b4 black bishop: b4a3 b4a5 b4c3 b4c5 b4d2 b4d6 b4e1 b4e7 b4f8
e4 black knight: e4c3 e4c5 e4d2 e4d6 e4f2 e4f6 e4g3 e4g5
d5 black pawn: no legal moves
b6 black pawn: b6b5
e6 black pawn: e6e5
d7 black queen: d7a4 d7a7 d7b5 d7b7 d7c6 d7c7 d7c8 d7d6 d7e7 d7e8
f7 black pawn: f7f5 f7f6
g7 black pawn: g7g5 g7g6
h7 black pawn: h7h5 h7h6
d8 black king: d8e7 d8e8
h8 black rook: h8e8 h8f8 h8g8
All legal moves: b4a3 b4a5 b4c3 b4c5 b4d2 b4d6 b4e1 b4e7 b4f8 b6b5 d7a4 d7a7 d7b5 d7b7 d7c6 d7c7 d7c8 d7d6 d7e7 d7e8 d8e7 d8e8 e4c3 e4c5 e4d2 e4d6 e4f2 e4f6 e4g3 e4g5 e6e5 f7f5 f7f6 g7g5 g7g6 h7h5 h7h6 h8e8 h8f8 h8g8


Prompt:
FEN: B7/p5pp/4p3/1p2p1k1/8/3rb2P/6P1/5R1K w - - 3 31
Walk each ray for the slider on f1: 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: f1 white rook.
Ray N: f2 empty; f3 empty; f4 empty; f5 empty; f6 empty; f7 empty; f8 empty; edge.
Ray E: g1 empty; h1 white king: own piece (stop, excluded).
Ray S: edge.
Ray W: e1 empty; d1 empty; c1 empty; b1 empty; a1 empty; edge.
Moves from rays: f1a1 f1b1 f1c1 f1d1 f1e1 f1f2 f1f3 f1f4 f1f5 f1f6 f1f7 f1f8 f1g1


Prompt:
FEN: r4k1r/1pRQ1ppp/p3p3/3p1b2/3P4/4PP2/PP2BKR1/7q b - -
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 a8d8 a8e8 b7b5 b7b6 e6e5 f5b1 f5c2 f5d3 f5e4 f5g4 f5g6 f5h3 f7f6 f8g8 g7g5 g7g6 h1a1 h1b1 h1c1 h1d1 h1e1 h1f1 h1g1 h1g2 h1h2 h1h3 h1h4 h1h5 h1h6 h7h5 h7h6 h8g8


Prompt:
FEN: 8/8/1k6/3R4/8/2K5/8/8 w - -
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: c3b2 c3b3 c3b4 c3c2 c3c4 c3d2 c3d3 c3d4 d5a5 d5b5 d5c5 d5d1 d5d2 d5d3 d5d4 d5d6 d5d7 d5d8 d5e5 d5f5 d5g5 d5h5


Prompt:
FEN: 3Q2k1/2r2pp1/7p/Np6/8/1P6/5PP1/q2b2KR b - -
List the side-to-move pieces and their squares.

Side to move: black.
Pieces: a1 black queen; d1 black bishop; b5 black pawn; h6 black pawn; c7 black rook; f7 black pawn; g7 black pawn; g8 black king.


Prompt:
FEN: 8/8/p7/8/8/5kr1/P1K1R1p1/6B1 w - - 16 63
What legal moves does the piece on c2 have?


Prompt:
FEN: r3kb1r/pp1bnppp/1q2p3/3pP3/1n1P1P2/5N2/PPB3PP/RNBQK2R w KQkq - 5 10
Detect the game state: check, checkmate, stalemate, or none.

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


Prompt:
FEN: r1bq1rk1/pp3ppp/2pp4/4p3/3bP3/3PN2P/PPP2PP1/R1BQ1RK1 b - - 1 11
List all capture moves available.


Prompt:
Given FEN: r3kbnr/pp2pppp/3p4/qN1P4/4P3/5Q2/P4PPP/1R3RK1 b kq - 3 14
List any special moves available (castling, en passant, promotion).


Prompt:
FEN: 8/1b3Qpk/p2bpp1p/1p1q4/3Pp3/1P2B1P1/P6P/2R3K1 b - -
Is the move b7a8 legal?


Prompt:
FEN: r2qk2r/ppp3pp/2n2p2/1Bbnp3/4Q3/3P1b2/PPP2PPP/RNB2RK1 w kq - 0 10
List pseudo-legal moves from b1.

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

Pseudo-legal moves from b1: b1a3 b1c3 b1d2


Prompt:
FEN: 8/8/6kp/R7/4p3/4P1K1/5rP1/8 b - - 5 42
For the piece on g6, 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 g6: g6f5 g6f6 g6f7 g6g5 g6g7 g6h5 g6h7.
Legal: g6f6 g6f7 g6g7 g6h7.
Rejected: g6f5 king_would_be_in_check; g6g5 king_would_be_in_check; g6h5 king_would_be_in_check.


Prompt:
FEN: 8/8/5k2/4n1p1/1pp1Np2/6P1/2K4P/B7 b - - 1 44
For move b4b3, decide whether king safety allows it.

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

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


Prompt:
FEN: 8/1p6/7p/p7/2Pp1k2/1P2pB2/P6P/4K3 b - - 0 50
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: black.
Pieces: e3 black pawn; d4 black pawn; f4 black king; a5 black pawn; h6 black pawn; b7 black pawn.
Moves by piece:
e3 black pawn: e3e2
d4 black pawn: d4d3
f4 black king: f4e5 f4f3 f4f5 f4g5
a5 black pawn: a5a4
h6 black pawn: h6h5
b7 black pawn: b7b5 b7b6
All legal moves: a5a4 b7b5 b7b6 d4d3 e3e2 f4e5 f4f3 f4f5 f4g5 h6h5


Prompt:
FEN: rn1kr3/pp3ppp/2pb4/2P2b2/1P2p3/2N5/P1BN1PPP/R1n2RK1 w - - 0 15
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 black knight: capture (stop, included).
Ray S: edge.
Ray W: edge.
Moves from rays: a1b1 a1c1


Prompt:
FEN: rnbq1rk1/pp1pn1bp/2p1p1p1/6B1/2B1P3/N1P2N2/PP3PPP/R2QK2R w KQ - 0 9
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: a1b1 a1c1 a3b1 a3b5 a3c2 b2b3 b2b4 c4a6 c4b3 c4b5 c4d3 c4d5 c4e2 c4e6 c4f1 d1a4 d1b1 d1b3 d1c1 d1c2 d1d2 d1d3 d1d4 d1d5 d1d6 d1d7 d1e2 e1d2 e1e2 e1f1 e1g1 e4e5 f3d2 f3d4 f3e5 f3g1 f3h4 g2g3 g2g4 g5c1 g5d2 g5e3 g5e7 g5f4 g5f6 g5h4 g5h6 h1f1 h1g1 h2h3 h2h4


Prompt:
FEN: B3n3/2p1k3/8/2P1ppp1/8/1P1K2P1/1P3P2/8 w - -
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: a8b7 a8c6 a8d5 a8e4 a8f3 a8g2 a8h1 b3b4 c5c6 d3c2 d3c3 d3c4 d3d2 d3e2 d3e3 f2f3 f2f4 g3g4


Prompt:
FEN: 8/2k3rp/p2pQ1p1/1p6/3PP3/3K4/PP6/6R1 w - - 2 35
List the side-to-move pieces and their squares.

Side to move: white.
Pieces: g1 white rook; a2 white pawn; b2 white pawn; d3 white king; d4 white pawn; e4 white pawn; e6 white queen.


Prompt:
FEN: 3R2k1/2R5/1B5p/Pb6/r6P/4P1P1/5P2/6K1 b - - 6 36
What legal moves does the piece on h6 have?


Prompt:
FEN: 2n4r/7p/p1n1k1p1/1pp1P1B1/7P/4N1P1/PPP5/6K1 b - - 0 24
Detect the game state: check, checkmate, stalemate, or none.

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


Prompt:
FEN: r2q1rk1/ppp3p1/1nn1p1pp/2P5/2p4P/1P4P1/PB2QPB1/R4RK1 b - -
List all capture moves available.


Prompt:
Given FEN: r4rk1/2pqbp1p/p1p1bp2/3p4/3N4/4Q2P/PPP2PP1/R1B1R1K1 w - -
List any special moves available (castling, en passant, promotion).


Prompt:
FEN: 5rk1/1pp2ppp/1p2b3/1P2q3/3N4/2P1rP2/1Q3KPP/1N5R w - - 5 24
Is the move b5c6 legal?

No, illegal. Reason: illegal piece movement or blocked path.


Prompt:
FEN: rnbqkbnr/pp3ppp/2p1p3/3P4/2B5/3P1N2/PPP2PPP/RNBQK2R b KQkq - 0 5
List pseudo-legal moves from c6.

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


Prompt:
FEN: rn2kb1r/ppq2ppp/2p1pn2/8/1P1N4/P1N5/2PPQPPP/R1B2RK1 b kq - 0 10
For the piece on c6, 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 c6: c6c5.
Legal: c6c5.
Rejected: none.


Prompt:
FEN: rn1q1rk1/pbp1bpp1/1p2p2p/3pP3/3Pn3/2PB1Q1N/PP3PPP/RNB1R1K1 b - - 2 10
For move a7a5, decide whether king safety allows it.

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

Move: a7a5.
Pseudo-legal: yes.
King safe after move: yes.
Final: legal; legal.


Prompt:
FEN: rn3r2/pb3k1p/1pp1q1pB/2b2p2/2Q3N1/P1N3P1/1P2PP1P/R2R2K1 w - - 1 22
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; d1 white rook; g1 white king; b2 white pawn; e2 white pawn; f2 white pawn; h2 white pawn; a3 white pawn; c3 white knight; g3 white pawn; c4 white queen; g4 white knight; h6 white bishop.
Moves by piece:
a1 white rook: a1a2 a1b1 a1c1
d1 white rook: d1b1 d1c1 d1d2 d1d3 d1d4 d1d5 d1d6 d1d7 d1d8 d1e1 d1f1
g1 white king: g1f1 g1g2 g1h1
b2 white pawn: b2b3 b2b4
e2 white pawn: e2e3 e2e4
f2 white pawn: no legal moves
h2 white pawn: h2h3 h2h4
a3 white pawn: a3a4
c3 white knight: c3a2 c3a4 c3b1 c3b5 c3d5 c3e4
g3 white pawn: no legal moves
c4 white queen: c4a2 c4a4 c4a6 c4b3 c4b4 c4b5 c4c5 c4d3 c4d4 c4d5 c4e4 c4e6 c4f4
g4 white knight: g4e3 g4e5 g4f6
h6 white bishop: h6c1 h6d2 h6e3 h6f4 h6f8 h6g5 h6g7
All legal moves: a1a2 a1b1 a1c1 a3a4 b2b3 b2b4 c3a2 c3a4 c3b1 c3b5 c3d5 c3e4 c4a2 c4a4 c4a6 c4b3 c4b4 c4b5 c4c5 c4d3 c4d4 c4d5 c4e4 c4e6 c4f4 d1b1 d1c1 d1d2 d1d3 d1d4 d1d5 d1d6 d1d7 d1d8 d1e1 d1f1 e2e3 e2e4 g1f1 g1g2 g1h1 g4e3 g4e5 g4f6 h2h3 h2h4 h6c1 h6d2 h6e3 h6f4 h6f8 h6g5 h6g7


Prompt:
FEN: 8/3K4/8/4k3/6B1/2r2p2/8/8 b - -
Walk each ray for the slider on c3: 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: c3 black rook.
Ray N: c4 empty; c5 empty; c6 empty; c7 empty; c8 empty; edge.
Ray E: d3 empty; e3 empty; f3 black pawn: own piece (stop, excluded).
Ray S: c2 empty; c1 empty; edge.
Ray W: b3 empty; a3 empty; edge.
Moves from rays: c3a3 c3b3 c3c1 c3c2 c3c4 c3c5 c3c6 c3c7 c3c8 c3d3 c3e3


Prompt:
FEN: 1r4k1/1r3pb1/4q2P/2pNp1p1/p1P3P1/8/PP4RQ/2K1R3 b - -
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: a4a3 b7a7 b7b2 b7b3 b7b4 b7b5 b7b6 b7c7 b7d7 b7e7 b8a8 b8c8 b8d8 b8e8 b8f8 e5e4 e6a6 e6b6 e6c6 e6c8 e6d5 e6d6 e6d7 e6e7 e6e8 e6f5 e6f6 e6g4 e6g6 e6h6 f7f5 f7f6 g7f6 g7f8 g7h6 g7h8 g8f8 g8h7 g8h8


Prompt:
FEN: rnb2r1k/pp3pp1/4pnB1/3pP3/3p4/2N4N/PPP2PP1/R3K2R w KQ -
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: a1b1 a1c1 a1d1 a2a3 a2a4 b2b3 b2b4 c3a4 c3b1 c3b5 c3d1 c3d5 c3e2 c3e4 e1c1 e1d1 e1d2 e1e2 e1f1 e1g1 e5f6 f2f3 f2f4 g2g3 g2g4 g6d3 g6e4 g6f5 g6f7 g6h5 g6h7 h1f1 h1g1 h1h2 h3f4 h3g1 h3g5


Prompt:
FEN: 5rk1/6pp/3Qp2n/3p4/2pP1PP1/5N1P/P7/5K2 b - - 3 27
List the side-to-move pieces and their squares.

Side to move: black.
Pieces: c4 black pawn; d5 black pawn; e6 black pawn; h6 black knight; g7 black pawn; h7 black pawn; f8 black rook; g8 black king.


Prompt:
FEN: 5rk1/pp4pp/4p3/2p1p3/2P1P3/1P6/P3r1PP/R1BR2K1 w - - 1 21
What legal moves does the piece on e4 have?


Prompt:
FEN: rnbqkb1r/ppp2ppp/3pp2n/4P3/3P4/5N1P/PPP2PP1/RNBQKB1R w KQkq - 0 6
Detect the game state: check, checkmate, stalemate, or none.

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


Prompt:
FEN: 5k2/5p2/4r3/1p6/1Pb5/6K1/3R4/8 b - - 5 53
List all capture moves available.


Prompt:
Given FEN: 8/8/8/R4Q2/6rP/6Pk/4K3/8 w - - 0 57
List any special moves available (castling, en passant, promotion).


Prompt:
FEN: r1b1k2r/pp3pbp/1q1p2p1/4p1B1/2P1P3/2Pn2PP/PP3QB1/R3K1NR w - -
Is the move e1f1 legal?


Prompt:
FEN: r3k1nr/3qbppp/3pp3/p3P3/1p1N1P2/8/PPP3PP/RNBQK2R b KQkq - 0 14
List pseudo-legal moves from b4.

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


Prompt:
FEN: r2q1rk1/pp3ppp/8/4b3/3pN3/5Q1P/PP3PP1/R3R1K1 b - - 3 17
For the piece on d4, 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 d4: d4d3.
Legal: d4d3.
Rejected: none.


Prompt:
FEN: r3r1k1/pp1q1ppp/2nb1n2/2p3B1/3p4/1B1P1P1P/PPPQNP2/2K1R2R w - - 1 15
For move a2a3, decide whether king safety allows it.

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

Move: a2a3.
Pseudo-legal: yes.
King safe after move: yes.
Final: legal; legal.


Prompt:
FEN: r1bqkbnr/pp3ppp/2n1p3/2PpP3/6Q1/2N5/PPP2PPP/R1B1KBNR b KQkq -
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: black.
Pieces: d5 black pawn; c6 black knight; e6 black pawn; a7 black pawn; b7 black pawn; f7 black pawn; g7 black pawn; h7 black pawn; a8 black rook; c8 black bishop; d8 black queen; e8 black king; f8 black bishop; g8 black knight; h8 black rook.
Moves by piece:
d5 black pawn: d5d4
c6 black knight: c6a5 c6b4 c6b8 c6d4 c6e5 c6e7
e6 black pawn: no legal moves
a7 black pawn: a7a5 a7a6
b7 black pawn: b7b5 b7b6
f7 black pawn: f7f5 f7f6
g7 black pawn: g7g5 g7g6
h7 black pawn: h7h5 h7h6
a8 black rook: a8b8
c8 black bishop: c8d7
d8 black queen: d8a5 d8b6 d8c7 d8d6 d8d7 d8e7 d8f6 d8g5 d8h4
e8 black king: e8d7 e8e7
f8 black bishop: f8c5 f8d6 f8e7
g8 black knight: g8e7 g8f6 g8h6
h8 black rook: no legal moves
All legal moves: a7a5 a7a6 a8b8 b7b5 b7b6 c6a5 c6b4 c6b8 c6d4 c6e5 c6e7 c8d7 d5d4 d8a5 d8b6 d8c7 d8d6 d8d7 d8e7 d8f6 d8g5 d8h4 e8d7 e8e7 f7f5 f7f6 f8c5 f8d6 f8e7 g7g5 g7g6 g8e7 g8f6 g8h6 h7h5 h7h6


Prompt:
FEN: 8/7R/3p2p1/4p1k1/1b2P2P/3P1K2/8/8 b - - 0 48
Walk each ray for the slider on b4: 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: b4 black bishop.
Ray NE: c5 empty; d6 black pawn: own piece (stop, excluded).
Ray SE: c3 empty; d2 empty; e1 empty; edge.
Ray SW: a3 empty; edge.
Ray NW: a5 empty; edge.
Moves from rays: b4a3 b4a5 b4c3 b4c5 b4d2 b4e1


Prompt:
FEN: 5r1k/4p1bp/1R3p2/3Q2p1/3P3P/R3P1B1/5PPK/2r2n2 w - - 1 27
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: h2g1 h2h1 h2h3


Prompt:
FEN: 2rq1rk1/pb1nbp1p/1p1Np1p1/4P3/2P5/P2B4/1B2QPPP/R4RK1 b - -
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: a7a5 a7a6 b6b5 b7a6 b7a8 b7c6 b7d5 b7e4 b7f3 b7g2 c8a8 c8b8 c8c4 c8c5 c8c6 c8c7 d7b8 d7c5 d7e5 d7f6 d8c7 d8e8 e7d6 e7f6 e7g5 e7h4 f7f5 f7f6 f8e8 g6g5 g8g7 g8h8 h7h5 h7h6


Prompt:
FEN: r1bqk2r/p2nppbp/2pp1np1/1p4B1/3PPP2/2N5/PPPQ2PP/2KR1BNR w kq -
List the side-to-move pieces and their squares.

Side to move: white.
Pieces: c1 white king; d1 white rook; f1 white bishop; g1 white knight; h1 white rook; a2 white pawn; b2 white pawn; c2 white pawn; d2 white queen; g2 white pawn; h2 white pawn; c3 white knight; d4 white pawn; e4 white pawn; f4 white pawn; g5 white bishop.


Prompt:
FEN: r2qkb1r/pbpp1ppp/1pn2n2/8/8/P1N1P2P/1PP2PP1/R1BQKBNR b KQkq - 2 7
What legal moves does the piece on f7 have?


Prompt:
FEN: 5k2/bp6/p2Pp1p1/Pb5p/1P6/7P/5PP1/R2QR1K1 b - - 1 29
Detect the game state: check, checkmate, stalemate, or none.

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


Prompt:
FEN: r2qk2r/1pp1bppp/p2p3n/8/2B1P1b1/3P1n2/PPP3PP/RNBQ1RK1 w kq - 0 10
List all capture moves available.


Prompt:
Given FEN: rn2kbnr/1pq1pppp/p1p5/3P1b2/P2P4/1Q2P3/1P3PPP/RNB1KBNR b KQkq -
List any special moves available (castling, en passant, promotion).


Prompt:
FEN: rn5r/pp2b2p/2pkbn2/3p2p1/3Pp3/1PN1P1N1/P5PP/R1B1KB1R b KQ - 1 14
Is the move c6c5 legal?


Prompt:
FEN: r5k1/pp5p/8/n2q4/3B4/3B4/P5PP/4rRK1 w - -
List pseudo-legal moves from f1.

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

Pseudo-legal moves from f1: f1e1 f1f2 f1f3 f1f4 f1f5 f1f6 f1f7 f1f8


Prompt:
FEN: r1bqkb1r/ppp1nppp/2n1p3/3p4/3P1P2/3QP3/PPP1N1PP/RNB1KB1R b KQkq - 2 5
For the piece on c6, 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 c6: c6a5 c6b4 c6b8 c6d4 c6e5.
Legal: c6a5 c6b4 c6b8 c6d4 c6e5.
Rejected: none.


Prompt:
FEN: rnbq1rk1/p1pp1ppp/1p2pn2/8/1bPP4/P1N1P3/1P2NPPP/R1BQKB1R b KQ -
For move a7a5, decide whether king safety allows it.

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

Move: a7a5.
Pseudo-legal: yes.
King safe after move: yes.
Final: legal; legal.


Prompt:
FEN: 8/8/8/8/3K3R/1k6/8/6R1 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: g1 white rook; d4 white king; h4 white rook.
Moves by piece:
g1 white rook: g1a1 g1b1 g1c1 g1d1 g1e1 g1f1 g1g2 g1g3 g1g4 g1g5 g1g6 g1g7 g1g8 g1h1
d4 white king: d4c5 d4d3 d4d5 d4e3 d4e4 d4e5
h4 white rook: h4e4 h4f4 h4g4 h4h1 h4h2 h4h3 h4h5 h4h6 h4h7 h4h8
All legal moves: d4c5 d4d3 d4d5 d4e3 d4e4 d4e5 g1a1 g1b1 g1c1 g1d1 g1e1 g1f1 g1g2 g1g3 g1g4 g1g5 g1g6 g1g7 g1g8 g1h1 h4e4 h4f4 h4g4 h4h1 h4h2 h4h3 h4h5 h4h6 h4h7 h4h8


Prompt:
FEN: rn1qkbnr/1bp2ppp/pp1pp3/3P4/4P3/5N2/PPP1BPPP/RNBQK2R b KQkq - 0 6
Walk each ray for the slider on b7: 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: b7 black bishop.
Ray NE: c8 empty; edge.
Ray SE: c6 empty; d5 white pawn: capture (stop, included).
Ray SW: a6 black pawn: own piece (stop, excluded).
Ray NW: a8 black rook: own piece (stop, excluded).
Moves from rays: b7c6 b7c8 b7d5


Prompt:
FEN: r2qk1nr/ppp2pp1/2B3b1/2b1p2p/4P1P1/2PP1N1P/PP3P2/RNBQK2R b KQkq - 0 9
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: b7c6 d8d7 e8e7 e8f8


Prompt:
FEN: 8/8/1p6/p1p5/P1P2K1N/1Pk5/8/8 w - -
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: b3b4 f4e3 f4e4 f4e5 f4f3 f4f5 f4g3 f4g4 f4g5 h4f3 h4f5 h4g2 h4g6


Prompt:
FEN: r3r1k1/pp1q1ppp/3b4/2p5/1n6/3PP1P1/PP3PBP/R1BQ1RK1 w - - 3 15
List the side-to-move pieces and their squares.

Side to move: white.
Pieces: a1 white rook; c1 white bishop; d1 white queen; f1 white rook; g1 white king; a2 white pawn; b2 white pawn; f2 white pawn; g2 white bishop; h2 white pawn; d3 white pawn; e3 white pawn; g3 white pawn.


Prompt:
FEN: 2k5/B5bp/1prp2p1/8/4PP2/P2P4/1P4R1/1K1R4 w - - 0 32
What legal moves does the piece on b2 have?


Prompt:
FEN: r1q3k1/bpp1nrp1/3pNn1p/p3p3/4P3/1QPP3P/PP3PP1/R1B1RNK1 w - -
Detect the game state: check, checkmate, stalemate, or none.

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


Prompt:
FEN: 6K1/7P/p5k1/6r1/8/8/8/7R b - -
List all capture moves available.


Prompt:
Given FEN: 4r3/ppp3pp/2k2n2/8/2B5/1P3N2/P1P3PP/2KR4 w - - 0 20
List any special moves available (castling, en passant, promotion).


Prompt:
FEN: 8/8/6P1/5K1k/8/8/8/6Q1 w - - 3 73
Is the move g1d1 legal?


Prompt:
FEN: 2K5/5r2/2kP4/4BP2/p7/P7/8/8 b - -
List pseudo-legal moves from c6.

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

Pseudo-legal moves from c6: c6b5 c6b6 c6b7 c6c5 c6c7 c6d5 c6d6 c6d7


Prompt:
FEN: 8/8/3p1k1p/7q/6p1/6P1/3q4/6K1 b - - 5 53
For the piece on d2, 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 d2: d2a2 d2a5 d2b2 d2b4 d2c1 d2c2 d2c3 d2d1 d2d3 d2d4 d2d5 d2e1 d2e2 d2e3 d2f2 d2f4 d2g2 d2g5 d2h2.
Legal: d2a2 d2a5 d2b2 d2b4 d2c1 d2c2 d2c3 d2d1 d2d3 d2d4 d2d5 d2e1 d2e2 d2e3 d2f2 d2f4 d2g2 d2g5 d2h2.
Rejected: none.


Prompt:
FEN: QRK5/6k1/2P5/8/8/8/8/2r5 b - -
For move c1a1, decide whether king safety allows it.

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

Move: c1a1.
Pseudo-legal: yes.
King safe after move: yes.
Final: legal; legal.