Prompt:
FEN: r1bqk2r/ppp1nppp/2n5/3P4/1bBP4/2N2N2/PP3PPP/R1BQK2R 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: b4 black bishop; c6 black knight; a7 black pawn; b7 black pawn; c7 black pawn; e7 black knight; f7 black pawn; g7 black pawn; h7 black pawn; a8 black rook; c8 black bishop; d8 black queen; e8 black king; h8 black rook.
Moves by piece:
b4 black bishop: b4a3 b4a5 b4c3 b4c5 b4d6
c6 black knight: c6a5 c6b8 c6d4 c6e5
a7 black pawn: a7a5 a7a6
b7 black pawn: b7b5 b7b6
c7 black pawn: no legal moves
e7 black knight: e7d5 e7f5 e7g6 e7g8
f7 black pawn: f7f5 f7f6
g7 black pawn: g7g5 g7g6
h7 black pawn: h7h5 h7h6
a8 black rook: a8b8
c8 black bishop: c8d7 c8e6 c8f5 c8g4 c8h3
d8 black queen: d8d5 d8d6 d8d7
e8 black king: e8d7 e8f8 e8g8
h8 black rook: h8f8 h8g8
All legal moves: a7a5 a7a6 a8b8 b4a3 b4a5 b4c3 b4c5 b4d6 b7b5 b7b6 c6a5 c6b8 c6d4 c6e5 c8d7 c8e6 c8f5 c8g4 c8h3 d8d5 d8d6 d8d7 e7d5 e7f5 e7g6 e7g8 e8d7 e8f8 e8g8 f7f5 f7f6 g7g5 g7g6 h7h5 h7h6 h8f8 h8g8


Prompt:
FEN: r1bq1rk1/pp1nppb1/3p3p/2p3pn/2PP4/2N1PNB1/PPQ1BPPP/R3K2R w KQ -
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 empty; e1 white king: own piece (stop, excluded).
Ray S: edge.
Ray W: edge.
Moves from rays: a1b1 a1c1 a1d1


Prompt:
FEN: 8/pp2kp1p/r2r2p1/2p1p3/1PPnP3/5P2/P2R1KPP/1R3B2 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: a6a2 a6a3 a6a4 a6a5 a6b6 a6c6 b7b5 b7b6 c5b4 d4b3 d4b5 d4c2 d4c6 d4e2 d4e6 d4f3 d4f5 d6b6 d6c6 d6d5 d6d7 d6d8 d6e6 d6f6 e7d7 e7d8 e7e6 e7e8 e7f6 e7f8 f7f5 f7f6 g6g5 h7h5 h7h6


Prompt:
FEN: rq2kb1r/pb1p1ppp/2p1p3/2P1P3/1n2NP2/8/PP4PP/R1BQKB1R 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 b4a2 b4a6 b4c2 b4d3 b4d5 b7a6 b7c8 b8c7 b8c8 b8d6 b8d8 b8e5 d7d5 d7d6 e8d8 e8e7 f7f5 f7f6 f8c5 f8d6 f8e7 g7g5 g7g6 h7h5 h7h6 h8g8


Prompt:
FEN: 1kr4r/pp2qp2/3p1n1p/4p1p1/3pP3/P2P1QBP/1PP2PP1/2R2RK1 b - - 1 17
List the side-to-move pieces and their squares.

Side to move: black.
Pieces: d4 black pawn; e5 black pawn; g5 black pawn; d6 black pawn; f6 black knight; h6 black pawn; a7 black pawn; b7 black pawn; e7 black queen; f7 black pawn; b8 black king; c8 black rook; h8 black rook.


Prompt:
FEN: q4rk1/rb1n1ppp/p3p3/2bP4/PpB1QB2/5N2/1P3PPP/2R1K2R w K -
What legal moves does the piece on f4 have?

f4b8 f4c7 f4d2 f4d6 f4e3 f4e5 f4g3 f4g5 f4h6


Prompt:
FEN: r1b1k2r/pp2np1p/2pp1qp1/4p3/4Q1P1/1PB1P2P/P1P1BP2/2KR2NR b kq - 1 14
Detect the game state: check, checkmate, stalemate, or none.

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


Prompt:
FEN: 8/3R2k1/5pp1/p5Pp/5P1b/8/4K3/8 b - -
List all capture moves available.


Prompt:
Given FEN: r1bqkb1r/pp3ppp/2n2n2/2pp4/3P4/5N2/PPP1BPPP/RNBQK2R w KQkq -
List any special moves available (castling, en passant, promotion).


Prompt:
FEN: r1bqk1nr/p2p1ppp/1pn5/1Bb1p3/4P3/4QN2/PPP2PPP/RNB1K2R w KQkq - 2 7
Is the move e3b3 legal?


Prompt:
FEN: r1b2rk1/ppp2pp1/2nbpq1p/3p4/3P4/P1NBPN2/1PP2PPP/R2QK2R w KQ - 3 9
List pseudo-legal moves from a1.

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

Pseudo-legal moves from a1: a1a2 a1b1 a1c1


Prompt:
FEN: r2qk2r/4bpp1/p1np1n1p/1p6/PPp1P3/2P5/2B1QPPP/RNB1R1K1 w kq - 1 15
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.
Legal: a1a2 a1a3.
Rejected: none.


Prompt:
FEN: r1bq1rk1/ppp2ppp/2nb1n2/4p3/2BP4/P1N1PN2/1P3PPP/R1BQR1K1 w - - 0 10
For move a1a2, decide whether king safety allows it.

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

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


Prompt:
FEN: 2rq1rk1/pp1bbpp1/2n1pn1p/8/2N5/1P2P1P1/PB2NPBP/R2Q1RK1 b - - 2 13
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: c6 black knight; e6 black pawn; f6 black knight; h6 black pawn; a7 black pawn; b7 black pawn; d7 black bishop; e7 black bishop; f7 black pawn; g7 black pawn; c8 black rook; d8 black queen; f8 black rook; g8 black king.
Moves by piece:
c6 black knight: c6a5 c6b4 c6b8 c6d4 c6e5
e6 black pawn: e6e5
f6 black knight: f6d5 f6e4 f6e8 f6g4 f6h5 f6h7
h6 black pawn: h6h5
a7 black pawn: a7a5 a7a6
b7 black pawn: b7b5 b7b6
d7 black bishop: d7e8
e7 black bishop: e7a3 e7b4 e7c5 e7d6
f7 black pawn: no legal moves
g7 black pawn: g7g5 g7g6
c8 black rook: c8a8 c8b8 c8c7
d8 black queen: d8a5 d8b6 d8c7 d8e8
f8 black rook: f8e8
g8 black king: g8h7 g8h8
All legal moves: a7a5 a7a6 b7b5 b7b6 c6a5 c6b4 c6b8 c6d4 c6e5 c8a8 c8b8 c8c7 d7e8 d8a5 d8b6 d8c7 d8e8 e6e5 e7a3 e7b4 e7c5 e7d6 f6d5 f6e4 f6e8 f6g4 f6h5 f6h7 f8e8 g7g5 g7g6 g8h7 g8h8 h6h5


Prompt:
FEN: 8/1k6/R7/7R/3K4/8/8/8 w - -
Walk each ray for the slider on h5: 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: h5 white rook.
Ray N: h6 empty; h7 empty; h8 empty; edge.
Ray E: edge.
Ray S: h4 empty; h3 empty; h2 empty; h1 empty; edge.
Ray W: g5 empty; f5 empty; e5 empty; d5 empty; c5 empty; b5 empty; a5 empty; edge.
Moves from rays: h5a5 h5b5 h5c5 h5d5 h5e5 h5f5 h5g5 h5h1 h5h2 h5h3 h5h4 h5h6 h5h7 h5h8


Prompt:
FEN: 8/1p4p1/p1p1r1p1/P1PpNkP1/1PnP1P2/4P3/4K3/7R w - - 5 46
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: b4b5 e2d1 e2d3 e2e1 e2f1 e2f2 e2f3 e3e4 e5c4 e5c6 e5d3 e5d7 e5f3 e5f7 e5g4 e5g6 h1a1 h1b1 h1c1 h1d1 h1e1 h1f1 h1g1 h1h2 h1h3 h1h4 h1h5 h1h6 h1h7 h1h8


Prompt:
FEN: r4r2/1p1nq1bk/2ppbnpp/4pp2/1PP5/2NPPNP1/2QB1PBP/1R2R1K1 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: b1a1 b1b2 b1b3 b1c1 b1d1 b4b5 c2a2 c2a4 c2b2 c2b3 c2c1 c2d1 c3a2 c3a4 c3b5 c3d1 c3d5 c3e2 c3e4 c4c5 d2c1 d3d4 e1c1 e1d1 e1e2 e1f1 e3e4 f3d4 f3e5 f3g5 f3h4 g1f1 g1h1 g2f1 g2h1 g2h3 g3g4 h2h3 h2h4


Prompt:
FEN: 8/6p1/1p6/2p5/2P3k1/1P4P1/6K1/8 b - -
List the side-to-move pieces and their squares.

Side to move: black.
Pieces: g4 black king; c5 black pawn; b6 black pawn; g7 black pawn.


Prompt:
FEN: k1q1r1r1/p4p2/1pp1b2Q/7p/P7/4PB1P/1PP3P1/3R1RK1 b - - 2 24
What legal moves does the piece on c6 have?


Prompt:
FEN: rn2k1nr/1b1p1pp1/p2qp2p/4P3/Nb6/3B1N2/1PPB1PPP/R2Q1RK1 b kq - 0 12
Detect the game state: check, checkmate, stalemate, or none.

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


Prompt:
FEN: rnbqk2r/ppp2ppp/5n2/2bpp3/4P3/P1NP3P/1PP2PP1/R1BQKBNR w KQkq - 0 6
List all capture moves available.


Prompt:
Given FEN: r1b1k2r/b1p3pp/p2q1p1n/Ppp1p3/1P2P3/B1P2N1P/3P1PP1/RN1Q1RK1 w kq b6 0 13
List any special moves available (castling, en passant, promotion).


Prompt:
FEN: 5r2/pbp3k1/1p2p2n/4N1r1/3PPP1n/2PB2N1/PP2RKP1/4R3 b - - 0 28
Is the move f3d8 legal?


Prompt:
FEN: r2q1rk1/pp1bbpp1/2B4p/3p1N2/6PP/8/PPP1QP2/R1B1K1R1 b Q -
List pseudo-legal moves from d5.

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


Prompt:
FEN: 8/p7/1p6/8/kpQN1P1P/8/P7/4K3 b - - 0 38
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 a4a5 a4b3 a4b5.
Legal: a4a3 a4a5.
Rejected: a4b3 king_would_be_in_check; a4b5 king_would_be_in_check.


Prompt:
FEN: 8/5p2/R5kp/6p1/6P1/2r5/6KP/8 b - - 6 55
For move c3a3, decide whether king safety allows it.

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

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


Prompt:
FEN: r3k2r/p1q1bpp1/2pp1nb1/1p2p3/2B1P3/2NP1P1N/PPP1Q3/1K1R3R w kq - 0 20
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: b1 white king; d1 white rook; h1 white rook; a2 white pawn; b2 white pawn; c2 white pawn; e2 white queen; c3 white knight; d3 white pawn; f3 white pawn; h3 white knight; c4 white bishop; e4 white pawn.
Moves by piece:
b1 white king: b1a1 b1c1
d1 white rook: d1c1 d1d2 d1e1 d1f1 d1g1
h1 white rook: h1e1 h1f1 h1g1 h1h2
a2 white pawn: a2a3 a2a4
b2 white pawn: b2b3 b2b4
c2 white pawn: no legal moves
e2 white queen: e2d2 e2e1 e2e3 e2f1 e2f2 e2g2 e2h2
c3 white knight: c3a4 c3b5 c3d5
d3 white pawn: d3d4
f3 white pawn: f3f4
h3 white knight: h3f2 h3f4 h3g1 h3g5
c4 white bishop: c4b3 c4b5 c4d5 c4e6 c4f7
e4 white pawn: no legal moves
All legal moves: a2a3 a2a4 b1a1 b1c1 b2b3 b2b4 c3a4 c3b5 c3d5 c4b3 c4b5 c4d5 c4e6 c4f7 d1c1 d1d2 d1e1 d1f1 d1g1 d3d4 e2d2 e2e1 e2e3 e2f1 e2f2 e2g2 e2h2 f3f4 h1e1 h1f1 h1g1 h1h2 h3f2 h3f4 h3g1 h3g5


Prompt:
FEN: 1k6/8/P1Q5/3p4/1P1P2K1/8/8/8 w - -
Walk each ray for the slider on c6: 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: c6 white queen.
Ray N: c7 empty; c8 empty; edge.
Ray NE: d7 empty; e8 empty; edge.
Ray E: d6 empty; e6 empty; f6 empty; g6 empty; h6 empty; edge.
Ray SE: d5 black pawn: capture (stop, included).
Ray S: c5 empty; c4 empty; c3 empty; c2 empty; c1 empty; edge.
Ray SW: b5 empty; a4 empty; edge.
Ray W: b6 empty; a6 white pawn: own piece (stop, excluded).
Ray NW: b7 empty; a8 empty; edge.
Moves from rays: c6a4 c6a8 c6b5 c6b6 c6b7 c6c1 c6c2 c6c3 c6c4 c6c5 c6c7 c6c8 c6d5 c6d6 c6d7 c6e6 c6e8 c6f6 c6g6 c6h6


Prompt:
FEN: r1b2rk1/pp1nq1bp/2p1p1p1/3pP3/8/2NB1N2/PPP1QPPP/R4RK1 b - - 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: black.
Legal moves: a7a5 a7a6 a8b8 b7b5 b7b6 c6c5 d5d4 d7b6 d7b8 d7c5 d7e5 d7f6 e7a3 e7b4 e7c5 e7d6 e7d8 e7e8 e7f6 e7f7 e7g5 e7h4 f8d8 f8e8 f8f3 f8f4 f8f5 f8f6 f8f7 g6g5 g7e5 g7f6 g7h6 g7h8 g8f7 g8h8 h7h5 h7h6


Prompt:
FEN: 8/8/4k3/5p2/3K2Pp/8/P5P1/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: e6d6 e6d7 e6e7 e6f6 e6f7 f5f4 f5g4 h4h3


Prompt:
FEN: 8/5k2/p7/4P1P1/1r6/5P2/2pK4/8 w - - 0 51
List the side-to-move pieces and their squares.

Side to move: white.
Pieces: d2 white king; f3 white pawn; e5 white pawn; g5 white pawn.


Prompt:
FEN: r3kbnr/p1pnpppp/b7/8/2pP4/4P3/P4PPP/RNB1KBNR w KQkq - 0 8
What legal moves does the piece on h1 have?


Prompt:
FEN: 8/5kpp/p3p3/Pp1p1n2/1P1P1P1P/5P2/2r2B2/1R3K2 b - -
Detect the game state: check, checkmate, stalemate, or none.

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


Prompt:
FEN: 3r1r1k/3P2pp/1R6/5p2/4pP2/4Q2P/6PK/1q1q4 w - - 0 38
List all capture moves available.


Prompt:
Given FEN: 3r2r1/pp5p/2k5/8/8/1P4N1/P1P2PpP/R5K1 w - - 5 30
List any special moves available (castling, en passant, promotion).


Prompt:
FEN: 3r2k1/5ppp/1p2p3/2b1P3/8/2N2P2/PP3P1P/5RK1 w - - 0 21
Is the move c3b1 legal?


Prompt:
FEN: r1bqkb1r/pp1n1ppp/2p2n2/3p2B1/P2P4/2N2N2/1P2PPPP/R2QKB1R b KQkq -
List pseudo-legal moves from c6.

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


Prompt:
FEN: rnbqkbnr/pp3ppp/2p1p3/8/2pP4/P1N2N2/1P2PPPP/R1BQKB1R b KQkq -
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: r1bqk1nr/1pp2ppp/p1nbp3/8/3Pp3/4Q3/PPP2PPP/RNB1KBNR w KQkq - 0 7
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: r5r1/3k2pp/pn1qp3/1pR5/1P1P2Q1/P7/1B4PP/4R1K1 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: b5 black pawn; a6 black pawn; b6 black knight; d6 black queen; e6 black pawn; d7 black king; g7 black pawn; h7 black pawn; a8 black rook; g8 black rook.
Moves by piece:
b5 black pawn: no legal moves
a6 black pawn: a6a5
b6 black knight: b6a4 b6c4 b6c8 b6d5
d6 black queen: d6b8 d6c5 d6c6 d6c7 d6d4 d6d5 d6e5 d6e7 d6f4 d6f8 d6g3 d6h2
e6 black pawn: no legal moves
d7 black king: d7d8 d7e7 d7e8
g7 black pawn: g7g5 g7g6
h7 black pawn: h7h5 h7h6
a8 black rook: a8a7 a8b8 a8c8 a8d8 a8e8 a8f8
g8 black rook: g8b8 g8c8 g8d8 g8e8 g8f8 g8h8
All legal moves: a6a5 a8a7 a8b8 a8c8 a8d8 a8e8 a8f8 b6a4 b6c4 b6c8 b6d5 d6b8 d6c5 d6c6 d6c7 d6d4 d6d5 d6e5 d6e7 d6f4 d6f8 d6g3 d6h2 d7d8 d7e7 d7e8 g7g5 g7g6 g8b8 g8c8 g8d8 g8e8 g8f8 g8h8 h7h5 h7h6


Prompt:
FEN: 6k1/6pp/2p5/p7/P2rr3/5K2/4N2P/b7 b - - 1 36
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 black bishop.
Ray NE: b2 empty; c3 empty; d4 black rook: own piece (stop, excluded).
Ray SE: edge.
Ray SW: edge.
Ray NW: edge.
Moves from rays: a1b2 a1c3


Prompt:
FEN: 8/6k1/2b3p1/5p2/2K5/8/8/8 w - - 0 52
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: c4 white king.
Filter by piece:
c4 white king: pseudo-legal c4b3 c4b4 c4b5 c4c3 c4c5 c4d3 c4d4 c4d5 | rejected c4b5 king_would_be_in_check; c4d5 king_would_be_in_check | legal c4b3 c4b4 c4c3 c4c5 c4d3 c4d4
All legal moves: c4b3 c4b4 c4c3 c4c5 c4d3 c4d4


Prompt:
FEN: rnbqkb1r/pp2pppp/2p2n2/2Pp4/3P4/7P/PP2PPP1/RNBQKBNR b KQkq - 0 4
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 b8d7 c8d7 c8e6 c8f5 c8g4 c8h3 d8a5 d8b6 d8c7 d8d6 d8d7 e7e5 e7e6 e8d7 f6d7 f6e4 f6g4 f6g8 f6h5 g7g5 g7g6 h7h5 h7h6 h8g8


Prompt:
FEN: 5rk1/1R1R1pNp/6p1/p7/8/1P3pP1/r2nP1KP/8 w - -
List the side-to-move pieces and their squares.

Side to move: white.
Pieces: e2 white pawn; g2 white king; h2 white pawn; b3 white pawn; g3 white pawn; b7 white rook; d7 white rook; g7 white knight.


Prompt:
FEN: r1bqkbnr/pp3ppp/2np4/4p3/4P3/5N2/PPP1BPPP/RNBQK2R b KQkq -
What legal moves does the piece on a7 have?


Prompt:
FEN: 8/6pp/p1P5/P1r4k/4r3/1p3P2/3Kb2P/8 b - -
Detect the game state: check, checkmate, stalemate, or none.

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


Prompt:
FEN: r7/1N6/p2P1pk1/4p1p1/6P1/1Pn4r/P5KP/R4R2 b - - 0 26
List all capture moves available.


Prompt:
Given FEN: r1bq1rk1/1pp1bpp1/p1np3p/3Np3/P1B1P3/3PQ2N/1PP2PPP/2KR3R w - - 3 13
List any special moves available (castling, en passant, promotion).


Prompt:
FEN: r1bq1rkb/p4p1p/3p2pP/1p2p1P1/4P3/2P1BQ2/PP3P2/RN2K2R b KQ - 1 17
Is the move b5b4 legal?


Prompt:
FEN: r4rk1/1p1n1pp1/2ppb1qp/p3p3/P1P1P3/1B1P1Q1P/2P2PPN/R4RK1 b - - 0 15
List pseudo-legal moves from c6.

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


Prompt:
FEN: r2qkbnr/pp3ppp/2B5/2p1p3/3pP3/5QNP/PPPP1PP1/R1B1K2R b KQkq -
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: none.
Rejected: d4d3 does_not_resolve_check.


Prompt:
FEN: 6k1/R5p1/1p3p2/8/8/7P/P2rr1PK/6R1 b - -
For move g8f7, decide whether king safety allows it.

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

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


Prompt:
FEN: r2qr1k1/bp2n1pn/2p2p1p/p2p1P2/1PPPp1PN/P3B2P/5PB1/R2Q1RK1 w - -
Group all legal moves by side-to-move piece.

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

Side to move: white.
Pieces: a1 white rook; d1 white queen; f1 white rook; g1 white king; f2 white pawn; g2 white bishop; a3 white pawn; e3 white bishop; h3 white pawn; b4 white pawn; c4 white pawn; d4 white pawn; g4 white pawn; h4 white knight; f5 white pawn.
Moves by piece:
a1 white rook: a1a2 a1b1 a1c1
d1 white queen: d1a4 d1b1 d1b3 d1c1 d1c2 d1d2 d1d3 d1e1 d1e2 d1f3
f1 white rook: f1e1
g1 white king: g1h1 g1h2
f2 white pawn: f2f3 f2f4
g2 white bishop: g2e4 g2f3 g2h1
a3 white pawn: a3a4
e3 white bishop: e3c1 e3d2 e3f4 e3g5 e3h6
h3 white pawn: no legal moves
b4 white pawn: b4a5 b4b5
c4 white pawn: c4c5 c4d5
d4 white pawn: no legal moves
g4 white pawn: g4g5
h4 white knight: h4f3 h4g6
f5 white pawn: no legal moves
All legal moves: a1a2 a1b1 a1c1 a3a4 b4a5 b4b5 c4c5 c4d5 d1a4 d1b1 d1b3 d1c1 d1c2 d1d2 d1d3 d1e1 d1e2 d1f3 e3c1 e3d2 e3f4 e3g5 e3h6 f1e1 f2f3 f2f4 g1h1 g1h2 g2e4 g2f3 g2h1 g4g5 h4f3 h4g6


Prompt:
FEN: 6k1/5pp1/1K5p/6P1/7P/8/2r5/3r4 b - - 2 41
Walk each ray for the slider on d1: 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: d1 black rook.
Ray N: d2 empty; d3 empty; d4 empty; d5 empty; d6 empty; d7 empty; d8 empty; edge.
Ray E: e1 empty; f1 empty; g1 empty; h1 empty; edge.
Ray S: edge.
Ray W: c1 empty; b1 empty; a1 empty; edge.
Moves from rays: d1a1 d1b1 d1c1 d1d2 d1d3 d1d4 d1d5 d1d6 d1d7 d1d8 d1e1 d1f1 d1g1 d1h1


Prompt:
FEN: 8/1p6/3pk3/4p1n1/2B2N2/P7/1P6/2K5 b - - 4 37
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: black.
Pieces: e5 black pawn; g5 black knight; d6 black pawn; e6 black king; b7 black pawn.
Filter by piece:
e5 black pawn: pseudo-legal e5e4 e5f4 | rejected e5e4 does_not_resolve_check; e5f4 does_not_resolve_check | legal none
g5 black knight: pseudo-legal g5e4 g5f3 g5f7 g5h3 g5h7 | rejected g5e4 does_not_resolve_check; g5f3 does_not_resolve_check; g5f7 does_not_resolve_check; g5h3 does_not_resolve_check; g5h7 does_not_resolve_check | legal none
d6 black pawn: pseudo-legal d6d5 | rejected d6d5 does_not_resolve_check | legal none
e6 black king: pseudo-legal e6d5 e6d7 e6e7 e6f5 e6f6 e6f7 | rejected e6d5 does_not_resolve_check; e6f7 does_not_resolve_check | legal e6d7 e6e7 e6f5 e6f6
b7 black pawn: pseudo-legal b7b5 b7b6 | rejected b7b5 does_not_resolve_check; b7b6 does_not_resolve_check | legal none
All legal moves: e6d7 e6e7 e6f5 e6f6


Prompt:
FEN: rn4k1/p4rpp/1pp2pb1/3p1n2/N2P4/4PN1P/PP2BPP1/2R2RK1 w - - 0 19
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 a4b6 a4c3 a4c5 b2b3 b2b4 c1a1 c1b1 c1c2 c1c3 c1c4 c1c5 c1c6 c1d1 c1e1 e2a6 e2b5 e2c4 e2d1 e2d3 e3e4 f1d1 f1e1 f3d2 f3e1 f3e5 f3g5 f3h2 f3h4 g1h1 g1h2 g2g3 g2g4 h3h4


Prompt:
FEN: r2q1rk1/pppnbbpp/1n2p3/5p2/2PP4/1P1B1P2/P2N2PP/RNBQR1K1 b - - 0 13
List the side-to-move pieces and their squares.

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


Prompt:
FEN: r1bqk2r/2pn2b1/1p1p2pp/pP1Ppn2/P1B2P1N/4B3/2P1N1PP/R2Q1RK1 w kq - 0 16
What legal moves does the piece on h4 have?


Prompt:
FEN: r4rk1/p1p1pp2/7b/5q1p/8/5N2/PP2QPPP/1K1R3R w - - 0 19
Detect the game state: check, checkmate, stalemate, or none.


Prompt:
FEN: 8/8/4r3/8/6P1/6KP/8/k7 w - - 0 54
List all capture moves available.


Prompt:
Given FEN: 6r1/2kp4/p3p3/2p5/2P1PpPR/5K2/P1n5/8 b - - 5 37
List any special moves available (castling, en passant, promotion).


Prompt:
FEN: rnbqkb1r/pppp1pp1/8/4P2p/2P1P1n1/8/PP3PPP/RNBQKBNR w KQkq -
Is the move g1e8 legal?

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


Prompt:
FEN: r1b1k1nr/ppB1pp2/5n1p/6p1/2N5/2N5/PP2PPPP/3RKB1R b K - 0 13
List pseudo-legal moves from g5.

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


Prompt:
FEN: 2kr3r/pp2bppp/8/5b2/2Bn1P2/2N5/PPPB2PP/2KR3R b - -
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: d4b3 d4b5 d4c2 d4c6 d4e2 d4e6 d4f3.
Legal: d4b3 d4b5 d4c2 d4c6 d4e2 d4e6 d4f3.
Rejected: none.


Prompt:
FEN: 7k/5b1P/8/1K1p1B2/1P1P4/8/5P2/8 b - -
For move h8g8, decide whether king safety allows it.

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

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


Prompt:
FEN: r2q1rk1/1pp1bppp/p2p1nb1/4p3/4P1P1/1PNPBN1P/1PPQ1P2/R4RK1 w - -
Group all legal moves by side-to-move piece.

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

Side to move: white.
Pieces: a1 white rook; f1 white rook; g1 white king; b2 white pawn; c2 white pawn; d2 white queen; f2 white pawn; b3 white pawn; c3 white knight; d3 white pawn; e3 white bishop; f3 white knight; h3 white pawn; e4 white pawn; g4 white pawn.
Moves by piece:
a1 white rook: a1a2 a1a3 a1a4 a1a5 a1a6 a1b1 a1c1 a1d1 a1e1
f1 white rook: f1b1 f1c1 f1d1 f1e1
g1 white king: g1g2 g1h1 g1h2
b2 white pawn: no legal moves
c2 white pawn: no legal moves
d2 white queen: d2c1 d2d1 d2e1 d2e2
f2 white pawn: no legal moves
b3 white pawn: b3b4
c3 white knight: c3a2 c3a4 c3b1 c3b5 c3d1 c3d5 c3e2
d3 white pawn: d3d4
e3 white bishop: e3a7 e3b6 e3c5 e3d4 e3f4 e3g5 e3h6
f3 white knight: f3d4 f3e1 f3e5 f3g5 f3h2 f3h4
h3 white pawn: h3h4
e4 white pawn: no legal moves
g4 white pawn: g4g5
All legal moves: a1a2 a1a3 a1a4 a1a5 a1a6 a1b1 a1c1 a1d1 a1e1 b3b4 c3a2 c3a4 c3b1 c3b5 c3d1 c3d5 c3e2 d2c1 d2d1 d2e1 d2e2 d3d4 e3a7 e3b6 e3c5 e3d4 e3f4 e3g5 e3h6 f1b1 f1c1 f1d1 f1e1 f3d4 f3e1 f3e5 f3g5 f3h2 f3h4 g1g2 g1h1 g1h2 g4g5 h3h4


Prompt:
FEN: q5k1/5pp1/pp5p/8/1P3N2/6P1/P1Q2R1P/4r1K1 w - -
Walk each ray for the slider on c2: 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: c2 white queen.
Ray N: c3 empty; c4 empty; c5 empty; c6 empty; c7 empty; c8 empty; edge.
Ray NE: d3 empty; e4 empty; f5 empty; g6 empty; h7 empty; edge.
Ray E: d2 empty; e2 empty; f2 white rook: own piece (stop, excluded).
Ray SE: d1 empty; edge.
Ray S: c1 empty; edge.
Ray SW: b1 empty; edge.
Ray W: b2 empty; a2 white pawn: own piece (stop, excluded).
Ray NW: b3 empty; a4 empty; edge.
Moves from rays: c2a4 c2b1 c2b2 c2b3 c2c1 c2c3 c2c4 c2c5 c2c6 c2c7 c2c8 c2d1 c2d2 c2d3 c2e2 c2e4 c2f5 c2g6 c2h7


Prompt:
FEN: r1b2rk1/8/1pR1p1p1/p4pBp/2P2P1P/1P6/P1B3P1/4R1K1 b - - 0 24
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: black.
Pieces: a5 black pawn; f5 black pawn; h5 black pawn; b6 black pawn; e6 black pawn; g6 black pawn; a8 black rook; c8 black bishop; f8 black rook; g8 black king.
Filter by piece:
a5 black pawn: pseudo-legal a5a4 | rejected none | legal a5a4
f5 black pawn: pseudo-legal none | rejected none | legal none
h5 black pawn: pseudo-legal none | rejected none | legal none
b6 black pawn: pseudo-legal b6b5 | rejected none | legal b6b5
e6 black pawn: pseudo-legal e6e5 | rejected none | legal e6e5
g6 black pawn: pseudo-legal none | rejected none | legal none
a8 black rook: pseudo-legal a8a6 a8a7 a8b8 | rejected none | legal a8a6 a8a7 a8b8
c8 black bishop: pseudo-legal c8a6 c8b7 c8d7 | rejected none | legal c8a6 c8b7 c8d7
f8 black rook: pseudo-legal f8d8 f8e8 f8f6 f8f7 | rejected none | legal f8d8 f8e8 f8f6 f8f7
g8 black king: pseudo-legal g8f7 g8g7 g8h7 g8h8 | rejected none | legal g8f7 g8g7 g8h7 g8h8
All legal moves: a5a4 a8a6 a8a7 a8b8 b6b5 c8a6 c8b7 c8d7 e6e5 f8d8 f8e8 f8f6 f8f7 g8f7 g8g7 g8h7 g8h8


Prompt:
FEN: 4k2r/p3ppbp/2p3p1/5b2/2N2P2/B1n3N1/P7/3R1K2 w k - 0 24
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: a3b2 a3b4 a3c1 a3c5 a3d6 a3e7 c4a5 c4b2 c4b6 c4d2 c4d6 c4e3 c4e5 d1a1 d1b1 d1c1 d1d2 d1d3 d1d4 d1d5 d1d6 d1d7 d1d8 d1e1 f1e1 f1f2 f1g1 f1g2 g3e2 g3e4 g3f5 g3h1 g3h5


Prompt:
FEN: rnbqkb1r/ppp3pp/3p1n2/4pP2/8/2NP1N2/PPP2PPP/R1BQKB1R b KQkq -
List the side-to-move pieces and their squares.

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


Prompt:
FEN: 8/7k/R3P1p1/3P1P1b/7P/P3K3/8/8 w - - 0 47
What legal moves does the piece on f5 have?


Prompt:
FEN: 6k1/1p3ppp/2p5/3p2P1/4pP1P/5n2/r1KP1P2/1N5R w - - 1 31
Detect the game state: check, checkmate, stalemate, or none.


Prompt:
FEN: r3kb1r/ppp1pppp/5n2/5b2/3n1P2/4qN2/PPP1N1PP/R2QKB1R w KQkq - 2 10
List all capture moves available.


Prompt:
Given FEN: 8/1p5Q/5k2/p2p4/3q3P/4R1P1/8/6K1 w - -
List any special moves available (castling, en passant, promotion).


Prompt:
FEN: r2qkb1r/pppb1ppp/5n2/3Pp3/2P5/5Q2/PP1P1PPP/RNB1KB1R b KQkq -
Is the move b7b5 legal?


Prompt:
FEN: 8/8/8/p4k2/7p/P6K/1P6/8 b - -
List pseudo-legal moves from a5.

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


Prompt:
FEN: rn3rk1/4ppbp/Q2p1np1/2pP4/4P3/2N2N2/PP1B1PPP/R3K2R b KQ -
For the piece on c5, 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 c5: c5c4.
Legal: c5c4.
Rejected: none.


Prompt:
FEN: r1bq1rk1/1pp2pp1/p1np1n1p/2b1p3/P1B1P3/2PP1N1P/1P3PP1/RNBQR1K1 b - -
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: 8/8/8/1b1k4/2R5/2K5/8/8 w - - 1 67
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: c3 white king; c4 white rook.
Moves by piece:
c3 white king: c3b2 c3b3 c3b4 c3c2 c3d2 c3d3
c4 white rook: c4a4 c4b4 c4c5 c4c6 c4c7 c4c8 c4d4 c4e4 c4f4 c4g4 c4h4
All legal moves: c3b2 c3b3 c3b4 c3c2 c3d2 c3d3 c4a4 c4b4 c4c5 c4c6 c4c7 c4c8 c4d4 c4e4 c4f4 c4g4 c4h4


Prompt:
FEN: 8/4kp2/p3p2p/1p1pP3/1r1P3K/8/7P/8 w - - 0 39
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: h2h3 h4g3 h4g4 h4h3 h4h5


Prompt:
FEN: r2q1rk1/1p1nbppp/p2p1n2/P1pP3b/2N2B2/2NB1P2/1PP3PP/R2Q1RK1 b - - 2 14
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: a8a7 a8b8 a8c8 b7b5 b7b6 d7b6 d7b8 d7e5 d8a5 d8b6 d8b8 d8c7 d8c8 d8e8 f6d5 f6e4 f6e8 f6g4 f8e8 g7g5 g7g6 g8h8 h5f3 h5g4 h5g6 h7h6


Prompt:
FEN: 4B3/6k1/8/2B5/6K1/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: c5a3 c5a7 c5b4 c5b6 c5d4 c5d6 c5e3 c5e7 c5f2 c5f8 c5g1 e8a4 e8b5 e8c6 e8d7 e8f7 e8g6 e8h5 g4f3 g4f4 g4f5 g4g3 g4g5 g4h3 g4h4 g4h5


Prompt:
FEN: r2k1b1r/pR2pppp/n4n2/3P4/Q7/5N2/P2B1PPP/4K2R w K -
List the side-to-move pieces and their squares.

Side to move: white.
Pieces: e1 white king; h1 white rook; a2 white pawn; d2 white bishop; f2 white pawn; g2 white pawn; h2 white pawn; f3 white knight; a4 white queen; d5 white pawn; b7 white rook.


Prompt:
FEN: 2kr1bnr/pb2qppp/1pnpp3/1Pp5/8/2PP1PP1/PB2P1BP/RN1QK1NR b KQ - 0 10
What legal moves does the piece on a7 have?


Prompt:
FEN: 1nbqkbnr/1ppp1pp1/6r1/p3p2p/P3P3/3P1PP1/1PP1B2P/RNBQK1NR b KQk - 0 6
Detect the game state: check, checkmate, stalemate, or none.

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


Prompt:
FEN: r4rk1/1p2qppp/p1b1p3/3P4/4R3/1PP2N2/P4PPP/R2Q2K1 b - - 0 20
List all capture moves available.


Prompt:
Given FEN: b2r1rk1/p4pp1/Pp1p3p/8/1pP5/2q1PP2/4B1PP/R2RQ1K1 w - -
List any special moves available (castling, en passant, promotion).


Prompt:
FEN: 8/2q4k/1P4p1/1b1P3p/4pP2/7P/6P1/6K1 w - - 0 41
Is the move b6b7 legal?


Prompt:
FEN: r2q1rk1/4pp1p/p1npbbp1/1p1N4/4PP2/1N6/PPPQ2PP/1K1R1B1R b - -
List pseudo-legal moves from b5.

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


Prompt:
FEN: r2r2k1/p4ppp/2p1p3/1q6/NB3P2/1P1P1Q1P/P1P3P1/R4RK1 b - - 0 20
For the piece on g8, 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 g8: g8f8 g8h8.
Legal: g8h8.
Rejected: g8f8 king_would_be_in_check.


Prompt:
FEN: r1bkr3/pp1p2pp/8/5p2/8/2P2n2/P1Pn1PPP/R2Q1K1R w - -
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: no.
Final: illegal; does_not_resolve_check.


Prompt:
FEN: r1bqkb1r/1p1n1pp1/p3p2p/3pP3/5B2/2N2Q2/PPP2PPP/R3KB1R b KQkq - 2 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: black.
Pieces: d5 black pawn; a6 black pawn; e6 black pawn; h6 black pawn; b7 black pawn; d7 black knight; f7 black pawn; g7 black pawn; a8 black rook; c8 black bishop; d8 black queen; e8 black king; f8 black bishop; h8 black rook.
Moves by piece:
d5 black pawn: d5d4
a6 black pawn: a6a5
e6 black pawn: no legal moves
h6 black pawn: h6h5
b7 black pawn: b7b5 b7b6
d7 black knight: d7b6 d7b8 d7c5 d7e5 d7f6
f7 black pawn: f7f5 f7f6
g7 black pawn: g7g5 g7g6
a8 black rook: a8a7 a8b8
c8 black bishop: no legal moves
d8 black queen: d8a5 d8b6 d8c7 d8e7 d8f6 d8g5 d8h4
e8 black king: e8e7
f8 black bishop: f8a3 f8b4 f8c5 f8d6 f8e7
h8 black rook: h8g8 h8h7
All legal moves: a6a5 a8a7 a8b8 b7b5 b7b6 d5d4 d7b6 d7b8 d7c5 d7e5 d7f6 d8a5 d8b6 d8c7 d8e7 d8f6 d8g5 d8h4 e8e7 f7f5 f7f6 f8a3 f8b4 f8c5 f8d6 f8e7 g7g5 g7g6 h6h5 h8g8 h8h7


Prompt:
FEN: 6r1/p4k2/2BQ4/1P6/P4p2/6qP/6P1/5K2 w - - 7 43
Walk each ray for the slider on c6: 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: c6 white bishop.
Ray NE: d7 empty; e8 empty; edge.
Ray SE: d5 empty; e4 empty; f3 empty; g2 white pawn: own piece (stop, excluded).
Ray SW: b5 white pawn: own piece (stop, excluded).
Ray NW: b7 empty; a8 empty; edge.
Moves from rays: c6a8 c6b7 c6d5 c6d7 c6e4 c6e8 c6f3


Prompt:
FEN: 8/8/6p1/6P1/2b5/5rk1/8/7K b - - 21 83
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: black.
Pieces: f3 black rook; g3 black king; c4 black bishop; g6 black pawn.
Filter by piece:
f3 black rook: pseudo-legal f3a3 f3b3 f3c3 f3d3 f3e3 f3f1 f3f2 f3f4 f3f5 f3f6 f3f7 f3f8 | rejected none | legal f3a3 f3b3 f3c3 f3d3 f3e3 f3f1 f3f2 f3f4 f3f5 f3f6 f3f7 f3f8
g3 black king: pseudo-legal g3f2 g3f4 g3g2 g3g4 g3h2 g3h3 g3h4 | rejected g3g2 king_would_be_in_check; g3h2 king_would_be_in_check | legal g3f2 g3f4 g3g4 g3h3 g3h4
c4 black bishop: pseudo-legal c4a2 c4a6 c4b3 c4b5 c4d3 c4d5 c4e2 c4e6 c4f1 c4f7 c4g8 | rejected none | legal c4a2 c4a6 c4b3 c4b5 c4d3 c4d5 c4e2 c4e6 c4f1 c4f7 c4g8
g6 black pawn: pseudo-legal none | rejected none | legal none
All legal moves: c4a2 c4a6 c4b3 c4b5 c4d3 c4d5 c4e2 c4e6 c4f1 c4f7 c4g8 f3a3 f3b3 f3c3 f3d3 f3e3 f3f1 f3f2 f3f4 f3f5 f3f6 f3f7 f3f8 g3f2 g3f4 g3g4 g3h3 g3h4


Prompt:
FEN: 8/2Pk1p2/p2r4/3P1K2/5N1p/8/8/8 w - - 0 54
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: c7c8b c7c8n c7c8q c7c8r f4d3 f4e2 f4e6 f4g2 f4g6 f4h3 f4h5 f5e4 f5e5 f5g4 f5g5


Prompt:
FEN: r2q1rk1/pp1nbppp/2p1pnN1/8/4P1P1/7P/PPPN1PB1/R1BQ1RK1 b - -
List the side-to-move pieces and their squares.

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


Prompt:
FEN: rn2k1nr/pppbqpbp/3pp1p1/8/3PP3/2N1BN2/PPP1BPPP/R2QK2R w KQkq - 4 7
What legal moves does the piece on g2 have?


Prompt:
FEN: 8/6k1/1RP4p/6p1/8/1p2K1PP/r7/8 w - -
Detect the game state: check, checkmate, stalemate, or none.

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


Prompt:
FEN: r2qkb1r/3n3p/p1b1p1p1/3pP2B/Np1Q4/4B3/PPP3PP/R3K2R w KQkq -
List all capture moves available.


Prompt:
Given FEN: R7/6k1/3N2pp/8/1p6/1P3P1P/6PK/1rn5 w - - 5 43
List any special moves available (castling, en passant, promotion).


Prompt:
FEN: 3r2k1/ppq2ppp/4pn2/2n1Q1N1/3R4/2P3NP/PP3PP1/6K1 b - -
Is the move a7b7 legal?

No, illegal. Reason: own piece destination.


Prompt:
FEN: 1k5r/pp2ppb1/3p2pp/3P4/Q4P1n/P3P3/1qr2P1P/R4K1R b - - 1 21
List pseudo-legal moves from b2.

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

Pseudo-legal moves from b2: b2a1 b2a2 b2a3 b2b1 b2b3 b2b4 b2b5 b2b6 b2c1 b2c3 b2d4 b2e5 b2f6


Prompt:
FEN: 2kr4/pp6/2pqp3/3r4/3P2Q1/P5P1/1PR4P/5RK1 w - - 3 28
For the piece on f1, 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 f1: f1a1 f1b1 f1c1 f1d1 f1e1 f1f2 f1f3 f1f4 f1f5 f1f6 f1f7 f1f8.
Legal: f1a1 f1b1 f1c1 f1d1 f1e1 f1f2 f1f3 f1f4 f1f5 f1f6 f1f7 f1f8.
Rejected: none.


Prompt:
FEN: r7/pppnk3/3p4/3Pp2p/2P3pP/2N3P1/PP1q4/R4K1R b - - 3 21
For move e7e6, decide whether king safety allows it.

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

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


Prompt:
FEN: r1b1kb1r/ppp1pppp/2n5/3q4/8/1P6/P1PP1PPP/R1BQKBNR w KQkq - 1 6
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; f1 white bishop; g1 white knight; h1 white rook; a2 white pawn; c2 white pawn; d2 white pawn; f2 white pawn; g2 white pawn; h2 white pawn; b3 white pawn.
Moves by piece:
a1 white rook: a1b1
c1 white bishop: c1a3 c1b2
d1 white queen: d1e2 d1f3 d1g4 d1h5
e1 white king: e1e2
f1 white bishop: f1a6 f1b5 f1c4 f1d3 f1e2
g1 white knight: g1e2 g1f3 g1h3
h1 white rook: no legal moves
a2 white pawn: a2a3 a2a4
c2 white pawn: c2c3 c2c4
d2 white pawn: d2d3 d2d4
f2 white pawn: f2f3 f2f4
g2 white pawn: g2g3 g2g4
h2 white pawn: h2h3 h2h4
b3 white pawn: b3b4
All legal moves: a1b1 a2a3 a2a4 b3b4 c1a3 c1b2 c2c3 c2c4 d1e2 d1f3 d1g4 d1h5 d2d3 d2d4 e1e2 f1a6 f1b5 f1c4 f1d3 f1e2 f2f3 f2f4 g1e2 g1f3 g1h3 g2g3 g2g4 h2h3 h2h4


Prompt:
FEN: rn2k2r/p2p1p1p/1q2p1p1/1P2b3/3n4/4B3/BP2NPP1/R2Q1R1K b kq - 7 19
Walk each ray for the slider on e5: 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: e5 black bishop.
Ray NE: f6 empty; g7 empty; h8 black rook: own piece (stop, excluded).
Ray SE: f4 empty; g3 empty; h2 empty; edge.
Ray SW: d4 black knight: own piece (stop, excluded).
Ray NW: d6 empty; c7 empty; b8 black knight: own piece (stop, excluded).
Moves from rays: e5c7 e5d6 e5f4 e5f6 e5g3 e5g7 e5h2


Prompt:
FEN: r1bq3r/ppkn1p2/3p3p/2pPpPp1/2P5/2P5/P1B2PPP/1RBQ1RK1 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: a2a3 a2a4 b1a1 b1b2 b1b3 b1b4 b1b5 b1b6 b1b7 c1a3 c1b2 c1d2 c1e3 c1f4 c1g5 c2a4 c2b3 c2d3 c2e4 d1d2 d1d3 d1d4 d1e1 d1e2 d1f3 d1g4 d1h5 f1e1 f2f3 f2f4 f5f6 g1h1 g2g3 g2g4 h2h3 h2h4


Prompt:
FEN: r1r3k1/5qp1/b4p1p/2p5/p1P1QpN1/P2P1N1P/5PP1/1R3RK1 b - - 2 24
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: a6b5 a6b7 a6c4 a8a7 a8b8 c8b8 c8c6 c8c7 c8d8 c8e8 c8f8 f6f5 f7a7 f7b7 f7c4 f7c7 f7d5 f7d7 f7e6 f7e7 f7e8 f7f8 f7g6 f7h5 g7g5 g7g6 g8f8 g8h8 h6h5


Prompt:
FEN: rn1qkbnr/p1p1pppp/8/2p5/1p1P4/4PN2/PP3PPP/R1BQ1K1R w kq - 0 9
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 king; h1 white rook; a2 white pawn; b2 white pawn; f2 white pawn; g2 white pawn; h2 white pawn; e3 white pawn; f3 white knight; d4 white pawn.


Prompt:
FEN: 3rr1k1/1pp1npbp/p1n3p1/4pb2/2B5/PKP2NB1/1P1N1PPP/3R3R w - - 0 16
What legal moves does the piece on h1 have?


Prompt:
FEN: rnbqk1nr/1p2bppp/p2pp3/8/4P3/1N1BB3/PPP2PPP/RN1QK2R w KQkq -
Detect the game state: check, checkmate, stalemate, or none.

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


Prompt:
FEN: 8/8/8/p4k2/P7/6Kp/8/8 w - - 0 51
List all capture moves available.


Prompt:
Given FEN: 5rk1/2QR3p/2n1Ppp1/8/p1P5/2B4P/q4KP1/8 w - - 1 33
List any special moves available (castling, en passant, promotion).


Prompt:
FEN: r5k1/5p2/4q1p1/4P3/8/6P1/pQ3P2/R5K1 w - -
Is the move g3f5 legal?

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


Prompt:
FEN: 8/qK2b3/8/6k1/8/5R2/8/r7 w - - 0 66
List pseudo-legal moves from f3.

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

Pseudo-legal moves from f3: f3a3 f3b3 f3c3 f3d3 f3e3 f3f1 f3f2 f3f4 f3f5 f3f6 f3f7 f3f8 f3g3 f3h3


Prompt:
FEN: rnb2rk1/ppp1ppbp/4q1p1/4P3/2PB4/5N2/PP2Q1PP/R3KB1R w KQ - 6 13
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.
Legal: a1b1 a1c1 a1d1.
Rejected: none.


Prompt:
FEN: 8/5pp1/3k3p/1r1p4/1P1K2PP/5P2/8/1R6 b - -
For move d6c5, decide whether king safety allows it.

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

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


Prompt:
FEN: r3k1nr/p1p2ppp/1pbb1q2/4p2Q/2B5/8/PPP2PPP/RNB1R1K1 w kq - 4 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 rook; g1 white king; a2 white pawn; b2 white pawn; c2 white pawn; f2 white pawn; g2 white pawn; h2 white pawn; c4 white bishop; h5 white queen.
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 rook: e1d1 e1e2 e1e3 e1e4 e1e5 e1f1
g1 white king: g1f1 g1h1
a2 white pawn: a2a3 a2a4
b2 white pawn: b2b3 b2b4
c2 white pawn: c2c3
f2 white pawn: f2f3 f2f4
g2 white pawn: g2g3 g2g4
h2 white pawn: h2h3 h2h4
c4 white bishop: c4a6 c4b3 c4b5 c4d3 c4d5 c4e2 c4e6 c4f1 c4f7
h5 white queen: h5d1 h5e2 h5e5 h5f3 h5f5 h5f7 h5g4 h5g5 h5g6 h5h3 h5h4 h5h6 h5h7
All legal moves: a2a3 a2a4 b1a3 b1c3 b1d2 b2b3 b2b4 c1d2 c1e3 c1f4 c1g5 c1h6 c2c3 c4a6 c4b3 c4b5 c4d3 c4d5 c4e2 c4e6 c4f1 c4f7 e1d1 e1e2 e1e3 e1e4 e1e5 e1f1 f2f3 f2f4 g1f1 g1h1 g2g3 g2g4 h2h3 h2h4 h5d1 h5e2 h5e5 h5f3 h5f5 h5f7 h5g4 h5g5 h5g6 h5h3 h5h4 h5h6 h5h7


Prompt:
FEN: r1bqkbnr/1pp2ppp/p1Bp4/4p3/4P3/5N2/PPPP1PPP/RNBQ1RK1 b kq - 0 5
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 rook.
Ray N: edge.
Ray E: b8 empty; c8 black bishop: own piece (stop, excluded).
Ray S: a7 empty; a6 black pawn: own piece (stop, excluded).
Ray W: edge.
Moves from rays: a8a7 a8b8


Prompt:
FEN: r1bqr1k1/pp1n1ppp/5n2/2b1p3/8/2NQ1BB1/PPP1NPPP/R3R1K1 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 a8b8 b7b5 b7b6 c5a3 c5b4 c5b6 c5d4 c5d6 c5e3 c5e7 c5f2 c5f8 d7b6 d7b8 d7f8 d8a5 d8b6 d8c7 d8e7 e5e4 e8e6 e8e7 e8f8 f6d5 f6e4 f6g4 f6h5 g7g5 g7g6 g8f8 g8h8 h7h5 h7h6


Prompt:
FEN: r2q1rk1/pp2ppbp/2np1np1/8/2BPP1b1/2N2N2/PP3PPP/R1BQR1K1 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: a1b1 a2a3 a2a4 b2b3 b2b4 c1d2 c1e3 c1f4 c1g5 c1h6 c3a4 c3b1 c3b5 c3d5 c3e2 c4a6 c4b3 c4b5 c4d3 c4d5 c4e2 c4e6 c4f1 c4f7 d1a4 d1b3 d1c2 d1d2 d1d3 d1e2 d4d5 e1e2 e1e3 e1f1 e4e5 f3d2 f3e5 f3g5 f3h4 g1f1 g1h1 g2g3 h2h3 h2h4


Prompt:
FEN: 3r4/pr2N1kp/1p1P1p2/2p1p3/8/8/PP3Pb1/R2R2K1 w - - 0 26
List the side-to-move pieces and their squares.

Side to move: white.
Pieces: a1 white rook; d1 white rook; g1 white king; a2 white pawn; b2 white pawn; f2 white pawn; d6 white pawn; e7 white knight.


Prompt:
FEN: r3k2r/1bq1b3/pp1p2pp/3Pp3/2Pp4/3P2P1/PP1B2BP/R2QR1K1 w kq - 0 21
What legal moves does the piece on d2 have?


Prompt:
FEN: 2rq1rk1/1p2bppp/p1Npp3/6B1/5P2/2N3n1/PPP3PP/2KR3R w - -
Detect the game state: check, checkmate, stalemate, or none.

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


Prompt:
FEN: r1bq1rk1/pp2bppp/4pn2/2p1N3/2BP4/2P5/PP2QPPP/R1B1K2R w KQ -
List all capture moves available.


Prompt:
Given FEN: 3rkb1r/1pp2ppp/p1npq3/4p3/4P3/2P2Q1P/PP1PNPP1/R1B1K2R b KQk - 2 10
List any special moves available (castling, en passant, promotion).


Prompt:
FEN: rnbqkb1r/pp1p1ppp/2p2n2/4p3/2P1P3/3P3P/PP3PP1/RNBQKBNR b KQkq - 0 4
Is the move b7b8 legal?

No, illegal. Reason: own piece destination.


Prompt:
FEN: r5rk/p5p1/n1p2p1p/1p1n4/3P3P/P1PB1NB1/2PK2R1/7R b - - 1 26
List pseudo-legal moves from b5.

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


Prompt:
FEN: 2kr3r/1b2n2p/p1qbp1p1/3p1p2/p2P1P2/2PB2N1/1P2Q1PP/R1B2RK1 w - - 2 19
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 a1b1.
Legal: a1a2 a1a3 a1a4 a1b1.
Rejected: none.


Prompt:
FEN: r2q1rk1/pp2bppp/1n6/2P4b/8/P1N1PN1P/4B1P1/R2Q1RK1 b - - 0 17
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: r4rk1/pp4p1/2pp3p/8/2P5/1P4P1/P6P/1b2R1K1 w - - 0 30
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; g1 white king; a2 white pawn; h2 white pawn; b3 white pawn; g3 white pawn; c4 white pawn.
Moves by piece:
e1 white rook: e1b1 e1c1 e1d1 e1e2 e1e3 e1e4 e1e5 e1e6 e1e7 e1e8 e1f1
g1 white king: g1g2 g1h1
a2 white pawn: a2a3 a2a4
h2 white pawn: h2h3 h2h4
b3 white pawn: b3b4
g3 white pawn: g3g4
c4 white pawn: c4c5
All legal moves: a2a3 a2a4 b3b4 c4c5 e1b1 e1c1 e1d1 e1e2 e1e3 e1e4 e1e5 e1e6 e1e7 e1e8 e1f1 g1g2 g1h1 g3g4 h2h3 h2h4


Prompt:
FEN: 8/2p2kpp/Bpnrbp2/4p3/1P2P1PP/P1B5/2P2P2/5RK1 b - - 0 21
Walk each ray for the slider on d6: 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: d6 black rook.
Ray N: d7 empty; d8 empty; edge.
Ray E: e6 black bishop: own piece (stop, excluded).
Ray S: d5 empty; d4 empty; d3 empty; d2 empty; d1 empty; edge.
Ray W: c6 black knight: own piece (stop, excluded).
Moves from rays: d6d1 d6d2 d6d3 d6d4 d6d5 d6d7 d6d8


Prompt:
FEN: r6r/pppb2k1/8/3P3p/P1P3pP/2NB1nP1/1P6/3R1RK1 w - - 1 25
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: f1f3 g1f2 g1g2 g1h1


Prompt:
FEN: 2b2qk1/p5b1/1p4B1/3pP3/8/1P4P1/PB1Q1PK1/8 b - - 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: black.
Legal moves: a7a5 a7a6 b6b5 c8a6 c8b7 c8d7 c8e6 c8f5 c8g4 c8h3 d5d4 f8a3 f8b4 f8c5 f8d6 f8d8 f8e7 f8e8 f8f2 f8f3 f8f4 f8f5 f8f6 f8f7 g7e5 g7f6 g7h6 g7h8 g8h8


Prompt:
FEN: r2qk2r/pp2bpp1/5n1p/2pP3n/2b3P1/2N1B2P/PPPQNPB1/R3R1K1 b kq - 0 16
List the side-to-move pieces and their squares.

Side to move: black.
Pieces: c4 black bishop; c5 black pawn; h5 black knight; f6 black knight; h6 black pawn; a7 black pawn; b7 black pawn; e7 black bishop; f7 black pawn; g7 black pawn; a8 black rook; d8 black queen; e8 black king; h8 black rook.


Prompt:
FEN: r4rk1/1p3ppn/p2pb2p/2p3q1/4PR2/2PPQn1P/PPB3P1/RN4K1 w - - 0 18
What legal moves does the piece on b1 have?


Prompt:
FEN: r4k1r/pp1b1n1p/1b1p4/2pP1p2/4P2P/2P2P2/PP1KN1P1/RN5R w - - 1 18
Detect the game state: check, checkmate, stalemate, or none.

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


Prompt:
FEN: 1rbq1rk1/p3bppp/2p1pn2/3p2B1/8/2P1PN1P/PP3PP1/1R1QKB1R b K - 4 11
List all capture moves available.


Prompt:
Given FEN: 1K1k4/R7/1P6/8/8/8/8/2r5 w - -
List any special moves available (castling, en passant, promotion).


Prompt:
FEN: Q7/8/2pb4/6k1/8/1P4p1/4Q1K1/8 b - -
Is the move g5c6 legal?

No, illegal. Reason: own piece destination.


Prompt:
FEN: r1b2rk1/p2p1ppp/1p2pn2/8/3RP3/2N5/PPP1B1PP/5RK1 b - - 0 13
List pseudo-legal moves from b6.

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


Prompt:
FEN: rnbrk3/ppp2NR1/4p3/7p/3PP2q/2PB4/P3KP1P/R5Q1 b - - 0 16
For the piece on e8, 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 e8: e8d7 e8e7 e8f7 e8f8.
Legal: e8d7 e8e7 e8f8.
Rejected: e8f7 king_would_be_in_check.


Prompt:
FEN: rnbq1rk1/1pp2ppp/p3pb2/8/3P4/3Q2P1/PPP2PBP/R1B1K1NR w KQ - 0 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: r1bqkbnr/pp1p1ppp/n7/2pPp3/2P1PP2/P7/1P4PP/RNBQKBNR b KQkq - 0 6
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 pawn; a6 black knight; a7 black pawn; b7 black pawn; d7 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:
c5 black pawn: no legal moves
e5 black pawn: e5f4
a6 black knight: a6b4 a6b8 a6c7
a7 black pawn: no legal moves
b7 black pawn: b7b5 b7b6
d7 black pawn: d7d6
f7 black pawn: f7f5 f7f6
g7 black pawn: g7g5 g7g6
h7 black pawn: h7h5 h7h6
a8 black rook: a8b8
c8 black bishop: no legal moves
d8 black queen: d8a5 d8b6 d8c7 d8e7 d8f6 d8g5 d8h4
e8 black king: e8e7
f8 black bishop: f8d6 f8e7
g8 black knight: g8e7 g8f6 g8h6
h8 black rook: no legal moves
All legal moves: a6b4 a6b8 a6c7 a8b8 b7b5 b7b6 d7d6 d8a5 d8b6 d8c7 d8e7 d8f6 d8g5 d8h4 e5f4 e8e7 f7f5 f7f6 f8d6 f8e7 g7g5 g7g6 g8e7 g8f6 g8h6 h7h5 h7h6


Prompt:
FEN: 1r3r2/5pk1/1p1p1np1/p3p2p/7Q/4R2P/q1P2PP1/4R1K1 w - - 0 28
Walk each ray for the slider on e1: 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: e1 white rook.
Ray N: e2 empty; e3 white rook: own piece (stop, excluded).
Ray E: f1 empty; g1 white king: own piece (stop, excluded).
Ray S: edge.
Ray W: d1 empty; c1 empty; b1 empty; a1 empty; edge.
Moves from rays: e1a1 e1b1 e1c1 e1d1 e1e2 e1f1


Prompt:
FEN: r1bq1rk1/p1p2p2/2pp1n1p/2b1p1p1/4P3/2NP1NB1/PPP2PPP/R2Q1RK1 b - - 1 10
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 c5a3 c5b4 c5b6 c5d4 c5e3 c5f2 c8a6 c8b7 c8d7 c8e6 c8f5 c8g4 c8h3 d6d5 d8d7 d8e7 d8e8 f6d5 f6d7 f6e4 f6e8 f6g4 f6h5 f6h7 f8e8 g5g4 g8g7 g8h7 g8h8 h6h5


Prompt:
FEN: 1k3r2/ppb2B1R/2p2p2/4p1p1/3P4/P7/1PP2P2/1K6 w - - 0 37
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 b1a1 b1a2 b1c1 b2b3 b2b4 c2c3 c2c4 d4d5 d4e5 f2f3 f2f4 f7a2 f7b3 f7c4 f7d5 f7e6 f7e8 f7g6 f7g8 f7h5 h7g7 h7h1 h7h2 h7h3 h7h4 h7h5 h7h6 h7h8


Prompt:
FEN: r2qk1r1/p1p5/1p1p1p1p/3PnPp1/1P3p2/8/P5PP/RNBQ1R1K b q - 0 15
List the side-to-move pieces and their squares.

Side to move: black.
Pieces: f4 black pawn; e5 black knight; g5 black pawn; b6 black pawn; d6 black pawn; f6 black pawn; h6 black pawn; a7 black pawn; c7 black pawn; a8 black rook; d8 black queen; e8 black king; g8 black rook.


Prompt:
FEN: 6k1/2p2p1p/p1P3p1/P2r4/3P4/2P5/4r1PP/R4K2 w - - 0 29
What legal moves does the piece on a1 have?


Prompt:
FEN: 2Qq3r/p4k1p/3p4/8/8/8/PP4PP/4R2K w - - 3 31
Detect the game state: check, checkmate, stalemate, or none.

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


Prompt:
FEN: R1n5/2k4p/B5p1/2Prpp2/8/4P1PP/5P1K/8 b - - 3 35
List all capture moves available.


Prompt:
Given FEN: r5k1/pp3ppp/4rq2/2p1n3/3pPB1P/P2P2Q1/1PP3P1/2KR3R b - - 3 18
List any special moves available (castling, en passant, promotion).


Prompt:
FEN: 8/5pk1/3P1bp1/p1P4p/1PQ2p2/1B4PP/Pq6/3K4 b - -
Is the move b2c2 legal?


Prompt:
FEN: 5rk1/ppp1R1b1/6p1/2P4p/P2r4/1P3P2/4K3/1R6 b - - 1 29
List pseudo-legal moves from d4.

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

Pseudo-legal moves from d4: d4a4 d4b4 d4c4 d4d1 d4d2 d4d3 d4d5 d4d6 d4d7 d4d8 d4e4 d4f4 d4g4 d4h4


Prompt:
FEN: rn2kb1r/ppp1pppp/5n2/q7/3P4/2N2b1P/PPP2PP1/R1BQKB1R w KQkq -
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: e1d2 e1e2.
Legal: e1d2.
Rejected: e1e2 king_would_be_in_check.


Prompt:
FEN: 8/2b5/8/2kB4/6K1/8/8/8 w - -
For move g4f4, decide whether king safety allows it.

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

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


Prompt:
FEN: 5k2/8/5P2/5K2/8/8/8/8 w - - 33 86
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: f5 white king; f6 white pawn.
Moves by piece:
f5 white king: f5e4 f5e5 f5e6 f5f4 f5g4 f5g5 f5g6
f6 white pawn: f6f7
All legal moves: f5e4 f5e5 f5e6 f5f4 f5g4 f5g5 f5g6 f6f7


Prompt:
FEN: r1bq1rk1/ppppn1pp/3P4/2b1PpN1/2B5/2P5/P1Q2PPP/R1B1K2R b KQ -
Walk each ray for the slider on c5: 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: c5 black bishop.
Ray NE: d6 white pawn: capture (stop, included).
Ray SE: d4 empty; e3 empty; f2 white pawn: capture (stop, included).
Ray SW: b4 empty; a3 empty; edge.
Ray NW: b6 empty; a7 black pawn: own piece (stop, excluded).
Moves from rays: c5a3 c5b4 c5b6 c5d4 c5d6 c5e3 c5f2


Prompt:
FEN: r4rk1/ppp2qpp/3b1n2/8/4P3/1PR3PP/P2NRPK1/4Q3 w - - 1 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: a2a3 a2a4 b3b4 c3c1 c3c2 c3c4 c3c5 c3c6 c3c7 c3d3 c3e3 c3f3 d2b1 d2c4 d2f1 d2f3 e1a1 e1b1 e1c1 e1d1 e1f1 e1g1 e1h1 e2e3 e4e5 f2f3 f2f4 g2f1 g2f3 g2g1 g2h1 g2h2 g3g4 h3h4


Prompt:
FEN: r4rk1/pp1q2bp/2n1b1p1/3ppnP1/8/PBPP1N2/1P3P2/RNBQK2R w KQ - 2 14
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 b1d2 b3a2 b3a4 b3c2 b3c4 b3d5 c1d2 c1e3 c1f4 c3c4 d1c2 d1d2 d1e2 d3d4 e1d2 e1e2 e1f1 e1g1 f3d2 f3d4 f3e5 f3g1 f3h2 f3h4 h1f1 h1g1 h1h2 h1h3 h1h4 h1h5 h1h6 h1h7


Prompt:
FEN: r5k1/6p1/8/3p3p/3R1P2/6P1/NK5P/7R b - - 0 35
List the side-to-move pieces and their squares.

Side to move: black.
Pieces: d5 black pawn; h5 black pawn; g7 black pawn; a8 black rook; g8 black king.


Prompt:
FEN: r6k/pp3P1p/8/2p2nP1/2Pp4/8/PP3q2/3KR3 b - - 5 35
What legal moves does the piece on h8 have?


Prompt:
FEN: r3kbnr/ppp2pp1/1q2p2p/8/4N3/3P1B2/PPPB1PPP/2KRR3 w kq - 0 13
Detect the game state: check, checkmate, stalemate, or none.

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


Prompt:
FEN: rnbqkb1r/pp3ppp/4pn2/2p5/2N5/6P1/PP1PPPBP/RNBQK2R b KQkq -
List all capture moves available.


Prompt:
Given FEN: r2qkbnr/ppp2pp1/2np3p/1B2p3/4P1b1/3P1N2/PPPN1PPP/R1BQ1RK1 b kq -
List any special moves available (castling, en passant, promotion).


Prompt:
FEN: 8/pp2k3/7r/2p1K2b/2P5/1P6/P5R1/8 b - - 11 54
Is the move e7d6 legal?

No, illegal. Reason: king would be in check.


Prompt:
FEN: 6rk/6pp/1Q3b2/1P3P2/P7/5N1P/2p2PK1/4R3 w - - 0 37
List pseudo-legal moves from e1.

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

Pseudo-legal moves from e1: e1a1 e1b1 e1c1 e1d1 e1e2 e1e3 e1e4 e1e5 e1e6 e1e7 e1e8 e1f1 e1g1 e1h1


Prompt:
FEN: r2q1rk1/p3bpp1/2p1bn1p/2pp4/3P1B2/N1P2N2/PP2QPPP/R3R1K1 b - - 1 12
For the piece on c5, 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 c5: c5c4 c5d4.
Legal: c5c4 c5d4.
Rejected: none.


Prompt:
FEN: rnbqk1nr/p1p1bppp/1p1pp3/8/4P3/1P3P2/PBPP2PP/RN1QKBNR w KQkq - 2 5
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: 8/5p1p/4p1p1/3p4/6kP/6R1/2P4K/8 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: g4 black king; d5 black pawn; e6 black pawn; g6 black pawn; f7 black pawn; h7 black pawn.
Moves by piece:
g4 black king: g4f4 g4f5 g4h4 g4h5
d5 black pawn: no legal moves
e6 black pawn: no legal moves
g6 black pawn: no legal moves
f7 black pawn: no legal moves
h7 black pawn: no legal moves
All legal moves: g4f4 g4f5 g4h4 g4h5


Prompt:
FEN: r2rb1k1/1p3ppp/1q2p3/1P2P3/N1pP4/b3PN2/2Q3PP/1R2R1K1 b - - 0 21
Walk each ray for the slider on a3: 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: a3 black bishop.
Ray NE: b4 empty; c5 empty; d6 empty; e7 empty; f8 empty; edge.
Ray SE: b2 empty; c1 empty; edge.
Ray SW: edge.
Ray NW: edge.
Moves from rays: a3b2 a3b4 a3c1 a3c5 a3d6 a3e7 a3f8


Prompt:
FEN: r6r/3nk2p/4p1p1/b1P2p2/1p1P4/3NPP2/P2B2PP/R2R2K1 b - - 3 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: black.
Legal moves: a5b6 a5c7 a5d8 a8a6 a8a7 a8b8 a8c8 a8d8 a8e8 a8f8 a8g8 b4b3 d7b6 d7b8 d7c5 d7e5 d7f6 d7f8 e6e5 e7d8 e7e8 e7f6 e7f7 e7f8 f5f4 g6g5 h7h5 h7h6 h8b8 h8c8 h8d8 h8e8 h8f8 h8g8


Prompt:
FEN: r1bqk2r/pp1pppbp/2N2np1/8/2P1P3/2N5/PP3PPP/R1BQKB1R 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 b7b5 b7b6 b7c6 d7c6 d7d5 d7d6 d8a5 d8b6 d8c7 e7e5 e7e6 e8f8 e8g8 f6d5 f6e4 f6g4 f6g8 f6h5 g6g5 g7f8 g7h6 h7h5 h7h6 h8f8 h8g8


Prompt:
FEN: 5r2/8/8/6K1/3k4/5r2/8/8 b - -
List the side-to-move pieces and their squares.

Side to move: black.
Pieces: f3 black rook; d4 black king; f8 black rook.


Prompt:
FEN: r1bqk1nr/1ppp1ppp/1p4n1/8/4PP2/2P5/PP1N2PP/R2QKBNR w KQkq - 0 9
What legal moves does the piece on e4 have?


Prompt:
FEN: 6k1/1p2bp2/1p3p2/3p3p/3Pp2P/1PP3P1/rP3P2/1R3KN1 b - - 1 24
Detect the game state: check, checkmate, stalemate, or none.

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


Prompt:
FEN: r4rk1/ppp2pp1/1n3n1p/4NP2/2pPP2P/2P5/PP4P1/4RR1K b - - 4 24
List all capture moves available.


Prompt:
Given FEN: rn1qkbnr/ppp2ppp/8/3Np3/3pP1b1/2P2N2/PP1P1PPP/R1BQKB1R b KQkq -
List any special moves available (castling, en passant, promotion).


Prompt:
FEN: 8/6pk/5p2/5P1P/1r3KR1/8/8/8 w - -
Is the move f4e3 legal?


Prompt:
FEN: r4rk1/1pq1npbp/p2p2p1/3Qp3/2P1P1bP/4BN2/P1P2PP1/1R2RBK1 w - -
List pseudo-legal moves from b1.

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

Pseudo-legal moves from b1: b1a1 b1b2 b1b3 b1b4 b1b5 b1b6 b1b7 b1c1 b1d1


Prompt:
FEN: r1b1k2r/ppppqppp/5B2/4n3/1b2P3/2Q2N2/PPPN1PPP/R3KB1R b KQkq - 0 9
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.
Legal: b4a3 b4a5 b4c3 b4c5 b4d6.
Rejected: none.


Prompt:
FEN: 8/1r4kp/Q2p2p1/p1b2p2/1p1pbPn1/8/PP1BP3/K5R1 b - - 7 40
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: rn2kb1r/ppN2ppp/8/8/3p1Pb1/4PN1q/PP5P/R1BQKR2 b Qkq - 1 13
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: h3 black queen; d4 black pawn; g4 black bishop; a7 black pawn; b7 black pawn; f7 black pawn; g7 black pawn; h7 black pawn; a8 black rook; b8 black knight; e8 black king; f8 black bishop; h8 black rook.
Moves by piece:
h3 black queen: no legal moves
d4 black pawn: no legal moves
g4 black bishop: no legal moves
a7 black pawn: no legal moves
b7 black pawn: no legal moves
f7 black pawn: no legal moves
g7 black pawn: no legal moves
h7 black pawn: no legal moves
a8 black rook: no legal moves
b8 black knight: no legal moves
e8 black king: e8d7 e8d8 e8e7
f8 black bishop: no legal moves
h8 black rook: no legal moves
All legal moves: e8d7 e8d8 e8e7


Prompt:
FEN: 8/3kr3/6Q1/2K5/8/8/8/8 b - -
Walk each ray for the slider on e7: 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: e7 black rook.
Ray N: e8 empty; edge.
Ray E: f7 empty; g7 empty; h7 empty; edge.
Ray S: e6 empty; e5 empty; e4 empty; e3 empty; e2 empty; e1 empty; edge.
Ray W: d7 black king: own piece (stop, excluded).
Moves from rays: e7e1 e7e2 e7e3 e7e4 e7e5 e7e6 e7e8 e7f7 e7g7 e7h7


Prompt:
FEN: rn2kbnr/pp2pppp/2p5/3q4/3P4/3Q2N1/PPP2PPP/R1B1K1NR 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 b7b5 b7b6 b8a6 b8d7 c6c5 d5a2 d5a5 d5b3 d5b5 d5c4 d5c5 d5d4 d5d6 d5d7 d5d8 d5e4 d5e5 d5e6 d5f3 d5f5 d5g2 d5g5 d5h5 e7e5 e7e6 e8d7 e8d8 f7f5 f7f6 g7g5 g7g6 g8f6 g8h6 h7h5 h7h6


Prompt:
FEN: 2rqr1k1/p4ppp/b4n2/2ppn3/8/P1P1PPN1/2B3PP/R1BQR1K1 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: a1a2 a1b1 a3a4 c1b2 c1d2 c2a4 c2b1 c2b3 c2d3 c2e4 c2f5 c2g6 c2h7 c3c4 d1d2 d1d3 d1d4 d1d5 d1e2 e1e2 e1f1 e3e4 f3f4 g1f2 g1h1 g3e2 g3e4 g3f1 g3f5 g3h1 g3h5 h2h3 h2h4


Prompt:
FEN: r1bqk2r/ppp1npbp/2np2p1/8/4PB2/3P2N1/PPP1B1PP/RN1Q1RK1 b kq - 0 8
List the side-to-move pieces and their squares.

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


Prompt:
FEN: 1r6/3n4/p2k1pbp/K2P4/2P5/5P2/P6r/3R4 b - - 2 33
What legal moves does the piece on a6 have?


Prompt:
FEN: 2kr3r/ppqb1ppp/2n1pn2/3p4/3P4/1BP2QPP/PP2N1P1/RN2K2R w KQ - 1 14
Detect the game state: check, checkmate, stalemate, or none.

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


Prompt:
FEN: r1b2rk1/pppp1ppp/2N2q2/1Bb5/4Q3/8/PPPP1PPP/RNB2RK1 b - -
List all capture moves available.


Prompt:
Given FEN: r1bqk1nr/ppppbppp/2n5/1B2p3/4P3/5N2/PPPP1PPP/RNBQK2R w KQkq - 4 4
List any special moves available (castling, en passant, promotion).


Prompt:
FEN: 8/8/3B4/p2kP3/1p6/P1P2K1R/1P6/8 w - - 0 45
Is the move f3g2 legal?


Prompt:
FEN: r1bq1rk1/1p1nb2p/p2p4/3P2p1/P4p2/N7/1PPBB1PP/R2Q1R1K b - -
List pseudo-legal moves from f4.

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


Prompt:
FEN: 7R/kpK5/p7/3b4/8/P7/1P6/8 b - -
For the piece on a7, 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 a7: a7a8 a7b6 a7b8.
Legal: none.
Rejected: a7a8 king_would_be_in_check; a7b6 king_would_be_in_check; a7b8 king_would_be_in_check.


Prompt:
FEN: rnb1kbnr/pppp1p1p/4pq2/4P1p1/8/2N2N2/PPPP1PPP/R1BQKB1R 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: yes.
Final: legal; legal.


Prompt:
FEN: 1R1br3/3R4/k7/8/8/1KP5/P7/8 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: a6 black king; d8 black bishop; e8 black rook.
Moves by piece:
a6 black king: a6a5
d8 black bishop: d8a5 d8b6 d8c7 d8e7 d8f6 d8g5 d8h4
e8 black rook: e8e1 e8e2 e8e3 e8e4 e8e5 e8e6 e8e7 e8f8 e8g8 e8h8
All legal moves: a6a5 d8a5 d8b6 d8c7 d8e7 d8f6 d8g5 d8h4 e8e1 e8e2 e8e3 e8e4 e8e5 e8e6 e8e7 e8f8 e8g8 e8h8


Prompt:
FEN: rnbqk2r/pp3ppp/2p1pb2/3pP3/3P4/2N4P/PPP2PP1/R2QKBNR b KQkq - 0 7
Walk each ray for the slider on f6: 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: f6 black bishop.
Ray NE: g7 black pawn: own piece (stop, excluded).
Ray SE: g5 empty; h4 empty; edge.
Ray SW: e5 white pawn: capture (stop, included).
Ray NW: e7 empty; d8 black queen: own piece (stop, excluded).
Moves from rays: f6e5 f6e7 f6g5 f6h4


Prompt:
FEN: 2r3k1/p4pp1/1p2pb2/4q3/8/P7/3R1PPP/5K2 w - - 3 34
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 king; d2 white rook; f2 white pawn; g2 white pawn; h2 white pawn; a3 white pawn.
Filter by piece:
f1 white king: pseudo-legal f1e1 f1e2 f1g1 | rejected f1e1 king_would_be_in_check; f1e2 king_would_be_in_check | legal f1g1
d2 white rook: pseudo-legal d2a2 d2b2 d2c2 d2d1 d2d3 d2d4 d2d5 d2d6 d2d7 d2d8 d2e2 | rejected none | legal d2a2 d2b2 d2c2 d2d1 d2d3 d2d4 d2d5 d2d6 d2d7 d2d8 d2e2
f2 white pawn: pseudo-legal f2f3 f2f4 | rejected none | legal f2f3 f2f4
g2 white pawn: pseudo-legal g2g3 g2g4 | rejected none | legal g2g3 g2g4
h2 white pawn: pseudo-legal h2h3 h2h4 | rejected none | legal h2h3 h2h4
a3 white pawn: pseudo-legal a3a4 | rejected none | legal a3a4
All legal moves: a3a4 d2a2 d2b2 d2c2 d2d1 d2d3 d2d4 d2d5 d2d6 d2d7 d2d8 d2e2 f1g1 f2f3 f2f4 g2g3 g2g4 h2h3 h2h4


Prompt:
FEN: k3b3/8/5Kp1/1p6/P3q2p/8/8/8 w - - 0 61
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 a4b5 f6g5 f6g7


Prompt:
FEN: r1bqkbnr/p1pp1ppp/1pn1p3/8/2BPP3/2P5/PP3PPP/RNBQK1NR b KQkq - 0 4
List the side-to-move pieces and their squares.

Side to move: black.
Pieces: b6 black pawn; c6 black knight; e6 black pawn; a7 black pawn; c7 black pawn; d7 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: rnbq3r/ppp1bkpp/5n2/3p4/2BPP3/8/PPP2PPP/RNBQK2R w KQ -
What legal moves does the piece on g2 have?


Prompt:
FEN: 4k3/5r2/2KQ4/8/8/8/8/8 w - -
Detect the game state: check, checkmate, stalemate, or none.

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


Prompt:
FEN: r2qk2r/pp3ppp/2p5/b1P5/3PnP2/BP1QP3/P5PP/R4RK1 b kq - 0 16
List all capture moves available.


Prompt:
Given FEN: r1bqk1nr/pp1pppbp/2n3p1/1B6/4P3/1N6/PPP2PPP/RNBQK2R b KQkq -
List any special moves available (castling, en passant, promotion).


Prompt:
FEN: r1bqkb1r/pp1p1ppp/2n1pn2/2p5/4P3/5N2/PPPPBPPP/RNBQ1RK1 w kq -
Is the move e4e5 legal?


Prompt:
FEN: r1bq1rk1/pp1n1pbp/3p2p1/6Pn/P2P1p2/1PP4P/4B3/RNBQK1NR b KQ - 1 12
List pseudo-legal moves from f4.

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


Prompt:
FEN: 8/1kp5/8/8/4q2p/7P/6P1/5q1K w - - 0 51
For the piece on h1, split pseudo-legal moves into legal and rejected moves with rejection reasons.

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

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


Prompt:
FEN: 5k2/8/5KQ1/8/8/8/8/8 w - -
For move f6e7, decide whether king safety allows it.

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

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


Prompt:
FEN: 1Q4k1/6pp/p3p3/6P1/2Pr1r1P/3p1BK1/8/8 b - - 1 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: d3 black pawn; d4 black rook; f4 black rook; a6 black pawn; e6 black pawn; g7 black pawn; h7 black pawn; g8 black king.
Moves by piece:
d3 black pawn: no legal moves
d4 black rook: d4d8
f4 black rook: f4f8
a6 black pawn: no legal moves
e6 black pawn: no legal moves
g7 black pawn: no legal moves
h7 black pawn: no legal moves
g8 black king: g8f7
All legal moves: d4d8 f4f8 g8f7


Prompt:
FEN: 8/p4R1p/7k/1p5P/3p2P1/3b4/PPr1r1B1/3R2K1 w - -
Walk each ray for the slider on d1: 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: d1 white rook.
Ray N: d2 empty; d3 black bishop: capture (stop, included).
Ray E: e1 empty; f1 empty; g1 white king: own piece (stop, excluded).
Ray S: edge.
Ray W: c1 empty; b1 empty; a1 empty; edge.
Moves from rays: d1a1 d1b1 d1c1 d1d2 d1d3 d1e1 d1f1


Prompt:
FEN: 8/1k4p1/4N1N1/2K5/8/8/8/8 b - -
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: black.
Pieces: b7 black king; g7 black pawn.
Filter by piece:
b7 black king: pseudo-legal b7a6 b7a7 b7a8 b7b6 b7b8 b7c6 b7c7 b7c8 | rejected b7b6 king_would_be_in_check; b7c6 king_would_be_in_check; b7c7 king_would_be_in_check | legal b7a6 b7a7 b7a8 b7b8 b7c8
g7 black pawn: pseudo-legal none | rejected none | legal none
All legal moves: b7a6 b7a7 b7a8 b7b8 b7c8


Prompt:
FEN: r2qk2r/1p2ppb1/p3b1pp/n2nN3/P1pP1B2/2N2B2/1P3PPP/R2Q1RK1 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: a1a2 a1a3 a1b1 a1c1 b2b3 b2b4 c3a2 c3b1 c3b5 c3d5 c3e2 c3e4 d1b1 d1b3 d1c1 d1c2 d1d2 d1d3 d1e1 d1e2 e5c4 e5c6 e5d3 e5d7 e5f7 e5g4 e5g6 f1e1 f3d5 f3e2 f3e4 f3g4 f3h5 f4c1 f4d2 f4e3 f4g3 f4g5 f4h6 g1h1 g2g3 g2g4 h2h3 h2h4


Prompt:
FEN: r3q1k1/ppp2rp1/2npb3/4p1Bp/4P2P/P1P1NP2/1PPKB3/R5R1 b - - 11 20
List the side-to-move pieces and their squares.

Side to move: black.
Pieces: e5 black pawn; h5 black pawn; c6 black knight; d6 black pawn; e6 black bishop; a7 black pawn; b7 black pawn; c7 black pawn; f7 black rook; g7 black pawn; a8 black rook; e8 black queen; g8 black king.


Prompt:
FEN: rnbqkb1r/pppppppp/8/2nPP3/2P5/4B3/PP3PPP/RN1QKBNR b KQkq - 2 6
What legal moves does the piece on c8 have?


Prompt:
FEN: rn2kb1r/ppp3q1/3p1p2/4Pn2/2P4p/5B2/PP3PPP/RNBQ1RK1 b kq - 0 13
Detect the game state: check, checkmate, stalemate, or none.

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


Prompt:
FEN: 6r1/k2b1p2/Pp1p4/3PpP2/2P1P1pr/1N2b1N1/4KnBP/RR6 b - - 13 36
List all capture moves available.


Prompt:
Given FEN: r4rk1/pp1n4/2q3B1/3pP3/3B1P2/2P5/PPQ4P/6RK b - -
List any special moves available (castling, en passant, promotion).


Prompt:
FEN: 2r5/8/5p2/1P2p3/1K2k2P/6P1/3p4/1R6 w - - 0 64
Is the move b1b2 legal?


Prompt:
FEN: r6Q/1kp2p1p/pb1p4/1p1P4/1P6/1B3N2/1P3PPP/RN4K1 w - - 1 23
List pseudo-legal moves from a1.

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

Pseudo-legal moves from a1: a1a2 a1a3 a1a4 a1a5 a1a6


Prompt:
FEN: 8/p1k5/3r4/4r2p/pK6/1P6/8/8 w - - 0 53
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 b4a4 b4a5 b4b5 b4c3 b4c4 b4c5.
Legal: b4a3 b4a4 b4c3 b4c4.
Rejected: b4a5 king_would_be_in_check; b4b5 king_would_be_in_check; b4c5 king_would_be_in_check.


Prompt:
FEN: r2qk2r/pb1nbppp/1pp1pn2/P2p4/3N4/1P2P1P1/1BPPQPBP/RN2K2R b KQkq - 0 10
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: yes.
Final: legal; legal.


Prompt:
FEN: rnbq1rk1/1pp1ppbp/1n1p2p1/p3P3/P2P4/1B3N1P/1PPN1PP1/R1BQK2R b KQ -
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: a5 black pawn; b6 black knight; d6 black pawn; g6 black pawn; b7 black pawn; c7 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.
Moves by piece:
a5 black pawn: no legal moves
b6 black knight: b6a4 b6c4 b6d5 b6d7
d6 black pawn: d6d5 d6e5
g6 black pawn: g6g5
b7 black pawn: no legal moves
c7 black pawn: c7c5 c7c6
e7 black pawn: e7e6
f7 black pawn: no legal moves
g7 black bishop: g7e5 g7f6 g7h6 g7h8
h7 black pawn: h7h5 h7h6
a8 black rook: a8a6 a8a7
b8 black knight: b8a6 b8c6 b8d7
c8 black bishop: c8d7 c8e6 c8f5 c8g4 c8h3
d8 black queen: d8d7 d8e8
f8 black rook: f8e8
g8 black king: g8h8
All legal moves: a8a6 a8a7 b6a4 b6c4 b6d5 b6d7 b8a6 b8c6 b8d7 c7c5 c7c6 c8d7 c8e6 c8f5 c8g4 c8h3 d6d5 d6e5 d8d7 d8e8 e7e6 f8e8 g6g5 g7e5 g7f6 g7h6 g7h8 g8h8 h7h5 h7h6


Prompt:
FEN: 8/3r3p/R5pk/5p2/4p2P/6P1/4KP2/8 b - -
Walk each ray for the slider on d7: 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: d7 black rook.
Ray N: d8 empty; edge.
Ray E: e7 empty; f7 empty; g7 empty; h7 black pawn: own piece (stop, excluded).
Ray S: d6 empty; d5 empty; d4 empty; d3 empty; d2 empty; d1 empty; edge.
Ray W: c7 empty; b7 empty; a7 empty; edge.
Moves from rays: d7a7 d7b7 d7c7 d7d1 d7d2 d7d3 d7d4 d7d5 d7d6 d7d8 d7e7 d7f7 d7g7


Prompt:
FEN: 6R1/8/8/P1p1n3/2P2k2/2K3p1/8/8 w - - 0 43
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: c3 white king; c4 white pawn; a5 white pawn; g8 white rook.
Filter by piece:
c3 white king: pseudo-legal c3b2 c3b3 c3b4 c3c2 c3d2 c3d3 c3d4 | rejected c3b4 king_would_be_in_check; c3d3 king_would_be_in_check; c3d4 king_would_be_in_check | legal c3b2 c3b3 c3c2 c3d2
c4 white pawn: pseudo-legal none | rejected none | legal none
a5 white pawn: pseudo-legal a5a6 | rejected none | legal a5a6
g8 white rook: pseudo-legal g8a8 g8b8 g8c8 g8d8 g8e8 g8f8 g8g3 g8g4 g8g5 g8g6 g8g7 g8h8 | rejected none | legal g8a8 g8b8 g8c8 g8d8 g8e8 g8f8 g8g3 g8g4 g8g5 g8g6 g8g7 g8h8
All legal moves: a5a6 c3b2 c3b3 c3c2 c3d2 g8a8 g8b8 g8c8 g8d8 g8e8 g8f8 g8g3 g8g4 g8g5 g8g6 g8g7 g8h8


Prompt:
FEN: 5R2/pppkp2p/6p1/4n3/N5P1/1P6/P1r3P1/R5K1 b - - 1 22
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 c2a2 c2b2 c2c1 c2c3 c2c4 c2c5 c2c6 c2d2 c2e2 c2f2 c2g2 c7c5 c7c6 d7c6 d7d6 d7e6 e5c4 e5c6 e5d3 e5f3 e5f7 e5g4 e7e6 g6g5 h7h5 h7h6


Prompt:
FEN: 1k1r3r/1bq2p2/p4p2/3NpP2/7p/1B1Q2P1/PPP4P/1K2R3 b - -
List the side-to-move pieces and their squares.

Side to move: black.
Pieces: h4 black pawn; e5 black pawn; a6 black pawn; f6 black pawn; b7 black bishop; c7 black queen; f7 black pawn; b8 black king; d8 black rook; h8 black rook.


Prompt:
FEN: r2q1rk1/2p2pp1/p1p2n1p/3p1P2/1b4PB/2N4P/PPP2P2/R2Q1RK1 w - - 1 15
What legal moves does the piece on b2 have?


Prompt:
FEN: 4r2k/1p3qpp/8/p1QPr1b1/3Rp3/1P3P2/1P3P1P/3R2NK b - -
Detect the game state: check, checkmate, stalemate, or none.

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


Prompt:
FEN: rn3rk1/1b3ppp/p3pn2/1pb5/8/2N1PN2/PP3PPP/R1BBK2R b KQ - 3 12
List all capture moves available.


Prompt:
Given FEN: 2R2rk1/1p1b1ppp/p3p3/3pP2B/1b1P4/1P2P1P1/1P1N3P/5RK1 b - - 0 20
List any special moves available (castling, en passant, promotion).


Prompt:
FEN: 1r6/p3k1pp/3p4/bP2pb1n/P1Pp1pP1/B2P1P2/2RNP2P/4R1K1 b - - 0 23
Is the move b8a8 legal?


Prompt:
FEN: r1b1kb1r/1p1n1p1p/2p1p1p1/3p4/qp1P4/N1PBP3/PB1Q1PPP/R3K2R w KQkq - 0 13
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


Prompt:
FEN: r4rk1/p3Rppp/3P1n2/1pp5/2Bp4/3P2Pb/PPPN1P1P/4R1K1 w - - 0 19
For the piece on g1, 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 g1: g1f1 g1g2 g1h1.
Legal: g1h1.
Rejected: g1f1 king_would_be_in_check; g1g2 king_would_be_in_check.


Prompt:
FEN: r3kb1r/pp1npppp/2p5/8/P3P1b1/3P1N2/1PP3PP/R1B1KB1R w KQkq -
For move a1a2, decide whether king safety allows it.

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

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


Prompt:
FEN: r3k2r/pppbq1pp/2np1p1n/4p3/1b3P2/2NPP1P1/PPPBQ1BP/2KR2NR b kq - 6 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: b4 black bishop; e5 black pawn; c6 black knight; d6 black pawn; f6 black pawn; h6 black knight; a7 black pawn; b7 black pawn; c7 black pawn; d7 black bishop; e7 black queen; g7 black pawn; h7 black pawn; a8 black rook; e8 black king; h8 black rook.
Moves by piece:
b4 black bishop: b4a3 b4a5 b4c3 b4c5
e5 black pawn: e5e4 e5f4
c6 black knight: c6a5 c6b8 c6d4 c6d8
d6 black pawn: d6d5
f6 black pawn: f6f5
h6 black knight: h6f5 h6f7 h6g4 h6g8
a7 black pawn: a7a5 a7a6
b7 black pawn: b7b5 b7b6
c7 black pawn: no legal moves
d7 black bishop: d7c8 d7e6 d7f5 d7g4 d7h3
e7 black queen: e7d8 e7e6 e7f7 e7f8
g7 black pawn: g7g5 g7g6
h7 black pawn: no legal moves
a8 black rook: a8b8 a8c8 a8d8
e8 black king: e8c8 e8d8 e8f7 e8f8 e8g8
h8 black rook: h8f8 h8g8
All legal moves: a7a5 a7a6 a8b8 a8c8 a8d8 b4a3 b4a5 b4c3 b4c5 b7b5 b7b6 c6a5 c6b8 c6d4 c6d8 d6d5 d7c8 d7e6 d7f5 d7g4 d7h3 e5e4 e5f4 e7d8 e7e6 e7f7 e7f8 e8c8 e8d8 e8f7 e8f8 e8g8 f6f5 g7g5 g7g6 h6f5 h6f7 h6g4 h6g8 h8f8 h8g8


Prompt:
FEN: r1bq1rk1/p2nb1pp/2n1p3/1p1pP3/2pP4/2N1BN2/PPPQ2PP/2KR1B1R w - -
Walk each ray for the slider on d1: 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: d1 white rook.
Ray N: d2 white queen: own piece (stop, excluded).
Ray E: e1 empty; f1 white bishop: own piece (stop, excluded).
Ray S: edge.
Ray W: c1 white king: own piece (stop, excluded).
Moves from rays: d1e1


Prompt:
FEN: rnbqkbnr/pp1p1ppp/3Pp3/2p5/8/8/PPP1PPPP/RNBQKBNR b KQkq - 0 3
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 b8c6 c5c4 d8a5 d8b6 d8c7 d8e7 d8f6 d8g5 d8h4 e6e5 f7f5 f7f6 f8d6 f8e7 g7g5 g7g6 g8e7 g8f6 g8h6 h7h5 h7h6


Prompt:
FEN: r1bqkb1r/pp1np1p1/2p1pn1p/7Q/3P4/3B4/PPP2PPP/R1B1K1NR 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: f6h5 g7g6


Prompt:
FEN: 8/8/3k1p2/3pp1p1/3Pn1P1/4R2P/r3N3/5K2 b - -
List the side-to-move pieces and their squares.

Side to move: black.
Pieces: a2 black rook; e4 black knight; d5 black pawn; e5 black pawn; g5 black pawn; d6 black king; f6 black pawn.


Prompt:
FEN: 3rk2r/5ppp/1q2pn2/1pb5/2p5/2N2QP1/1P2PP1P/R1B2RK1 w k -
What legal moves does the piece on f3 have?

f3a8 f3b7 f3c6 f3d3 f3d5 f3e3 f3e4 f3f4 f3f5 f3f6 f3g2 f3g4 f3h1 f3h5


Prompt:
FEN: r2r2k1/p4ppp/2p2b2/2Pp1Q2/q7/7P/3B1PP1/2R1R1K1 b - - 6 24
Detect the game state: check, checkmate, stalemate, or none.

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


Prompt:
FEN: r2qkb1r/pp2np1p/2n1b1p1/3N4/2B5/5N2/PP3PPP/R1BQ1RK1 w kq -
List all capture moves available.


Prompt:
Given FEN: 4k3/1p6/1P4R1/1r6/7P/6P1/5PK1/8 b - - 0 54
List any special moves available (castling, en passant, promotion).


Prompt:
FEN: 3Q4/8/8/2B5/2K1Q3/8/8/2k5 w - - 5 65
Is the move c5d8 legal?

No, illegal. Reason: own piece destination.


Prompt:
FEN: r3kb1r/pb1n1ppp/1qp1pn2/1p4N1/P1pP4/2N3P1/1P2PPBP/R1BQ1RK1 w kq -
List pseudo-legal moves from a1.

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

Pseudo-legal moves from a1: a1a2 a1a3 a1b1


Prompt:
FEN: rn1qr1k1/pp3ppp/2p2n2/8/1b3P2/1NN3Q1/PPPP2PP/R1BK3R b - - 2 13
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: r2qkb1r/ppp2pp1/3pB2p/4P2n/3n1B2/2N2N2/PP3PPP/R3K2R b KQkq - 0 11
For move e8d7, decide whether king safety allows it.

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

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


Prompt:
FEN: r3kbnr/p1pq1pp1/np2p3/3pP2p/3P3P/2N2N1Q/PPP2PP1/R1B1K2R 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; e1 white king; h1 white rook; a2 white pawn; b2 white pawn; c2 white pawn; f2 white pawn; g2 white pawn; c3 white knight; f3 white knight; h3 white queen; d4 white pawn; h4 white pawn; e5 white pawn.
Moves by piece:
a1 white rook: a1b1
c1 white bishop: c1d2 c1e3 c1f4 c1g5 c1h6
e1 white king: e1d1 e1d2 e1e2 e1f1 e1g1
h1 white rook: h1f1 h1g1 h1h2
a2 white pawn: a2a3 a2a4
b2 white pawn: b2b3 b2b4
c2 white pawn: no legal moves
f2 white pawn: no legal moves
g2 white pawn: g2g3 g2g4
c3 white knight: c3a4 c3b1 c3b5 c3d1 c3d5 c3e2 c3e4
f3 white knight: f3d2 f3g1 f3g5 f3h2
h3 white queen: h3e6 h3f5 h3g3 h3g4 h3h2
d4 white pawn: no legal moves
h4 white pawn: no legal moves
e5 white pawn: no legal moves
All legal moves: a1b1 a2a3 a2a4 b2b3 b2b4 c1d2 c1e3 c1f4 c1g5 c1h6 c3a4 c3b1 c3b5 c3d1 c3d5 c3e2 c3e4 e1d1 e1d2 e1e2 e1f1 e1g1 f3d2 f3g1 f3g5 f3h2 g2g3 g2g4 h1f1 h1g1 h1h2 h3e6 h3f5 h3g3 h3g4 h3h2


Prompt:
FEN: r1b2rk1/pp2b2p/2q1p1p1/2p2p2/2P1PPPn/2P3N1/P1P1Q3/R1BR1K2 w - - 0 21
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: 1Q1R4/p4p1k/4rPp1/6Pp/4p3/4P1KP/8/1q6 b - - 3 38
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: black.
Pieces: b1 black queen; e4 black pawn; h5 black pawn; e6 black rook; g6 black pawn; a7 black pawn; f7 black pawn; h7 black king.
Filter by piece:
b1 black queen: pseudo-legal b1a1 b1a2 b1b2 b1b3 b1b4 b1b5 b1b6 b1b7 b1b8 b1c1 b1c2 b1d1 b1d3 b1e1 b1f1 b1g1 b1h1 | rejected none | legal b1a1 b1a2 b1b2 b1b3 b1b4 b1b5 b1b6 b1b7 b1b8 b1c1 b1c2 b1d1 b1d3 b1e1 b1f1 b1g1 b1h1
e4 black pawn: pseudo-legal none | rejected none | legal none
h5 black pawn: pseudo-legal h5h4 | rejected none | legal h5h4
e6 black rook: pseudo-legal e6a6 e6b6 e6c6 e6d6 e6e5 e6e7 e6e8 e6f6 | rejected none | legal e6a6 e6b6 e6c6 e6d6 e6e5 e6e7 e6e8 e6f6
g6 black pawn: pseudo-legal none | rejected none | legal none
a7 black pawn: pseudo-legal a7a5 a7a6 | rejected none | legal a7a5 a7a6
f7 black pawn: pseudo-legal none | rejected none | legal none
h7 black king: pseudo-legal h7g7 h7g8 h7h6 h7h8 | rejected h7g7 king_would_be_in_check; h7g8 king_would_be_in_check; h7h6 king_would_be_in_check; h7h8 king_would_be_in_check | legal none
All legal moves: a7a5 a7a6 b1a1 b1a2 b1b2 b1b3 b1b4 b1b5 b1b6 b1b7 b1b8 b1c1 b1c2 b1d1 b1d3 b1e1 b1f1 b1g1 b1h1 e6a6 e6b6 e6c6 e6d6 e6e5 e6e7 e6e8 e6f6 h5h4


Prompt:
FEN: r2qr1k1/1b3pbp/2p1p1p1/2BpP3/1P3P2/4P1P1/2Q3BP/R4RK1 b - - 0 25
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: a8a1 a8a2 a8a3 a8a4 a8a5 a8a6 a8a7 a8b8 a8c8 b7a6 b7c8 d5d4 d8a5 d8b6 d8b8 d8c7 d8c8 d8d6 d8d7 d8e7 d8f6 d8g5 d8h4 e8e7 e8f8 f7f5 f7f6 g6g5 g7e5 g7f6 g7f8 g7h6 g7h8 g8h8 h7h5 h7h6


Prompt:
FEN: 8/8/8/5k2/2Q2p2/4b3/4K3/8 w - -
List the side-to-move pieces and their squares.

Side to move: white.
Pieces: e2 white king; c4 white queen.


Prompt:
FEN: 8/3k4/8/3KP3/8/8/8/B7 b - -
What legal moves does the piece on d7 have?


Prompt:
FEN: r2r3k/7p/3b1p2/p3p2b/n1B1P3/6P1/3N1PKP/B1R5 b - - 1 37
Detect the game state: check, checkmate, stalemate, or none.

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


Prompt:
FEN: 8/5K2/2k4r/4P3/3R4/8/8/8 b - -
List all capture moves available.


Prompt:
Given FEN: b7/p5r1/1p6/2k1pB2/P7/2N5/1P4PP/3R2K1 w - - 4 32
List any special moves available (castling, en passant, promotion).


Prompt:
FEN: 8/pp1k4/2q2bQ1/8/7P/5R1P/PP3PK1/8 b - -
Is the move f6e7 legal?


Prompt:
FEN: N2k1b1r/pQ3ppp/8/3pp3/4nqbK/5N2/P5PP/R4B1R b - -
List pseudo-legal moves from e4.

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

Pseudo-legal moves from e4: e4c3 e4c5 e4d2 e4d6 e4f2 e4f6 e4g3 e4g5


Prompt:
FEN: 2kr3r/1ppq1ppp/pb1pb1n1/6N1/1P2PpP1/N1PP1P1P/P3Q1B1/R3K2R w KQ - 2 16
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: e1c1 e1d1 e1d2 e1f1 e1f2.
Legal: e1c1 e1d1 e1d2 e1f1.
Rejected: e1f2 king_would_be_in_check.


Prompt:
FEN: rnbq1rk1/pp2ppbp/3p1np1/2P5/4P3/2N2N2/PPP1BPPP/R1BQ1RK1 b - - 0 7
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/6p1/p5Pp/P1p4P/2p5/2Pk4/PK6/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: a2 white pawn; b2 white king; c3 white pawn; a5 white pawn; h5 white pawn; g6 white pawn.
Moves by piece:
a2 white pawn: a2a3 a2a4
b2 white king: b2a1 b2a3 b2b1 b2c1
c3 white pawn: no legal moves
a5 white pawn: no legal moves
h5 white pawn: no legal moves
g6 white pawn: no legal moves
All legal moves: a2a3 a2a4 b2a1 b2a3 b2b1 b2c1


Prompt:
FEN: 1k6/3B1N2/1K6/8/8/8/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>".


Prompt:
FEN: r2q1rk1/1p1nbpp1/2p1pn1p/p2p1b2/2PP4/1P3NPP/PB1NPPB1/R2QR1K1 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: a5a4 a8a6 a8a7 a8b8 a8c8 b7b5 b7b6 c6c5 d5c4 d7b6 d7b8 d7c5 d7e5 d8b6 d8b8 d8c7 d8c8 d8e8 e6e5 e7a3 e7b4 e7c5 e7d6 f5b1 f5c2 f5d3 f5e4 f5g4 f5g6 f5h3 f5h7 f6e4 f6e8 f6g4 f6h5 f6h7 f8e8 g7g5 g7g6 g8h7 g8h8 h6h5


Prompt:
FEN: 5nk1/q1rr1pbp/p3p1p1/1p1pP3/3P3B/2P5/PP1Q1RPP/4NRK1 w - - 0 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: a2a3 a2a4 b2b3 b2b4 c3c4 d2c1 d2c2 d2d1 d2d3 d2e2 d2e3 d2f4 d2g5 d2h6 e1c2 e1d3 e1f3 f2e2 f2f3 f2f4 f2f5 f2f6 f2f7 g1h1 g2g3 g2g4 h2h3 h4d8 h4e7 h4f6 h4g3 h4g5


Prompt:
FEN: 4r1k1/1p2nppp/1pn1P3/5P1q/P1B1Q3/2P4P/1P4P1/5K2 b - - 0 27
List the side-to-move pieces and their squares.

Side to move: black.
Pieces: h5 black queen; b6 black pawn; c6 black knight; b7 black pawn; e7 black knight; f7 black pawn; g7 black pawn; h7 black pawn; e8 black rook; g8 black king.


Prompt:
FEN: 8/6p1/7p/2K5/5k2/7P/8/8 b - - 3 54
What legal moves does the piece on f4 have?


Prompt:
FEN: r5k1/p2pn3/1p2pp1Q/6p1/2q5/6BP/P4PP1/4RK2 w - -
Detect the game state: check, checkmate, stalemate, or none.


Prompt:
FEN: 3r4/pp4k1/2p1r3/5pp1/8/2P4P/P1P2PP1/R4RK1 b - - 0 20
List all capture moves available.


Prompt:
Given FEN: r1bq1rk1/1pp2pp1/2np4/p5B1/2B1P1n1/P1P2N2/5PPP/R1Q1K2R b KQ - 2 14
List any special moves available (castling, en passant, promotion).


Prompt:
FEN: 8/5p2/6kp/5Qp1/6P1/2p3KP/1q6/8 b - -
Is the move f7c3 legal?

No, illegal. Reason: own piece destination.


Prompt:
FEN: 3r4/8/8/5k2/2PK4/8/4R3/8 w - -
List pseudo-legal moves from e2.

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

Pseudo-legal moves from e2: e2a2 e2b2 e2c2 e2d2 e2e1 e2e3 e2e4 e2e5 e2e6 e2e7 e2e8 e2f2 e2g2 e2h2


Prompt:
FEN: r3r1k1/pp3p2/2pBpP1p/q1PpP1pn/3P4/P1P5/3QnP1P/R4RK1 w - - 0 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 a1b1 a1c1 a1d1 a1e1.
Legal: none.
Rejected: a1a2 does_not_resolve_check; a1b1 does_not_resolve_check; a1c1 does_not_resolve_check; a1d1 does_not_resolve_check; a1e1 does_not_resolve_check.


Prompt:
FEN: 2r2rk1/1p4p1/p4p1p/7R/4pP1B/8/PPn1PN2/2K1R3 w - - 0 23
For move c1c2, decide whether king safety allows it.

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

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


Prompt:
FEN: 1rb1k3/7Q/p1p1pp2/2p5/7P/1P1P1N2/P1P2P2/2K3R1 w - - 2 27
Group all legal moves by side-to-move piece.

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

Side to move: white.
Pieces: c1 white king; g1 white rook; a2 white pawn; c2 white pawn; f2 white pawn; b3 white pawn; d3 white pawn; f3 white knight; h4 white pawn; h7 white queen.
Moves by piece:
c1 white king: c1b1 c1b2 c1d1 c1d2
g1 white rook: g1d1 g1e1 g1f1 g1g2 g1g3 g1g4 g1g5 g1g6 g1g7 g1g8 g1h1
a2 white pawn: a2a3 a2a4
c2 white pawn: c2c3 c2c4
f2 white pawn: no legal moves
b3 white pawn: b3b4
d3 white pawn: d3d4
f3 white knight: f3d2 f3d4 f3e1 f3e5 f3g5 f3h2
h4 white pawn: h4h5
h7 white queen: h7a7 h7b7 h7c7 h7d7 h7e4 h7e7 h7f5 h7f7 h7g6 h7g7 h7g8 h7h5 h7h6 h7h8
All legal moves: a2a3 a2a4 b3b4 c1b1 c1b2 c1d1 c1d2 c2c3 c2c4 d3d4 f3d2 f3d4 f3e1 f3e5 f3g5 f3h2 g1d1 g1e1 g1f1 g1g2 g1g3 g1g4 g1g5 g1g6 g1g7 g1g8 g1h1 h4h5 h7a7 h7b7 h7c7 h7d7 h7e4 h7e7 h7f5 h7f7 h7g6 h7g7 h7g8 h7h5 h7h6 h7h8


Prompt:
FEN: 4r3/P7/2p3p1/8/3P1k2/4p3/6KP/5R2 b - - 1 50
Walk each ray for the slider on e8: 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: e8 black rook.
Ray N: edge.
Ray E: f8 empty; g8 empty; h8 empty; edge.
Ray S: e7 empty; e6 empty; e5 empty; e4 empty; e3 black pawn: own piece (stop, excluded).
Ray W: d8 empty; c8 empty; b8 empty; a8 empty; edge.
Moves from rays: e8a8 e8b8 e8c8 e8d8 e8e4 e8e5 e8e6 e8e7 e8f8 e8g8 e8h8