Prompt:
FEN: 1k1r3r/1p3pp1/3ppb2/1qn2P1P/3NP1Q1/pPP5/P1B5/1K1R3R 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: b5a4 b5a5 b5a6 b5b3 b5b4 b5b6 b5c4 b5c6 b5d3 b5d7 b5e2 b5e8 b5f1 b7b6 b8a7 b8a8 b8c7 b8c8 c5a4 c5a6 c5b3 c5d3 c5d7 c5e4 d6d5 d8c8 d8d7 d8e8 d8f8 d8g8 e6e5 e6f5 f6d4 f6e5 f6e7 f6g5 f6h4 g7g5 g7g6 h8e8 h8f8 h8g8 h8h5 h8h6 h8h7


Prompt:
FEN: 1Rb1q1kr/5p2/3Q4/3p4/2pb4/p7/P1B2PP1/5NK1 w - -
List the side-to-move pieces and their squares.

Side to move: white.
Pieces: f1 white knight; g1 white king; a2 white pawn; c2 white bishop; f2 white pawn; g2 white pawn; d6 white queen; b8 white rook.


Prompt:
FEN: r1q2rk1/2p1pp1p/b5p1/p2Pb1Nn/P7/1PB5/5PPP/R2Q2K1 w - - 0 21
What legal moves does the piece on g5 have?


Prompt:
FEN: rnbq1rk1/pp3ppp/2p1pn2/3p4/1bPP4/1P2PN2/P1QN1PPP/R1B1KB1R b KQ -
Detect the game state: check, checkmate, stalemate, or none.

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


Prompt:
FEN: 4r1k1/4qpp1/rp5p/p1pRp3/P1P5/1PQ4P/2P3P1/5RK1 b - - 2 34
List all capture moves available.


Prompt:
Given FEN: r1bqkb1r/p6p/2n1pp2/1p1p3P/2pP3p/1PP1PN2/P1QN1P1P/R3KB1R b KQkq -
List any special moves available (castling, en passant, promotion).


Prompt:
FEN: 8/2r2pkp/pp2p1p1/1B2P3/2P5/6P1/3R1PKP/r7 w - - 0 31
Is the move f2f4 legal?


Prompt:
FEN: rn3rk1/pp3pp1/3qp2p/3n4/2N5/8/PP1N1PPP/R2Q1RK1 b - - 5 15
List pseudo-legal moves from d5.

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

Pseudo-legal moves from d5: d5b4 d5b6 d5c3 d5c7 d5e3 d5e7 d5f4 d5f6


Prompt:
FEN: 1r4k1/6p1/7p/rN2p3/4P3/2NP1P2/PPPK2PP/1R5R b - - 8 27
For the piece on a5, split pseudo-legal moves into legal and rejected moves with rejection reasons.

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

Pseudo-legal from a5: a5a2 a5a3 a5a4 a5a6 a5a7 a5a8 a5b5.
Legal: a5a2 a5a3 a5a4 a5a6 a5a7 a5a8 a5b5.
Rejected: none.


Prompt:
FEN: r1bq1rk1/pp1nbppp/2n1p3/3pP3/3P4/1P3N2/PB2BPPP/RN1QK2R w KQ -
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: 1r1q1rk1/Q4ppp/8/4p1b1/Nn1p2nP/1B1P1P2/PPP1K1P1/R6R w - - 0 16
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; h1 white rook; a2 white pawn; b2 white pawn; c2 white pawn; e2 white king; g2 white pawn; b3 white bishop; d3 white pawn; f3 white pawn; a4 white knight; h4 white pawn; a7 white queen.
Moves by piece:
a1 white rook: a1b1 a1c1 a1d1 a1e1 a1f1 a1g1
h1 white rook: h1b1 h1c1 h1d1 h1e1 h1f1 h1g1 h1h2 h1h3
a2 white pawn: a2a3
b2 white pawn: no legal moves
c2 white pawn: c2c3 c2c4
e2 white king: e2d1 e2e1 e2f1
g2 white pawn: g2g3
b3 white bishop: b3c4 b3d5 b3e6 b3f7
d3 white pawn: no legal moves
f3 white pawn: f3f4 f3g4
a4 white knight: a4b6 a4c3 a4c5
h4 white pawn: h4g5 h4h5
a7 white queen: a7a5 a7a6 a7a8 a7b6 a7b7 a7b8 a7c5 a7c7 a7d4 a7d7 a7e7 a7f7
All legal moves: a1b1 a1c1 a1d1 a1e1 a1f1 a1g1 a2a3 a4b6 a4c3 a4c5 a7a5 a7a6 a7a8 a7b6 a7b7 a7b8 a7c5 a7c7 a7d4 a7d7 a7e7 a7f7 b3c4 b3d5 b3e6 b3f7 c2c3 c2c4 e2d1 e2e1 e2f1 f3f4 f3g4 g2g3 h1b1 h1c1 h1d1 h1e1 h1f1 h1g1 h1h2 h1h3 h4g5 h4h5


Prompt:
FEN: r2r2k1/6p1/1R1p3p/p1pP2P1/P1P2p2/2q1pP1P/4Q3/5NK1 w - - 0 27
Walk each ray for the slider on e2: list every square until a blocker, capture, or the board edge, then list the resulting moves.

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

Piece: e2 white queen.
Ray N: e3 black pawn: capture (stop, included).
Ray NE: f3 white pawn: own piece (stop, excluded).
Ray E: f2 empty; g2 empty; h2 empty; edge.
Ray SE: f1 white knight: own piece (stop, excluded).
Ray S: e1 empty; edge.
Ray SW: d1 empty; edge.
Ray W: d2 empty; c2 empty; b2 empty; a2 empty; edge.
Ray NW: d3 empty; c4 white pawn: own piece (stop, excluded).
Moves from rays: e2a2 e2b2 e2c2 e2d1 e2d2 e2d3 e2e1 e2e3 e2f2 e2g2 e2h2


Prompt:
FEN: 1r4k1/3b1pb1/p5p1/3P2N1/5Ppq/4B1N1/3Q2PP/2R3K1 b - -
List all legal moves.

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

Side to move: black.
Legal moves: a6a5 b8a8 b8b1 b8b2 b8b3 b8b4 b8b5 b8b6 b8b7 b8c8 b8d8 b8e8 b8f8 d7a4 d7b5 d7c6 d7c8 d7e6 d7e8 d7f5 f7f5 f7f6 g7a1 g7b2 g7c3 g7d4 g7e5 g7f6 g7f8 g7h6 g7h8 g8f8 g8h8 h4g3 h4g5 h4h2 h4h3 h4h5 h4h6 h4h7 h4h8


Prompt:
FEN: r1bk3r/ppp2ppp/1bp5/8/3Np3/2PB4/PP4PP/RNB1K1R1 b Q -
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 b6a5 b6c5 b6d4 c6c5 c8d7 c8e6 c8f5 c8g4 c8h3 d8d7 d8e7 d8e8 e4d3 e4e3 f7f5 f7f6 g7g5 g7g6 h7h5 h7h6 h8e8 h8f8 h8g8


Prompt:
FEN: r2qr1k1/pb3pp1/7p/2ppb2N/5Q2/2PB4/PP3PPP/R4RK1 w - -
List the side-to-move pieces and their squares.

Side to move: white.
Pieces: a1 white rook; f1 white rook; g1 white king; a2 white pawn; b2 white pawn; f2 white pawn; g2 white pawn; h2 white pawn; c3 white pawn; d3 white bishop; f4 white queen; h5 white knight.


Prompt:
FEN: R7/2q2k2/8/8/p6P/5P2/P5PK/8 w - - 6 42
What legal moves does the piece on h2 have?


Prompt:
FEN: rn1q1rk1/pbp2ppp/1p1b1n2/3p4/3P4/P1NBPN2/1P3PPP/R1BQ1RK1 w - -
Detect the game state: check, checkmate, stalemate, or none.

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


Prompt:
FEN: r2qr1k1/3n1pbp/p2p1np1/2pPp3/2B1P3/1P3N2/PBQ2PPP/R4RK1 w - e6 0 15
List all capture moves available.


Prompt:
Given FEN: 1k6/p2K4/P1N5/8/6p1/8/8/8 b - -
List any special moves available (castling, en passant, promotion).


Prompt:
FEN: R7/5kp1/2r2p1p/4p3/4P3/7P/2p2PP1/5K2 w - - 4 37
Is the move a8d8 legal?


Prompt:
FEN: 8/8/6p1/3k1p1p/KP3P1P/6P1/8/8 w - - 1 48
List pseudo-legal moves from g3.

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


Prompt:
FEN: 2r1r1k1/1b1nbpp1/pp2pn1p/8/2q5/P1P1PPPP/RB1QK1BR/1N4N1 w - - 0 19
For the piece on a2, 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 a2: a2a1.
Legal: none.
Rejected: a2a1 does_not_resolve_check.


Prompt:
FEN: 8/8/8/2K5/5p2/8/3k4/4R3 w - -
For move c5b4, decide whether king safety allows it.

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

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


Prompt:
FEN: 8/8/p1p5/4k1p1/PP3pP1/4pK2/2Rr4/8 w - - 3 40
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: c2 white rook; f3 white king; a4 white pawn; b4 white pawn; g4 white pawn.
Moves by piece:
c2 white rook: c2a2 c2b2 c2c1 c2c3 c2c4 c2c5 c2c6 c2d2
f3 white king: no legal moves
a4 white pawn: a4a5
b4 white pawn: b4b5
g4 white pawn: no legal moves
All legal moves: a4a5 b4b5 c2a2 c2b2 c2c1 c2c3 c2c4 c2c5 c2c6 c2d2


Prompt:
FEN: r1b1q1k1/pp4p1/1bp1p2p/2n1Bp2/2PN4/1PQ3P1/P3PPBP/R5K1 b - - 6 22
Walk each ray for the slider on b6: 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: b6 black bishop.
Ray NE: c7 empty; d8 empty; edge.
Ray SE: c5 black knight: own piece (stop, excluded).
Ray SW: a5 empty; edge.
Ray NW: a7 black pawn: own piece (stop, excluded).
Moves from rays: b6a5 b6c7 b6d8


Prompt:
FEN: rnbqkb1r/1pp2ppp/p3pn2/8/2BP4/4PN2/PP3PPP/RNBQK2R b KQkq -
List all legal moves.

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

Side to move: black.
Legal moves: a6a5 a8a7 b7b5 b7b6 b8c6 b8d7 c7c5 c7c6 c8d7 d8d4 d8d5 d8d6 d8d7 d8e7 e6e5 e8d7 e8e7 f6d5 f6d7 f6e4 f6g4 f6g8 f6h5 f8a3 f8b4 f8c5 f8d6 f8e7 g7g5 g7g6 h7h5 h7h6 h8g8


Prompt:
FEN: rn6/3b4/p1p1p3/1p2k3/8/1PP1Q3/P2K4/b4R2 b - - 6 26
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: e5d5 e5d6


Prompt:
FEN: 8/5p2/6k1/6p1/4Q3/7P/7K/8 b - -
List the side-to-move pieces and their squares.

Side to move: black.
Pieces: g5 black pawn; g6 black king; f7 black pawn.


Prompt:
FEN: r1b2kn1/p1p4r/1pN4p/3P1p2/2P4B/5RP1/P1P4P/4R1K1 b - - 1 25
What legal moves does the piece on b6 have?


Prompt:
FEN: 3b4/5p2/4p3/3p1k1p/3P1Pp1/2PK2P1/6RP/6Br w - - 4 43
Detect the game state: check, checkmate, stalemate, or none.

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


Prompt:
FEN: 1r2k2r/p1qb1ppp/3b1n2/3p4/8/2N1PB2/PP3PPP/R1BQK2R w KQk -
List all capture moves available.


Prompt:
Given FEN: r1bqkb1r/pp3ppp/2n1pn2/1Bpp4/4P3/2PP3N/PP3PPP/RNBQK2R b KQkq - 1 8
List any special moves available (castling, en passant, promotion).


Prompt:
FEN: rn1qk2r/p1pbbpp1/1p5p/1BPp4/Q2P1B2/2P2N2/P4PPP/R4RK1 w kq -
Is the move c3g2 legal?

No, illegal. Reason: own piece destination.


Prompt:
FEN: 3r4/p3k2p/6p1/3B4/8/P2P4/2PN1PPP/b5K1 w - - 2 23
List pseudo-legal moves from g1.

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


Prompt:
FEN: r1bqk1nr/pp3pbp/2npp1p1/2p3N1/2B1P3/2NP4/PPP2PPP/R1BQK2R w KQkq -
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.
Legal: a1b1.
Rejected: none.


Prompt:
FEN: 8/6p1/1R2P3/8/5Pkp/1P4P1/r6P/3R1BK1 w - - 0 35
For move g1f2, decide whether king safety allows it.

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

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


Prompt:
FEN: 1nk3nr/1pprq3/p3p2b/2N1Pp1p/P1BB1Pp1/2P3P1/1P2Q2P/R3R1K1 b - - 1 23
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 pawn; f5 black pawn; h5 black pawn; a6 black pawn; e6 black pawn; h6 black bishop; b7 black pawn; c7 black pawn; d7 black rook; e7 black queen; b8 black knight; c8 black king; g8 black knight; h8 black rook.
Moves by piece:
g4 black pawn: no legal moves
f5 black pawn: no legal moves
h5 black pawn: h5h4
a6 black pawn: a6a5
e6 black pawn: no legal moves
h6 black bishop: h6f4 h6f8 h6g5 h6g7
b7 black pawn: b7b5 b7b6
c7 black pawn: c7c6
d7 black rook: d7d4 d7d5 d7d6 d7d8
e7 black queen: e7c5 e7d6 e7d8 e7e8 e7f6 e7f7 e7f8 e7g5 e7g7 e7h4 e7h7
b8 black knight: b8c6
c8 black king: c8d8
g8 black knight: g8f6
h8 black rook: h8h7
All legal moves: a6a5 b7b5 b7b6 b8c6 c7c6 c8d8 d7d4 d7d5 d7d6 d7d8 e7c5 e7d6 e7d8 e7e8 e7f6 e7f7 e7f8 e7g5 e7g7 e7h4 e7h7 g8f6 h5h4 h6f4 h6f8 h6g5 h6g7 h8h7


Prompt:
FEN: 3b4/8/1BK5/1P6/8/3k4/8/8 b - -
Walk each ray for the slider on d8: 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: d8 black bishop.
Ray NE: edge.
Ray SE: e7 empty; f6 empty; g5 empty; h4 empty; edge.
Ray SW: c7 empty; b6 white bishop: capture (stop, included).
Ray NW: edge.
Moves from rays: d8b6 d8c7 d8e7 d8f6 d8g5 d8h4


Prompt:
FEN: r1bq1rk1/1pp2ppp/p1nbpn2/8/1PBP4/P3PN2/1B3PPP/RN1QK2R w KQ - 3 9
List all legal moves.

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

Side to move: white.
Legal moves: a1a2 a3a4 b1c3 b1d2 b2c1 b2c3 b4b5 c4a2 c4a6 c4b3 c4b5 c4d3 c4d5 c4e2 c4e6 c4f1 d1a4 d1b3 d1c1 d1c2 d1d2 d1d3 d1e2 d4d5 e1d2 e1e2 e1f1 e1g1 e3e4 f3d2 f3e5 f3g1 f3g5 f3h4 g2g3 g2g4 h1f1 h1g1 h2h3 h2h4


Prompt:
FEN: r2q1rk1/1b2bp1p/p3p3/1p3p2/3P4/2P2NP1/P3QPBP/3R1RK1 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 c3c4 d1a1 d1b1 d1c1 d1d2 d1d3 d1e1 d4d5 e2b2 e2b5 e2c2 e2c4 e2d2 e2d3 e2e1 e2e3 e2e4 e2e5 e2e6 f1e1 f3d2 f3e1 f3e5 f3g5 f3h4 g1h1 g2h1 g2h3 g3g4 h2h3 h2h4


Prompt:
FEN: 4r3/pbkp3p/1p6/2b2pN1/5P2/2Q3P1/1P1B3P/RN1K1r2 w - - 4 30
List the side-to-move pieces and their squares.

Side to move: white.
Pieces: a1 white rook; b1 white knight; d1 white king; b2 white pawn; d2 white bishop; h2 white pawn; c3 white queen; g3 white pawn; f4 white pawn; g5 white knight.


Prompt:
FEN: 8/p1k1b3/1p6/3pq3/3p4/1P1Q4/P1P4P/5RK1 w - - 2 32
What legal moves does the piece on b3 have?


Prompt:
FEN: 1r5r/2p1kp1p/3b1p2/p1pPp3/1P4P1/P1PP1P1P/8/1R3RK1 b - - 0 19
Detect the game state: check, checkmate, stalemate, or none.

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


Prompt:
FEN: 2kr1b1r/pp3pp1/2ppqn1p/4p3/4P3/B1NP3Q/P2K1PPP/1R4NR w - - 1 14
List all capture moves available.


Prompt:
Given FEN: r2q1k2/pp2r1pp/3p4/3P3Q/3Pn3/8/4NPPP/R1R3K1 w - - 11 25
List any special moves available (castling, en passant, promotion).


Prompt:
FEN: r1b2rk1/pp2q1b1/2pp1npp/8/2PPN3/2N2PP1/PPQ1B3/2KR3R b - - 0 18
Is the move e7c7 legal?


Prompt:
FEN: 8/N7/5k2/8/1p3R2/8/PPP1K2P/8 b - - 1 40
List pseudo-legal moves from b4.

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


Prompt:
FEN: 8/6p1/5p1k/4p3/6RP/r4PK1/8/8 b - - 2 46
For the piece on h6, 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 h6: h6g5 h6g6 h6h5 h6h7.
Legal: h6h5 h6h7.
Rejected: h6g5 king_would_be_in_check; h6g6 king_would_be_in_check.


Prompt:
FEN: rnbqk2r/3pnpbp/p3p1p1/1pp5/4P3/PB1P1N2/1PP2PPP/RNBQK2R w KQkq - 3 8
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: 8/pp3p2/2p2n1k/P5pp/2P2K2/8/8/8 w - - 0 42
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: c4 white pawn; f4 white king; a5 white pawn.
Moves by piece:
c4 white pawn: no legal moves
f4 white king: f4e3 f4e5 f4f3 f4f5 f4g3
a5 white pawn: no legal moves
All legal moves: f4e3 f4e5 f4f3 f4f5 f4g3


Prompt:
FEN: 8/pp1R2p1/4pk1p/2r5/4P3/7P/P4P2/7K w - - 4 37
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 white rook.
Ray N: d8 empty; edge.
Ray E: e7 empty; f7 empty; g7 black pawn: capture (stop, included).
Ray S: d6 empty; d5 empty; d4 empty; d3 empty; d2 empty; d1 empty; edge.
Ray W: c7 empty; b7 black pawn: capture (stop, included).
Moves from rays: d7b7 d7c7 d7d1 d7d2 d7d3 d7d4 d7d5 d7d6 d7d8 d7e7 d7f7 d7g7


Prompt:
FEN: r3kb1r/pp3ppp/2N1pn2/8/3P2b1/2P5/P4PPP/R1BQ1RK1 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 c1a3 c1b2 c1d2 c1e3 c1f4 c1g5 c1h6 c3c4 c6a5 c6a7 c6b4 c6b8 c6d8 c6e5 c6e7 d1a4 d1b3 d1c2 d1d2 d1d3 d1e1 d1e2 d1f3 d1g4 d4d5 f1e1 f2f3 f2f4 g1h1 g2g3 h2h3 h2h4


Prompt:
FEN: 8/1bp1k3/5p2/pK3r2/3pp3/P7/1PP5/2R5 w - - 0 41
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: b5a4 b5c4


Prompt:
FEN: 5b1k/q3n2p/2Q3p1/2P4r/8/1N5P/P5P1/6K1 w - - 1 35
List the side-to-move pieces and their squares.

Side to move: white.
Pieces: g1 white king; a2 white pawn; g2 white pawn; b3 white knight; h3 white pawn; c5 white pawn; c6 white queen.


Prompt:
FEN: 8/8/7Q/8/1kr3p1/8/6PP/4K3 b - - 0 54
What legal moves does the piece on b4 have?


Prompt:
FEN: 8/8/3k4/5K2/3N4/8/6B1/8 b - -
Detect the game state: check, checkmate, stalemate, or none.

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


Prompt:
FEN: rn1qk2r/pbppn1pp/1p2pp2/4P3/8/2BP1N2/PPP1BPPP/R2QK2R b KQkq - 0 8
List all capture moves available.


Prompt:
Given FEN: 4rk2/ppp1r2p/6p1/1B3b2/1Q6/2N2N2/PPP2PPP/4RRK1 w - - 3 20
List any special moves available (castling, en passant, promotion).


Prompt:
FEN: r3r1k1/pp1q1pp1/5B1p/3p4/3P2N1/P5R1/1P2bPPP/3Q2K1 w - -
Is the move d1c2 legal?


Prompt:
FEN: rnbqkb1r/pp1p1ppp/2p1pn2/8/2PPP3/2N5/PP3PPP/R1BQKBNR b KQkq - 0 4
List pseudo-legal moves from c6.

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


Prompt:
FEN: 8/1p1r4/1B4k1/2p2RR1/2P1P3/3P3P/PP4P1/6K1 b - - 5 37
For the piece on g6, split pseudo-legal moves into legal and rejected moves with rejection reasons.

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

Pseudo-legal from g6: g6f5 g6f6 g6f7 g6g5 g6g7 g6h5 g6h6 g6h7.
Legal: g6h6 g6h7.
Rejected: g6f5 does_not_resolve_check; g6f6 does_not_resolve_check; g6f7 does_not_resolve_check; g6g5 does_not_resolve_check; g6g7 does_not_resolve_check; g6h5 does_not_resolve_check.


Prompt:
FEN: r1r3k1/1b1nbp1p/pq2p1p1/1p1n4/3N4/P1BQP3/1P2NPPP/1BR2RK1 w - -
For move a3a4, decide whether king safety allows it.

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

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


Prompt:
FEN: 8/5k1p/6pP/2B1K3/pP3P2/3b4/8/8 w - -
Group all legal moves by side-to-move piece.

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

Side to move: white.
Pieces: b4 white pawn; f4 white pawn; c5 white bishop; e5 white king; h6 white pawn.
Moves by piece:
b4 white pawn: b4b5
f4 white pawn: f4f5
c5 white bishop: c5a7 c5b6 c5d4 c5d6 c5e3 c5e7 c5f2 c5f8 c5g1
e5 white king: e5d4 e5d5 e5d6
h6 white pawn: no legal moves
All legal moves: b4b5 c5a7 c5b6 c5d4 c5d6 c5e3 c5e7 c5f2 c5f8 c5g1 e5d4 e5d5 e5d6 f4f5


Prompt:
FEN: 1r1q1rk1/1p3pp1/5n1p/BPbbN3/2N5/3P3P/R4PP1/3QR1K1 b - -
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 empty; e7 empty; f8 black rook: own piece (stop, excluded).
Ray SE: d4 empty; e3 empty; f2 white pawn: capture (stop, included).
Ray SW: b4 empty; a3 empty; edge.
Ray NW: b6 empty; a7 empty; edge.
Moves from rays: c5a3 c5a7 c5b4 c5b6 c5d4 c5d6 c5e3 c5e7 c5f2


Prompt:
FEN: rn1qk1nr/ppp2ppp/3b4/3p4/3P2b1/2PB1N2/PP3PPP/RNBQK2R 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 b8c6 b8d7 c7c5 c7c6 d6a3 d6b4 d6c5 d6e5 d6e7 d6f4 d6f8 d6g3 d6h2 d8c8 d8d7 d8e7 d8f6 d8g5 d8h4 e8d7 e8e7 e8f8 f7f5 f7f6 g4c8 g4d7 g4e6 g4f3 g4f5 g4h3 g4h5 g7g5 g7g6 g8e7 g8f6 g8h6 h7h5 h7h6


Prompt:
FEN: r2qr1k1/pp2ppbp/2n3p1/3p4/3P4/2Q1PB2/PP3PPP/R1B2RK1 b - - 0 13
List all legal moves.

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

Side to move: black.
Legal moves: a7a5 a7a6 a8b8 a8c8 b7b5 b7b6 c6a5 c6b4 c6b8 c6d4 c6e5 d8a5 d8b6 d8b8 d8c7 d8c8 d8d6 d8d7 e7e5 e7e6 e8f8 f7f5 f7f6 g6g5 g7d4 g7e5 g7f6 g7f8 g7h6 g7h8 g8f8 g8h8 h7h5 h7h6


Prompt:
FEN: r5q1/3bbr1k/2n1p2p/p2pPpp1/1ppP1P2/2P1QN1P/PP1B2PN/R4RK1 w - - 0 25
List the side-to-move pieces and their squares.

Side to move: white.
Pieces: a1 white rook; f1 white rook; g1 white king; a2 white pawn; b2 white pawn; d2 white bishop; g2 white pawn; h2 white knight; c3 white pawn; e3 white queen; f3 white knight; h3 white pawn; d4 white pawn; f4 white pawn; e5 white pawn.


Prompt:
FEN: r2qkbnr/1b1ppppp/p7/nppB4/4P3/1PN2N2/P1PP1PPP/R1BQ1RK1 b kq - 0 7
What legal moves does the piece on a6 have?


Prompt:
FEN: rn2r1k1/ppp2ppp/8/5b2/2PPnp1q/2PB4/P1QN2PP/R1B1R1K1 w - -
Detect the game state: check, checkmate, stalemate, or none.

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


Prompt:
FEN: 1r6/1p1b1k1p/3P2p1/2p1Bp2/RbP1pP2/6P1/4BP1P/6K1 w - - 0 26
List all capture moves available.


Prompt:
Given FEN: 2r1kb1r/p1q2p1p/Q3pnp1/2p4b/2Pp4/BP4R1/P2P1PBP/RN2K3 w Qk - 0 16
List any special moves available (castling, en passant, promotion).


Prompt:
FEN: r1q2rk1/p2n1ppp/bp1Npn2/2p5/2PP4/1P3NP1/P1Q2PBP/R2R2K1 b - -
Is the move c8e8 legal?


Prompt:
FEN: r2qkb1r/pp4pp/3p4/2pnppQ1/8/P2PB1PP/1PPR1PB1/2K4R w kq - 0 17
List pseudo-legal moves from c1.

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


Prompt:
FEN: rn4Q1/p2kr2p/2p2pBB/2P1p3/Np6/1P3N2/P4PPP/2KR4 b - - 0 24
For the piece on e5, split pseudo-legal moves into legal and rejected moves with rejection reasons.

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

Pseudo-legal from e5: e5e4.
Legal: none.
Rejected: e5e4 does_not_resolve_check.


Prompt:
FEN: R7/P5k1/1r6/4K3/8/8/8/8 b - -
For move g7f6, decide whether king safety allows it.

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

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


Prompt:
FEN: rnbqkbnr/pppp1p1p/4p1p1/8/2PP4/2N5/PP2PPPP/R1BQKBNR b KQkq - 1 3
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: e6 black pawn; g6 black pawn; a7 black pawn; b7 black pawn; c7 black pawn; d7 black pawn; f7 black pawn; h7 black pawn; a8 black rook; b8 black knight; c8 black bishop; d8 black queen; e8 black king; f8 black bishop; g8 black knight; h8 black rook.
Moves by piece:
e6 black pawn: e6e5
g6 black pawn: g6g5
a7 black pawn: a7a5 a7a6
b7 black pawn: b7b5 b7b6
c7 black pawn: c7c5 c7c6
d7 black pawn: d7d5 d7d6
f7 black pawn: f7f5 f7f6
h7 black pawn: h7h5 h7h6
a8 black rook: no legal moves
b8 black knight: b8a6 b8c6
c8 black bishop: no legal moves
d8 black queen: d8e7 d8f6 d8g5 d8h4
e8 black king: e8e7
f8 black bishop: f8a3 f8b4 f8c5 f8d6 f8e7 f8g7 f8h6
g8 black knight: g8e7 g8f6 g8h6
h8 black rook: no legal moves
All legal moves: a7a5 a7a6 b7b5 b7b6 b8a6 b8c6 c7c5 c7c6 d7d5 d7d6 d8e7 d8f6 d8g5 d8h4 e6e5 e8e7 f7f5 f7f6 f8a3 f8b4 f8c5 f8d6 f8e7 f8g7 f8h6 g6g5 g8e7 g8f6 g8h6 h7h5 h7h6


Prompt:
FEN: rnbqk1nr/ppppp1bp/5pp1/8/1P6/4PN2/PBPP1PPP/RN1QKB1R b KQkq - 0 4
Walk each ray for the slider on g7: 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: g7 black bishop.
Ray NE: h8 black rook: own piece (stop, excluded).
Ray SE: h6 empty; edge.
Ray SW: f6 black pawn: own piece (stop, excluded).
Ray NW: f8 empty; edge.
Moves from rays: g7f8 g7h6


Prompt:
FEN: 1r6/5kpp/5p2/3Pp3/1P4P1/P1K1R2P/8/8 b - - 2 31
For every side-to-move piece, list pseudo-legal moves, reject illegal ones with reasons, then give all legal moves.

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

Side to move: black.
Pieces: e5 black pawn; f6 black pawn; f7 black king; g7 black pawn; h7 black pawn; b8 black rook.
Filter by piece:
e5 black pawn: pseudo-legal e5e4 | rejected none | legal e5e4
f6 black pawn: pseudo-legal f6f5 | rejected none | legal f6f5
f7 black king: pseudo-legal f7e6 f7e7 f7e8 f7f8 f7g6 f7g8 | rejected f7e6 king_would_be_in_check | legal f7e7 f7e8 f7f8 f7g6 f7g8
g7 black pawn: pseudo-legal g7g5 g7g6 | rejected none | legal g7g5 g7g6
h7 black pawn: pseudo-legal h7h5 h7h6 | rejected none | legal h7h5 h7h6
b8 black rook: pseudo-legal b8a8 b8b4 b8b5 b8b6 b8b7 b8c8 b8d8 b8e8 b8f8 b8g8 b8h8 | rejected none | legal b8a8 b8b4 b8b5 b8b6 b8b7 b8c8 b8d8 b8e8 b8f8 b8g8 b8h8
All legal moves: b8a8 b8b4 b8b5 b8b6 b8b7 b8c8 b8d8 b8e8 b8f8 b8g8 b8h8 e5e4 f6f5 f7e7 f7e8 f7f8 f7g6 f7g8 g7g5 g7g6 h7h5 h7h6


Prompt:
FEN: rn1qkb1r/ppp1pppp/5n2/8/2pP2b1/2N1PN2/PP3PPP/R1BQKB1R b KQkq - 2 5
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 b8d7 c7c5 c7c6 d8c8 d8d4 d8d5 d8d6 d8d7 e7e5 e7e6 e8d7 f6d5 f6d7 f6e4 f6g8 f6h5 g4c8 g4d7 g4e6 g4f3 g4f5 g4h3 g4h5 g7g5 g7g6 h7h5 h7h6 h8g8


Prompt:
FEN: r1b2rk1/2p2ppp/pq6/1p2Nn2/3P4/1N4BP/PPP2PP1/R2QR1K1 b - - 0 19
List the side-to-move pieces and their squares.

Side to move: black.
Pieces: b5 black pawn; f5 black knight; a6 black pawn; b6 black queen; c7 black pawn; f7 black pawn; g7 black pawn; h7 black pawn; a8 black rook; c8 black bishop; f8 black rook; g8 black king.


Prompt:
FEN: rn1q1rk1/pp1b2pp/2p1pn2/4Np2/3P4/3BPN2/PPQ2PPP/R3K2R w KQ - 2 11
What legal moves does the piece on c2 have?

c2a4 c2b1 c2b3 c2c1 c2c3 c2c4 c2c5 c2c6 c2d1 c2d2 c2e2


Prompt:
FEN: r1bqk2r/pp3ppp/2pb1n2/4n3/3Q1B2/5N2/PP2PPPP/RN2KB1R b KQkq -
Detect the game state: check, checkmate, stalemate, or none.

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


Prompt:
FEN: rn1qkb1r/ppp1pp1p/3p1np1/6B1/3P4/2N2P1P/PPP2PP1/R2QKB1R b KQkq - 0 6
List all capture moves available.


Prompt:
Given FEN: 1r3k2/4b1p1/7p/8/p2PPPb1/P1B2Bq1/3Q2P1/4R1K1 w - - 1 41
List any special moves available (castling, en passant, promotion).


Prompt:
FEN: r1b1k2r/3p1pp1/p1n5/1p2p3/3bP3/2N1BR2/PPP1K1P1/R2B4 w kq - 0 20
Is the move a2f3 legal?

No, illegal. Reason: own piece destination.


Prompt:
FEN: r1b1kb1r/pppp1ppp/2n2q2/8/2Bpn3/1QP2N2/PP3PPP/RNB2RK1 b kq -
List pseudo-legal moves from d4.

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


Prompt:
FEN: r3k2r/pppbqppp/1bn2n2/8/1P1pN3/PNPB2PP/1B3P2/R2Q1RK1 b kq - 1 18
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: d4c3.
Legal: d4c3.
Rejected: none.


Prompt:
FEN: r2qk2r/pb1n1p2/1p4pb/3p3p/2pP2n1/2N1PNBP/PPB1QPP1/2R2RK1 b kq - 0 15
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: 4k3/8/3p4/1pp5/1p2PpP1/qP1P4/2P2Q2/1K6 w - - 0 41
Group all legal moves by side-to-move piece.

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

Side to move: white.
Pieces: b1 white king; c2 white pawn; f2 white queen; b3 white pawn; d3 white pawn; e4 white pawn; g4 white pawn.
Moves by piece:
b1 white king: no legal moves
c2 white pawn: c2c3 c2c4
f2 white queen: f2c5 f2d2 f2d4 f2e1 f2e2 f2e3 f2f1 f2f3 f2f4 f2g1 f2g2 f2g3 f2h2 f2h4
b3 white pawn: no legal moves
d3 white pawn: d3d4
e4 white pawn: e4e5
g4 white pawn: g4g5
All legal moves: c2c3 c2c4 d3d4 e4e5 f2c5 f2d2 f2d4 f2e1 f2e2 f2e3 f2f1 f2f3 f2f4 f2g1 f2g2 f2g3 f2h2 f2h4 g4g5


Prompt:
FEN: 3r2k1/p3r1bp/2p3p1/3p4/4p3/2P3B1/PP2RPPP/4R1K1 b - - 1 22
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 black bishop: own piece (stop, excluded).
Ray S: e6 empty; e5 empty; e4 black pawn: own piece (stop, excluded).
Ray W: d7 empty; c7 empty; b7 empty; a7 black pawn: own piece (stop, excluded).
Moves from rays: e7b7 e7c7 e7d7 e7e5 e7e6 e7e8 e7f7


Prompt:
FEN: rn1qk2r/pp1bb1pp/2p2p1B/8/2BP4/5N2/PPP2PPP/RN1Q1RK1 b kq - 0 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 b7b5 b7b6 b8a6 c6c5 d7c8 d7e6 d7f5 d7g4 d7h3 d8a5 d8b6 d8c7 d8c8 e7a3 e7b4 e7c5 e7d6 e7f8 e8f8 f6f5 g7g5 g7g6 g7h6 h8f8 h8g8


Prompt:
FEN: 4qrk1/rb2bppp/pN1p2n1/B1p5/3pP3/1P3N2/1PP2PPP/R2QR1K1 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 a1a3 a1a4 a1b1 a1c1 a5b4 a5c3 a5d2 b3b4 b6a4 b6a8 b6c4 b6c8 b6d5 b6d7 c2c3 c2c4 d1b1 d1c1 d1d2 d1d3 d1d4 d1e2 e1e2 e1e3 e1f1 e4e5 f3d2 f3d4 f3e5 f3g5 f3h4 g1f1 g1h1 g2g3 g2g4 h2h3 h2h4


Prompt:
FEN: r1bqkb1r/ppp2ppp/2n5/4p3/4N3/2N5/PPPP1PPP/R1BQK2R w KQkq -
List the side-to-move pieces and their squares.

Side to move: white.
Pieces: a1 white rook; c1 white bishop; d1 white queen; e1 white king; h1 white rook; a2 white pawn; b2 white pawn; c2 white pawn; d2 white pawn; f2 white pawn; g2 white pawn; h2 white pawn; c3 white knight; e4 white knight.


Prompt:
FEN: 4r3/4n2p/3R2p1/1pN2p2/3B1k2/1P4P1/P4P1P/6K1 b - - 0 29
What legal moves does the piece on e8 have?


Prompt:
FEN: 8/8/8/2k5/8/3BK3/1Q6/8 b - -
Detect the game state: check, checkmate, stalemate, or none.

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


Prompt:
FEN: r4rk1/pp1bqpp1/2p4p/8/2BPp3/4P3/PP3PPP/R2Q1RK1 b - - 3 14
List all capture moves available.


Prompt:
Given FEN: 6rk/p3Q1pp/1p6/n3Bp2/3P2q1/P2BPbP1/5P1P/5RK1 w - - 1 28
List any special moves available (castling, en passant, promotion).


Prompt:
FEN: r5k1/p6p/8/5p2/2R1p3/2P1P3/1r3P2/4K2R w K -
Is the move c4c5 legal?


Prompt:
FEN: r4rk1/pp2bpp1/2pp3p/4n3/4P1q1/1PN4R/PBQ3PP/5R1K b - -
List pseudo-legal moves from g4.

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

Pseudo-legal moves from g4: g4c8 g4d1 g4d7 g4e2 g4e4 g4e6 g4f3 g4f4 g4f5 g4g2 g4g3 g4g5 g4g6 g4h3 g4h4 g4h5


Prompt:
FEN: rnbq1rk1/ppp1bppp/4p2n/3p4/3PPP2/3B1NP1/PPP4P/RNBQ1RK1 w - - 0 8
For the piece on b1, split pseudo-legal moves into legal and rejected moves with rejection reasons.

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

Pseudo-legal from b1: b1a3 b1c3 b1d2.
Legal: b1a3 b1c3 b1d2.
Rejected: none.


Prompt:
FEN: r1bq2k1/ppp2Bpp/2np1n2/8/4r3/2B1QN2/PPP2PPP/2KR3R b - -
For move a7a5, decide whether king safety allows it.

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

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


Prompt:
FEN: 4Q3/6p1/3bp2p/3p4/3P3k/3R4/5PP1/2q3K1 w - - 1 41
Group all legal moves by side-to-move piece.

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

Side to move: white.
Pieces: g1 white king; f2 white pawn; g2 white pawn; d3 white rook; d4 white pawn; e8 white queen.
Moves by piece:
g1 white king: no legal moves
f2 white pawn: no legal moves
g2 white pawn: no legal moves
d3 white rook: d3d1
d4 white pawn: no legal moves
e8 white queen: no legal moves
All legal moves: d3d1


Prompt:
FEN: 8/1R2k3/2Q5/8/1P3Pp1/N3N1K1/6P1/8 b - - 14 60
List all legal moves.

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

Side to move: black.
Legal moves: e7d8 e7f8


Prompt:
FEN: r2q1rk1/p4pp1/1b3n1p/2p5/3P1P2/3B1QN1/PP4PP/5R1K b - - 0 20
List all legal moves.

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

Side to move: black.
Legal moves: a7a5 a7a6 a8b8 a8c8 b6a5 b6c7 c5c4 c5d4 d8b8 d8c7 d8c8 d8d4 d8d5 d8d6 d8d7 d8e7 d8e8 f6d5 f6d7 f6e4 f6e8 f6g4 f6h5 f6h7 f8e8 g7g5 g7g6 g8h8 h6h5


Prompt:
FEN: r2q1rk1/pp3ppp/2nbpn2/3p4/3P2b1/PP1B1N2/1BPN1PPP/R2QK2R 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 a1b1 a1c1 a3a4 b2c1 b2c3 b3b4 c2c3 c2c4 d1b1 d1c1 d1e2 d2b1 d2c4 d2e4 d2f1 d3a6 d3b5 d3c4 d3e2 d3e4 d3f1 d3f5 d3g6 d3h7 e1e2 e1f1 e1g1 f3e5 f3g1 f3g5 f3h4 g2g3 h1f1 h1g1 h2h3 h2h4


Prompt:
FEN: 1k5r/1qb4p/4Q1p1/p1Pp1p2/R2P1P2/6N1/1P4PP/2B3K1 w - - 1 32
List the side-to-move pieces and their squares.

Side to move: white.
Pieces: c1 white bishop; g1 white king; b2 white pawn; g2 white pawn; h2 white pawn; g3 white knight; a4 white rook; d4 white pawn; f4 white pawn; c5 white pawn; e6 white queen.


Prompt:
FEN: rnbq1rk1/ppp1bpp1/4p2p/4P1n1/2BP4/2N2N2/PPQ2PPP/R1B2RK1 w - - 7 10
What legal moves does the piece on c2 have?

c2a4 c2b1 c2b3 c2d1 c2d2 c2d3 c2e2 c2e4 c2f5 c2g6 c2h7


Prompt:
FEN: rnbqkbnr/pp4pp/5p2/1B1pp3/3P4/5N2/PPP2PPP/RNBQK2R b KQkq - 1 6
Detect the game state: check, checkmate, stalemate, or none.


Prompt:
FEN: rn1q1rk1/ppp1bb1p/6p1/5p2/3P4/2P2N1P/PP2Q1P1/RNB2RK1 w - - 0 14
List all capture moves available.


Prompt:
Given FEN: r1bqkb1r/ppp1pppp/5n2/4n3/8/2N5/PPP2PPP/R1BQKBNR w KQkq -
List any special moves available (castling, en passant, promotion).


Prompt:
FEN: r1bqkbnr/ppp2ppp/2n1p3/8/2BP4/P3P3/1P3PPP/RNBQK1NR b KQkq - 0 5
Is the move c6a5 legal?


Prompt:
FEN: r1bqk2r/pppp1ppp/2n2n2/6B1/2P5/2N5/PP2PKPP/R2Q1BNR b kq - 0 7
List pseudo-legal moves from c6.

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

Pseudo-legal moves from c6: c6a5 c6b4 c6b8 c6d4 c6e5 c6e7


Prompt:
FEN: rnbqk2r/ppp2ppp/4pn2/3p4/3P1B2/P1b2N2/1PP1PPPP/R2QKB1R w KQkq -
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.
Legal: none.
Rejected: a1a2 does_not_resolve_check; a1b1 does_not_resolve_check; a1c1 does_not_resolve_check.


Prompt:
FEN: r6k/2p1P1p1/p4p1p/1p6/1q6/7P/P4PP1/3RR1K1 w - - 0 28
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: 2r1r2k/3R2pp/p7/1p6/2n1N1Q1/P5PP/1q3R1K/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: b2 black queen; c4 black knight; b5 black pawn; a6 black pawn; g7 black pawn; h7 black pawn; c8 black rook; e8 black rook; h8 black king.
Moves by piece:
b2 black queen: b2a1 b2a2 b2a3 b2b1 b2b3 b2b4 b2c1 b2c2 b2c3 b2d2 b2d4 b2e2 b2e5 b2f2 b2f6
c4 black knight: c4a3 c4a5 c4b6 c4d2 c4d6 c4e3 c4e5
b5 black pawn: b5b4
a6 black pawn: a6a5
g7 black pawn: g7g5 g7g6
h7 black pawn: h7h5 h7h6
c8 black rook: c8a8 c8b8 c8c5 c8c6 c8c7 c8d8
e8 black rook: e8d8 e8e4 e8e5 e8e6 e8e7 e8f8 e8g8
h8 black king: h8g8
All legal moves: a6a5 b2a1 b2a2 b2a3 b2b1 b2b3 b2b4 b2c1 b2c2 b2c3 b2d2 b2d4 b2e2 b2e5 b2f2 b2f6 b5b4 c4a3 c4a5 c4b6 c4d2 c4d6 c4e3 c4e5 c8a8 c8b8 c8c5 c8c6 c8c7 c8d8 e8d8 e8e4 e8e5 e8e6 e8e7 e8f8 e8g8 g7g5 g7g6 h7h5 h7h6 h8g8


Prompt:
FEN: r1b2rk1/2pqbppp/p1n2n2/1p1p4/3P4/1BP2N1P/PP3PP1/RNBQR1K1 b - - 0 11
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 queen.
Ray N: d8 empty; edge.
Ray NE: e8 empty; edge.
Ray E: e7 black bishop: own piece (stop, excluded).
Ray SE: e6 empty; f5 empty; g4 empty; h3 white pawn: capture (stop, included).
Ray S: d6 empty; d5 black pawn: own piece (stop, excluded).
Ray SW: c6 black knight: own piece (stop, excluded).
Ray W: c7 black pawn: own piece (stop, excluded).
Ray NW: c8 black bishop: own piece (stop, excluded).
Moves from rays: d7d6 d7d8 d7e6 d7e8 d7f5 d7g4 d7h3


Prompt:
FEN: 8/8/8/6p1/pr4k1/6R1/6K1/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: a4 black pawn; b4 black rook; g4 black king; g5 black pawn.
Filter by piece:
a4 black pawn: pseudo-legal a4a3 | rejected a4a3 does_not_resolve_check | legal none
b4 black rook: pseudo-legal b4b1 b4b2 b4b3 b4b5 b4b6 b4b7 b4b8 b4c4 b4d4 b4e4 b4f4 | rejected b4b1 does_not_resolve_check; b4b2 does_not_resolve_check; b4b3 does_not_resolve_check; b4b5 does_not_resolve_check; b4b6 does_not_resolve_check; b4b7 does_not_resolve_check; b4b8 does_not_resolve_check; b4c4 does_not_resolve_check; b4d4 does_not_resolve_check; b4e4 does_not_resolve_check; b4f4 does_not_resolve_check | legal none
g4 black king: pseudo-legal g4f3 g4f4 g4f5 g4g3 g4h3 g4h4 g4h5 | rejected g4f3 does_not_resolve_check; g4g3 does_not_resolve_check; g4h3 does_not_resolve_check | legal g4f4 g4f5 g4h4 g4h5
g5 black pawn: pseudo-legal none | rejected none | legal none
All legal moves: g4f4 g4f5 g4h4 g4h5


Prompt:
FEN: rn1qkb1r/ppp2ppp/4pn2/3p4/2PP2b1/4PN1P/PP3PP1/RNBQKB1R b KQkq - 0 5
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 b8d7 c7c5 c7c6 d5c4 d8c8 d8d6 d8d7 d8e7 e6e5 e8d7 e8e7 f6d7 f6e4 f6g8 f6h5 f8a3 f8b4 f8c5 f8d6 f8e7 g4f3 g4f5 g4h3 g4h5 g7g5 g7g6 h7h5 h7h6 h8g8


Prompt:
FEN: r2qkbnr/pp4p1/4Pp1p/3Pp3/2N5/2P1BN2/PP3PPP/R2QK2R b KQkq - 0 12
List the side-to-move pieces and their squares.

Side to move: black.
Pieces: e5 black pawn; f6 black pawn; h6 black pawn; a7 black pawn; b7 black pawn; g7 black pawn; a8 black rook; d8 black queen; e8 black king; f8 black bishop; g8 black knight; h8 black rook.


Prompt:
FEN: k1K5/p7/P3N3/8/8/8/6p1/8 w - -
What legal moves does the piece on a6 have?


Prompt:
FEN: r6r/p2npk2/1p1p1p2/PRpP2p1/2P1P3/2P3BP/6P1/R5K1 b - - 0 28
Detect the game state: check, checkmate, stalemate, or none.

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


Prompt:
FEN: r1bq1rk1/pp1n1pp1/4pn1p/b2p4/2PP3B/P1N2N2/1P2BPPP/R2Q1RK1 b - - 0 11
List all capture moves available.


Prompt:
Given FEN: r3kb1r/pp2npp1/1qn1p2p/3pP3/3P3B/1P3B2/P4PPP/RN1Q1RK1 b kq -
List any special moves available (castling, en passant, promotion).


Prompt:
FEN: 2k2r2/1pp3pp/4p3/r7/pn2P3/5N2/PPPR1PPP/2KR4 w - -
Is the move d2d8 legal?


Prompt:
FEN: 5rk1/1b5p/p7/2pp1pp1/8/3RP3/P4PPP/4K2R w K - 0 29
List pseudo-legal moves from e1.

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

Pseudo-legal moves from e1: e1d1 e1d2 e1e2 e1f1 e1g1


Prompt:
FEN: r3r1k1/pppq1pbp/4bnp1/8/1BP1P3/4P3/P1Q1B1PP/RN2K1NR b KQ - 0 15
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: r6r/2K2kpp/p4p2/1p1P4/5P2/2N5/PP6/R7 b - -
For move f7e6, decide whether king safety allows it.

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

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


Prompt:
FEN: r3k3/pp1q1pp1/2pPp3/7r/3P1n2/P4QP1/1P5P/2R2RK1 w q - 0 23
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 rook; f1 white rook; g1 white king; b2 white pawn; h2 white pawn; a3 white pawn; f3 white queen; g3 white pawn; d4 white pawn; d6 white pawn.
Moves by piece:
c1 white rook: c1a1 c1b1 c1c2 c1c3 c1c4 c1c5 c1c6 c1d1 c1e1
f1 white rook: f1d1 f1e1 f1f2
g1 white king: g1f2 g1h1
b2 white pawn: b2b3 b2b4
h2 white pawn: h2h3 h2h4
a3 white pawn: a3a4
f3 white queen: f3b3 f3c3 f3c6 f3d1 f3d3 f3d5 f3e2 f3e3 f3e4 f3f2 f3f4 f3g2 f3g4 f3h1 f3h5
g3 white pawn: g3f4 g3g4
d4 white pawn: d4d5
d6 white pawn: no legal moves
All legal moves: a3a4 b2b3 b2b4 c1a1 c1b1 c1c2 c1c3 c1c4 c1c5 c1c6 c1d1 c1e1 d4d5 f1d1 f1e1 f1f2 f3b3 f3c3 f3c6 f3d1 f3d3 f3d5 f3e2 f3e3 f3e4 f3f2 f3f4 f3g2 f3g4 f3h1 f3h5 g1f2 g1h1 g3f4 g3g4 h2h3 h2h4


Prompt:
FEN: r3kbnr/pb1nq1pp/1ppppp2/8/8/1P2P1P1/PBPPQPBP/RN2K1NR w KQkq - 0 9
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 white knight: own piece (stop, excluded).
Ray S: edge.
Ray W: edge.
Moves from rays: none


Prompt:
FEN: 8/8/8/2K5/7Q/3k4/8/8 w - -
For every side-to-move piece, list pseudo-legal moves, reject illegal ones with reasons, then give all legal moves.

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

Side to move: white.
Pieces: h4 white queen; c5 white king.
Filter by piece:
h4 white queen: pseudo-legal h4a4 h4b4 h4c4 h4d4 h4d8 h4e1 h4e4 h4e7 h4f2 h4f4 h4f6 h4g3 h4g4 h4g5 h4h1 h4h2 h4h3 h4h5 h4h6 h4h7 h4h8 | rejected none | legal h4a4 h4b4 h4c4 h4d4 h4d8 h4e1 h4e4 h4e7 h4f2 h4f4 h4f6 h4g3 h4g4 h4g5 h4h1 h4h2 h4h3 h4h5 h4h6 h4h7 h4h8
c5 white king: pseudo-legal c5b4 c5b5 c5b6 c5c4 c5c6 c5d4 c5d5 c5d6 | rejected c5c4 king_would_be_in_check; c5d4 king_would_be_in_check | legal c5b4 c5b5 c5b6 c5c6 c5d5 c5d6
All legal moves: c5b4 c5b5 c5b6 c5c6 c5d5 c5d6 h4a4 h4b4 h4c4 h4d4 h4d8 h4e1 h4e4 h4e7 h4f2 h4f4 h4f6 h4g3 h4g4 h4g5 h4h1 h4h2 h4h3 h4h5 h4h6 h4h7 h4h8


Prompt:
FEN: 5rk1/pp1r2bq/n4p1p/2pPp2B/2P1P1QN/P7/1P4PP/2R2RK1 b - - 1 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: a6b4 a6b8 a6c7 b7b5 b7b6 d7c7 d7d5 d7d6 d7d8 d7e7 d7f7 f6f5 f8a8 f8b8 f8c8 f8d8 f8e8 f8f7 g8h8 h7e4 h7f5 h7g6 h7h8


Prompt:
FEN: r3k2r/ppp2ppp/3b4/3N4/4n3/1P2Pn2/PBPP2P1/R2Q1R1K b kq -
List the side-to-move pieces and their squares.

Side to move: black.
Pieces: f3 black knight; e4 black knight; d6 black bishop; a7 black pawn; b7 black pawn; c7 black pawn; f7 black pawn; g7 black pawn; h7 black pawn; a8 black rook; e8 black king; h8 black rook.


Prompt:
FEN: 4r1k1/5ppp/4p3/8/1n2P1N1/3n3P/1P3PP1/R2R2K1 w - - 3 30
What legal moves does the piece on f2 have?


Prompt:
FEN: r1b1k2r/ppp2pp1/2Bq1n1p/2p1p3/4P3/3P1N2/PPP2PPP/R1BQK2R b KQkq -
Detect the game state: check, checkmate, stalemate, or none.


Prompt:
FEN: 3qrbk1/1b3p2/r4npp/2p2N2/pn2P3/4R2P/1P1N1PP1/1BBQR1K1 w - -
List all capture moves available.


Prompt:
Given FEN: 8/8/4ppk1/3p2p1/3Pn1P1/4R2P/r7/5KN1 b - -
List any special moves available (castling, en passant, promotion).


Prompt:
FEN: 1R6/3b4/3pk1p1/4n3/1P1KP2P/8/8/8 w - - 3 59
Is the move d4b4 legal?

No, illegal. Reason: own piece destination.


Prompt:
FEN: 8/2k2ppp/2p5/7r/2q2PK1/pp6/8/8 w - - 0 37
List pseudo-legal moves from f4.

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


Prompt:
FEN: 3nk3/5p1p/6p1/1P2K3/5B2/6P1/5P1P/8 w - -
For the piece on e5, split pseudo-legal moves into legal and rejected moves with rejection reasons.

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

Pseudo-legal from e5: e5d4 e5d5 e5d6 e5e4 e5e6 e5f5 e5f6.
Legal: e5d4 e5d5 e5d6 e5e4 e5f6.
Rejected: e5e6 king_would_be_in_check; e5f5 king_would_be_in_check.


Prompt:
FEN: 6k1/8/p1p4p/P1p5/2P5/1P1Pq3/8/3K4 w - - 2 53
For move d1c1, decide whether king safety allows it.

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

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


Prompt:
FEN: 4r2k/5Q1p/6p1/p4p1q/P2n1P2/3B2P1/6KP/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: d4 black knight; a5 black pawn; f5 black pawn; h5 black queen; g6 black pawn; h7 black pawn; e8 black rook; h8 black king.
Moves by piece:
d4 black knight: d4b3 d4b5 d4c2 d4c6 d4e2 d4e6 d4f3
a5 black pawn: no legal moves
f5 black pawn: no legal moves
h5 black queen: h5d1 h5e2 h5f3 h5g4 h5g5 h5h2 h5h3 h5h4 h5h6
g6 black pawn: g6g5
h7 black pawn: h7h6
e8 black rook: e8a8 e8b8 e8c8 e8d8 e8e1 e8e2 e8e3 e8e4 e8e5 e8e6 e8e7 e8f8 e8g8
h8 black king: no legal moves
All legal moves: d4b3 d4b5 d4c2 d4c6 d4e2 d4e6 d4f3 e8a8 e8b8 e8c8 e8d8 e8e1 e8e2 e8e3 e8e4 e8e5 e8e6 e8e7 e8f8 e8g8 g6g5 h5d1 h5e2 h5f3 h5g4 h5g5 h5h2 h5h3 h5h4 h5h6 h7h6


Prompt:
FEN: 2rq1rk1/3b1ppp/p2Q1n2/1p2p3/2P1P3/1PN5/P1B2PPP/R4RK1 w - -
Walk each ray for the slider on a1: list every square until a blocker, capture, or the board edge, then list the resulting moves.

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

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


Prompt:
FEN: 3r3k/8/2B4p/1P2p1p1/1r1bP3/5N2/5PPP/3R2K1 w - - 2 33
For every side-to-move piece, list pseudo-legal moves, reject illegal ones with reasons, then give all legal moves.

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

Side to move: white.
Pieces: d1 white rook; g1 white king; f2 white pawn; g2 white pawn; h2 white pawn; f3 white knight; e4 white pawn; b5 white pawn; c6 white bishop.
Filter by piece:
d1 white rook: pseudo-legal d1a1 d1b1 d1c1 d1d2 d1d3 d1d4 d1e1 d1f1 | rejected none | legal d1a1 d1b1 d1c1 d1d2 d1d3 d1d4 d1e1 d1f1
g1 white king: pseudo-legal g1f1 g1h1 | rejected none | legal g1f1 g1h1
f2 white pawn: pseudo-legal none | rejected none | legal none
g2 white pawn: pseudo-legal g2g3 g2g4 | rejected none | legal g2g3 g2g4
h2 white pawn: pseudo-legal h2h3 h2h4 | rejected none | legal h2h3 h2h4
f3 white knight: pseudo-legal f3d2 f3d4 f3e1 f3e5 f3g5 f3h4 | rejected none | legal f3d2 f3d4 f3e1 f3e5 f3g5 f3h4
e4 white pawn: pseudo-legal none | rejected none | legal none
b5 white pawn: pseudo-legal b5b6 | rejected none | legal b5b6
c6 white bishop: pseudo-legal c6a8 c6b7 c6d5 c6d7 c6e8 | rejected none | legal c6a8 c6b7 c6d5 c6d7 c6e8
All legal moves: b5b6 c6a8 c6b7 c6d5 c6d7 c6e8 d1a1 d1b1 d1c1 d1d2 d1d3 d1d4 d1e1 d1f1 f3d2 f3d4 f3e1 f3e5 f3g5 f3h4 g1f1 g1h1 g2g3 g2g4 h2h3 h2h4


Prompt:
FEN: 2kr3r/Rpp3pp/4p3/4P1P1/2P5/4P2b/1q3R2/4Q1K1 b - - 1 28
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: b2a1 b2a2 b2a3 b2b1 b2b3 b2b4 b2b5 b2b6 b2c1 b2c2 b2c3 b2d2 b2d4 b2e2 b2e5 b2f2 b7b5 b7b6 c7c5 c7c6 c8b8 c8d7 d8d1 d8d2 d8d3 d8d4 d8d5 d8d6 d8d7 d8e8 d8f8 d8g8 g7g6 h3f1 h3f5 h3g2 h3g4 h7h5 h7h6 h8e8 h8f8 h8g8


Prompt:
FEN: r4rk1/2p2ppp/p1n2q2/1pb1p3/4P1b1/1BP2N2/PP1N1PPP/R2Q1RK1 b - - 2 12
List the side-to-move pieces and their squares.

Side to move: black.
Pieces: g4 black bishop; b5 black pawn; c5 black bishop; e5 black pawn; a6 black pawn; c6 black knight; f6 black queen; c7 black pawn; f7 black pawn; g7 black pawn; h7 black pawn; a8 black rook; f8 black rook; g8 black king.


Prompt:
FEN: r4rk1/ppp2ppp/2Bq4/2b5/3p2b1/2P2N2/PP3PPP/RNBQ1RK1 b - - 0 11
What legal moves does the piece on a8 have?


Prompt:
FEN: rnbqk2r/ppp2pp1/3p1n1p/2b1p1B1/2B1P3/2NP4/PPP2PPP/R2QK1NR w KQkq - 0 6
Detect the game state: check, checkmate, stalemate, or none.

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


Prompt:
FEN: r5k1/p5bp/1p2q1p1/1P3p2/P1rPp3/3RP1P1/5PBP/RQ4K1 b - - 0 25
List all capture moves available.


Prompt:
Given FEN: 1r5r/4k3/4p2p/p1p1P1p1/2Pp1p2/PP6/1R3PPP/4R1K1 w - - 0 25
List any special moves available (castling, en passant, promotion).


Prompt:
FEN: 8/8/6k1/4p1pp/3r1p2/4NP1P/5KP1/8 b - - 1 45
Is the move g6g7 legal?


Prompt:
FEN: r5k1/pb2bppp/1pq1p3/2p5/4PB2/2P4P/PPB1QPP1/3r1RK1 w - - 0 18
List pseudo-legal moves from f1.

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


Prompt:
FEN: r1bq1rk1/3nppbp/3p1np1/pp6/2P1P3/1B1P1N1P/1P3PP1/RNBQ1RK1 b - - 0 11
For the piece on a5, split pseudo-legal moves into legal and rejected moves with rejection reasons.

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

Pseudo-legal from a5: a5a4.
Legal: a5a4.
Rejected: none.


Prompt:
FEN: 2rqr1k1/pb1n1pb1/8/2p1p1p1/2P1P3/1P1P1NP1/PBB5/R2Q1RK1 b - - 0 22
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: 2r2rk1/qp1b1ppp/p3p3/2bpnP2/3N2P1/2P5/P1P2BBP/1R1Q1R1K b - - 1 21
Group all legal moves by side-to-move piece.

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

Side to move: black.
Pieces: c5 black bishop; d5 black pawn; e5 black knight; a6 black pawn; e6 black pawn; a7 black queen; b7 black pawn; d7 black bishop; f7 black pawn; g7 black pawn; h7 black pawn; c8 black rook; f8 black rook; g8 black king.
Moves by piece:
c5 black bishop: c5a3 c5b4 c5b6 c5d4 c5d6 c5e7
d5 black pawn: no legal moves
e5 black knight: e5c4 e5c6 e5d3 e5f3 e5g4 e5g6
a6 black pawn: a6a5
e6 black pawn: e6f5
a7 black queen: a7a8 a7b6 a7b8
b7 black pawn: b7b5 b7b6
d7 black bishop: d7a4 d7b5 d7c6 d7e8
f7 black pawn: f7f6
g7 black pawn: g7g5 g7g6
h7 black pawn: h7h5 h7h6
c8 black rook: c8a8 c8b8 c8c6 c8c7 c8d8 c8e8
f8 black rook: f8d8 f8e8
g8 black king: g8h8
All legal moves: a6a5 a7a8 a7b6 a7b8 b7b5 b7b6 c5a3 c5b4 c5b6 c5d4 c5d6 c5e7 c8a8 c8b8 c8c6 c8c7 c8d8 c8e8 d7a4 d7b5 d7c6 d7e8 e5c4 e5c6 e5d3 e5f3 e5g4 e5g6 e6f5 f7f6 f8d8 f8e8 g7g5 g7g6 g8h8 h7h5 h7h6


Prompt:
FEN: r2q1rk1/4b1p1/3p3p/2p1pb2/1nP3P1/1BNPQN1P/1P3P2/2KR3R b - - 0 20
Walk each ray for the slider on f5: 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: f5 black bishop.
Ray NE: g6 empty; h7 empty; edge.
Ray SE: g4 white pawn: capture (stop, included).
Ray SW: e4 empty; d3 white pawn: capture (stop, included).
Ray NW: e6 empty; d7 empty; c8 empty; edge.
Moves from rays: f5c8 f5d3 f5d7 f5e4 f5e6 f5g4 f5g6 f5h7


Prompt:
FEN: 3rr1k1/pp1B2b1/2p2qp1/2np3p/1P1P3P/P2R1PB1/2N2K2/3QR3 b - - 0 31
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 c5a4 c5a6 c5b3 c5d3 c5d7 c5e4 c5e6 d8a8 d8b8 d8c8 d8d7 e8e1 e8e2 e8e3 e8e4 e8e5 e8e6 e8e7 e8f8 f6d4 f6d6 f6e5 f6e6 f6e7 f6f3 f6f4 f6f5 f6f7 f6f8 f6g5 f6h4 g6g5 g7f8 g7h6 g7h8 g8f7 g8f8 g8h7 g8h8


Prompt:
FEN: 8/8/3K4/R7/3k4/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>".

Side to move: black.
Legal moves: d4c3 d4c4 d4d3 d4e3 d4e4


Prompt:
FEN: 8/2R3p1/7p/8/5P2/r1p4P/2k3P1/5K2 b - -
List the side-to-move pieces and their squares.

Side to move: black.
Pieces: c2 black king; a3 black rook; c3 black pawn; h6 black pawn; g7 black pawn.


Prompt:
FEN: 1r3rk1/p4pp1/7p/2Q3n1/2P5/4P1PP/2PN4/1N2K2b b - -
What legal moves does the piece on a7 have?


Prompt:
FEN: r4Bk1/1p3ppp/pn2qn2/3p4/3Pp3/P3P1P1/1P2QPBP/R4RK1 b - - 0 17
Detect the game state: check, checkmate, stalemate, or none.

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


Prompt:
FEN: 4R3/pR3pk1/1pq3pp/8/8/P4NP1/1P3PP1/6K1 w - -
List all capture moves available.


Prompt:
Given FEN: 8/5p2/4pk2/3r2p1/8/6PK/R6P/8 w - -
List any special moves available (castling, en passant, promotion).


Prompt:
FEN: r4rk1/1pq1bppp/3p4/pP1Pp3/2P5/5Q2/1B1P1PPP/R4RK1 w - - 1 16
Is the move a8a5 legal?


Prompt:
FEN: r6r/3b2k1/n1p1p1p1/3qPpNp/ppPP3P/3Q2P1/P1B2P2/1K1R3R b - - 0 22
List pseudo-legal moves from a4.

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


Prompt:
FEN: rnbqk1nr/pppp1pp1/3b3p/4p3/2B1P3/3P4/PPP2PPP/RNBQK1NR w KQkq - 0 4
For the piece on b1, split pseudo-legal moves into legal and rejected moves with rejection reasons.

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

Pseudo-legal from b1: b1a3 b1c3 b1d2.
Legal: b1a3 b1c3 b1d2.
Rejected: none.


Prompt:
FEN: 8/1kp2p2/7r/p3p3/Pp1pPqpQ/1P6/2P3P1/1K1R4 w - - 2 37
For move b1c1, decide whether king safety allows it.

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

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


Prompt:
FEN: 8/8/8/3K4/8/4k3/8/5R2 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: e3 black king.
Moves by piece:
e3 black king: e3d2 e3d3 e3e2
All legal moves: e3d2 e3d3 e3e2


Prompt:
FEN: 8/4n1P1/5n2/4pb2/1k6/4P2p/B4K2/8 w - - 0 51
Walk each ray for the slider on a2: 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: a2 white bishop.
Ray NE: b3 empty; c4 empty; d5 empty; e6 empty; f7 empty; g8 empty; edge.
Ray SE: b1 empty; edge.
Ray SW: edge.
Ray NW: edge.
Moves from rays: a2b1 a2b3 a2c4 a2d5 a2e6 a2f7 a2g8


Prompt:
FEN: 4rrk1/2pn2p1/1p1n3p/pPbPpp2/P1P1P3/2N2RPq/2BBQ2P/4R2K 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: c2b1 c2b3 c2d1 c2d3 c3a2 c3b1 c3d1 d2c1 d2e3 d2f4 d2g5 d2h6 e1a1 e1b1 e1c1 e1d1 e1f1 e1g1 e2d1 e2d3 e2e3 e2f1 e2f2 e2g2 e4f5 f3d3 f3e3 f3f1 f3f2 f3f4 f3f5 g3g4


Prompt:
FEN: 8/p4rk1/1p5p/6p1/1P1pNB2/P2P1qP1/7P/4RBK1 w - - 0 31
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 b4b5 e1a1 e1b1 e1c1 e1d1 e1e2 e1e3 e4c3 e4c5 e4d2 e4d6 e4f2 e4f6 e4g5 f1e2 f1g2 f1h3 f4b8 f4c1 f4c7 f4d2 f4d6 f4e3 f4e5 f4g5 g3g4 h2h3 h2h4


Prompt:
FEN: r1b1qrk1/5ppp/p3p3/1pp5/3nRB2/2NP2PB/PPP2P1P/2K4R w - -
List the side-to-move pieces and their squares.

Side to move: white.
Pieces: c1 white king; h1 white rook; a2 white pawn; b2 white pawn; c2 white pawn; f2 white pawn; h2 white pawn; c3 white knight; d3 white pawn; g3 white pawn; h3 white bishop; e4 white rook; f4 white bishop.


Prompt:
FEN: rnb1kbnr/2qp1ppp/p3p3/1p6/3NP3/P1N2P2/1PP3PP/R1BQKB1R b KQkq -
What legal moves does the piece on e8 have?


Prompt:
FEN: B7/6p1/8/7p/8/2k5/K5P1/8 w - -
Detect the game state: check, checkmate, stalemate, or none.

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


Prompt:
FEN: 3r3r/2p1k1pp/2q1b3/pp2R3/8/P1N2N2/1PP1QPPP/R5K1 b - - 3 19
List all capture moves available.


Prompt:
Given FEN: r1bq1rk1/1p2Bp1p/p1n1p1p1/2npP3/5Q1P/2N2N2/PPP2PP1/2KR1B1R b - -
List any special moves available (castling, en passant, promotion).


Prompt:
FEN: rkn3q1/pp3R2/2p3BQ/4P3/3P4/2P5/P5PP/R6K w - - 7 28
Is the move f7g4 legal?

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


Prompt:
FEN: 7k/1R6/8/6KP/8/8/2b5/8 w - -
List pseudo-legal moves from g5.

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

Pseudo-legal moves from g5: g5f4 g5f5 g5f6 g5g4 g5g6 g5h4 g5h6


Prompt:
FEN: r2qk2r/pb1pbpp1/1pn1pn1p/2p5/2B1P3/P1NP1N1P/1PP2PP1/R1BQ1RK1 w kq - 1 9
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.
Legal: a1a2 a1b1.
Rejected: none.


Prompt:
FEN: r5k1/2r3p1/b3n2p/5p2/1p3P1P/3N1PR1/3K1P2/6R1 w - - 0 32
For move d2c1, decide whether king safety allows it.

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

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


Prompt:
FEN: r4rk1/ppp2p1p/4p1p1/3p4/3P4/2BBPP1n/PPP4P/R4RK1 w - - 0 17
Group all legal moves by side-to-move piece.

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

Side to move: white.
Pieces: a1 white rook; f1 white rook; g1 white king; a2 white pawn; b2 white pawn; c2 white pawn; h2 white pawn; c3 white bishop; d3 white bishop; e3 white pawn; f3 white pawn; d4 white pawn.
Moves by piece:
a1 white rook: no legal moves
f1 white rook: no legal moves
g1 white king: g1g2 g1h1
a2 white pawn: no legal moves
b2 white pawn: no legal moves
c2 white pawn: no legal moves
h2 white pawn: no legal moves
c3 white bishop: no legal moves
d3 white bishop: no legal moves
e3 white pawn: no legal moves
f3 white pawn: no legal moves
d4 white pawn: no legal moves
All legal moves: g1g2 g1h1


Prompt:
FEN: rn1qkb1r/pp1b1p2/4p2p/1Bp3p1/3Pp2P/6B1/PPP2PP1/R2QK1NR w KQkq -
Walk each ray for the slider on a1: list every square until a blocker, capture, or the board edge, then list the resulting moves.

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

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


Prompt:
FEN: r1bqk2r/pp2ppb1/2np1np1/7p/3NP3/2N1B2P/PPP1BPP1/R2Q1RK1 b kq -
List all legal moves.

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

Side to move: black.
Legal moves: a7a5 a7a6 a8b8 b7b5 b7b6 c6a5 c6b4 c6b8 c6d4 c6e5 c8d7 c8e6 c8f5 c8g4 c8h3 d6d5 d8a5 d8b6 d8c7 d8d7 e7e5 e7e6 e8d7 e8f8 e8g8 f6d5 f6d7 f6e4 f6g4 f6g8 f6h7 g6g5 g7f8 g7h6 h5h4 h8f8 h8g8 h8h6 h8h7


Prompt:
FEN: r1bqkbnr/2p1p1pp/p1p2p2/3p4/5P2/1P2PN2/P1PP2PP/RNBQK2R b KQkq - 0 6
List all legal moves.

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

Side to move: black.
Legal moves: a6a5 a8a7 a8b8 c6c5 c8b7 c8d7 c8e6 c8f5 c8g4 c8h3 d5d4 d8d6 d8d7 e7e5 e7e6 e8d7 e8f7 f6f5 g7g5 g7g6 g8h6 h7h5 h7h6


Prompt:
FEN: 8/8/6k1/6P1/6K1/8/8/8 w - -
List the side-to-move pieces and their squares.

Side to move: white.
Pieces: g4 white king; g5 white pawn.


Prompt:
FEN: 3b4/p4k2/1p4pp/2pN1p2/P4P2/1nPK2P1/5B1P/8 b - - 1 38
What legal moves does the piece on c5 have?


Prompt:
FEN: 1k3rB1/pb1n2p1/1p5p/3pP3/1P1P4/P5P1/7P/R1BQ2K1 b - - 0 27
Detect the game state: check, checkmate, stalemate, or none.

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


Prompt:
FEN: r3r1k1/2qn1ppp/2pb1p2/p7/1p1P3P/P4Q2/1PPB1PP1/2KR1B1R w - -
List all capture moves available.


Prompt:
Given FEN: r1b4r/1pq1k1pp/pb3n2/2pBp3/2P1P3/B1N5/P4PPP/1R1Q1RK1 b - -
List any special moves available (castling, en passant, promotion).


Prompt:
FEN: 6k1/8/6Np/r7/2rbR3/6BP/5PPK/8 w - - 2 41
Is the move g3b8 legal?


Prompt:
FEN: rnb1k1nr/p1pp1ppp/4p3/4P3/3P4/3Q4/1PPb1PPP/RN2K1NR w KQkq - 0 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 a1a3 a1a4 a1a5 a1a6 a1a7


Prompt:
FEN: 8/8/2B5/3n1p1p/3k3P/4r3/6RK/8 w - - 0 50
For the piece on h2, 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 h2: h2g1 h2g3 h2h1 h2h3.
Legal: h2g1 h2h1.
Rejected: h2g3 king_would_be_in_check; h2h3 king_would_be_in_check.


Prompt:
FEN: r1bq1rk1/pp2ppb1/1n4pp/4P3/3P1n1B/P2B1N2/1P4PP/RN1Q1RK1 w - - 2 16
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: r3r1k1/ppp2ppp/5q2/n2B4/3P4/P1P1R2P/2P2PP1/R2Q2K1 b - - 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: black.
Pieces: a5 black knight; f6 black queen; a7 black pawn; b7 black pawn; c7 black pawn; f7 black pawn; g7 black pawn; h7 black pawn; a8 black rook; e8 black rook; g8 black king.
Moves by piece:
a5 black knight: a5b3 a5c4 a5c6
f6 black queen: f6a6 f6b6 f6c6 f6d4 f6d6 f6d8 f6e5 f6e6 f6e7 f6f2 f6f3 f6f4 f6f5 f6g5 f6g6 f6h4 f6h6
a7 black pawn: a7a6
b7 black pawn: b7b5 b7b6
c7 black pawn: c7c5 c7c6
f7 black pawn: no legal moves
g7 black pawn: g7g5 g7g6
h7 black pawn: h7h5 h7h6
a8 black rook: a8b8 a8c8 a8d8
e8 black rook: e8b8 e8c8 e8d8 e8e3 e8e4 e8e5 e8e6 e8e7 e8f8
g8 black king: g8f8 g8h8
All legal moves: a5b3 a5c4 a5c6 a7a6 a8b8 a8c8 a8d8 b7b5 b7b6 c7c5 c7c6 e8b8 e8c8 e8d8 e8e3 e8e4 e8e5 e8e6 e8e7 e8f8 f6a6 f6b6 f6c6 f6d4 f6d6 f6d8 f6e5 f6e6 f6e7 f6f2 f6f3 f6f4 f6f5 f6g5 f6g6 f6h4 f6h6 g7g5 g7g6 g8f8 g8h8 h7h5 h7h6


Prompt:
FEN: r2qkb2/1p1n2p1/p1p2ppr/2Ppp2n/3P3B/2N1P3/PPQ2PPP/R3KB1R b KQq -
Walk each ray for the slider on h6: 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: h6 black rook.
Ray N: h7 empty; h8 empty; edge.
Ray E: edge.
Ray S: h5 black knight: own piece (stop, excluded).
Ray W: g6 black pawn: own piece (stop, excluded).
Moves from rays: h6h7 h6h8


Prompt:
FEN: r2qk2r/pp1b1ppp/n1pNp3/3pQ2n/3P4/P3P3/1PP2PPP/R3KBNR b KQkq - 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: e8e7 e8f8


Prompt:
FEN: 5k2/3b2b1/2p1p2p/1pPpP2N/1P1P2K1/7P/3B2P1/8 b - - 9 34
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: d7c8 d7e8 f8e7 f8e8 f8f7 f8g8 g7e5 g7f6 g7h8


Prompt:
FEN: 8/8/8/8/R7/8/1r5p/5K1k b - -
List the side-to-move pieces and their squares.

Side to move: black.
Pieces: h1 black king; b2 black rook; h2 black pawn.


Prompt:
FEN: 6k1/p6p/4RKp1/2r5/1r6/8/P6P/8 b - - 0 34
What legal moves does the piece on a7 have?


Prompt:
FEN: 8/4R3/6p1/3K1p2/8/4k3/8/8 b - -
Detect the game state: check, checkmate, stalemate, or none.


Prompt:
FEN: 8/8/6P1/3kBP2/5bK1/8/8/8 b - -
List all capture moves available.


Prompt:
Given FEN: 8/p7/1p5p/2p3k1/2P1B3/n2PK1P1/7P/8 b - - 1 34
List any special moves available (castling, en passant, promotion).


Prompt:
FEN: 6k1/5p2/P3Q1p1/8/8/8/5K2/8 b - - 0 60
Is the move a8g3 legal?


Prompt:
FEN: 8/5pk1/1R6/pP6/P5P1/6b1/5r1r/R3K3 w - - 7 41
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 a1c1 a1d1


Prompt:
FEN: 8/1k6/P2r1p1p/1K4pP/6P1/4RP2/8/8 b - -
For the piece on d6, 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 d6: d6a6 d6b6 d6c6 d6d1 d6d2 d6d3 d6d4 d6d5 d6d7 d6d8 d6e6.
Legal: d6a6.
Rejected: d6b6 does_not_resolve_check; d6c6 does_not_resolve_check; d6d1 does_not_resolve_check; d6d2 does_not_resolve_check; d6d3 does_not_resolve_check; d6d4 does_not_resolve_check; d6d5 does_not_resolve_check; d6d7 does_not_resolve_check; d6d8 does_not_resolve_check; d6e6 does_not_resolve_check.


Prompt:
FEN: 5rk1/6pp/8/2p1Qp2/2P5/3qP3/1P4PP/4K2R w K - 0 29
For move e1d1, decide whether king safety allows it.

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

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


Prompt:
FEN: rnb1k1nr/1pp2pp1/1b1p1q1p/Pp2p3/2B1P3/2P2N2/3P1PPP/RNBQK2R w KQkq - 0 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: white.
Pieces: a1 white rook; b1 white knight; c1 white bishop; d1 white queen; e1 white king; h1 white rook; d2 white pawn; f2 white pawn; g2 white pawn; h2 white pawn; c3 white pawn; f3 white knight; c4 white bishop; e4 white pawn; a5 white pawn.
Moves by piece:
a1 white rook: a1a2 a1a3 a1a4
b1 white knight: b1a3
c1 white bishop: c1a3 c1b2
d1 white queen: d1a4 d1b3 d1c2 d1e2
e1 white king: e1e2 e1f1 e1g1
h1 white rook: h1f1 h1g1
d2 white pawn: d2d3 d2d4
f2 white pawn: no legal moves
g2 white pawn: g2g3 g2g4
h2 white pawn: h2h3 h2h4
c3 white pawn: no legal moves
f3 white knight: f3d4 f3e5 f3g1 f3g5 f3h4
c4 white bishop: c4a2 c4b3 c4b5 c4d3 c4d5 c4e2 c4e6 c4f1 c4f7
e4 white pawn: no legal moves
a5 white pawn: a5a6 a5b6
All legal moves: a1a2 a1a3 a1a4 a5a6 a5b6 b1a3 c1a3 c1b2 c4a2 c4b3 c4b5 c4d3 c4d5 c4e2 c4e6 c4f1 c4f7 d1a4 d1b3 d1c2 d1e2 d2d3 d2d4 e1e2 e1f1 e1g1 f3d4 f3e5 f3g1 f3g5 f3h4 g2g3 g2g4 h1f1 h1g1 h2h3 h2h4


Prompt:
FEN: 4br1k/6p1/p7/3BP2p/P1N5/1P4Q1/7K/5q2 w - - 8 45
Walk each ray for the slider on g3: 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: g3 white queen.
Ray N: g4 empty; g5 empty; g6 empty; g7 black pawn: capture (stop, included).
Ray NE: h4 empty; edge.
Ray E: h3 empty; edge.
Ray SE: h2 white king: own piece (stop, excluded).
Ray S: g2 empty; g1 empty; edge.
Ray SW: f2 empty; e1 empty; edge.
Ray W: f3 empty; e3 empty; d3 empty; c3 empty; b3 white pawn: own piece (stop, excluded).
Ray NW: f4 empty; e5 white pawn: own piece (stop, excluded).
Moves from rays: g3c3 g3d3 g3e1 g3e3 g3f2 g3f3 g3f4 g3g1 g3g2 g3g4 g3g5 g3g6 g3g7 g3h3 g3h4


Prompt:
FEN: r4r2/4qpbk/2p3pp/4Pp2/p1pP3R/P1P5/3B1QPP/2R3K1 w - - 2 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: c1a1 c1b1 c1c2 c1d1 c1e1 c1f1 d2e1 d2e3 d2f4 d2g5 d2h6 d4d5 e5e6 f2e1 f2e2 f2e3 f2f1 f2f3 f2f4 f2f5 f2g3 g1f1 g1h1 g2g3 g2g4 h2h3 h4e4 h4f4 h4g4 h4h3 h4h5 h4h6


Prompt:
FEN: 8/8/8/8/8/R3k3/8/6KR 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: e3d2 e3d4 e3e2 e3e4 e3f4


Prompt:
FEN: 2r1k2r/p1q2pp1/2p1pbp1/3p4/3P4/2NQ4/PPP2PPP/R4RK1 w k - 2 16
List the side-to-move pieces and their squares.

Side to move: white.
Pieces: a1 white rook; f1 white rook; g1 white king; a2 white pawn; b2 white pawn; c2 white pawn; f2 white pawn; g2 white pawn; h2 white pawn; c3 white knight; d3 white queen; d4 white pawn.


Prompt:
FEN: 2r5/8/8/p2R4/k2P1n2/B7/1P1N1PP1/1K6 w - - 0 41
What legal moves does the piece on a3 have?


Prompt:
FEN: r1b2rk1/pp1nbpp1/4pn1p/q7/2pP3B/2NB1N2/PPQ2PPP/3RK2R w K -
Detect the game state: check, checkmate, stalemate, or none.

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


Prompt:
FEN: r1bqk2r/1pp2pp1/p1np1n1p/2b1p3/4P3/P1NP1N2/1PP1BPPP/R1BQ1RK1 w kq - 0 8
List all capture moves available.


Prompt:
Given FEN: r2qk1r1/pnppn3/1p2p2b/1P2Np1Q/3P1P2/2P3Pp/PBN4P/R4RK1 b q - 5 21
List any special moves available (castling, en passant, promotion).


Prompt:
FEN: r1bk1b1r/ppp1qppp/2p5/8/4n3/3N4/PPPP1PPP/RNBQ1RK1 w - - 3 8
Is the move c2c3 legal?


Prompt:
FEN: 5kr1/pR3ppp/5n2/5r2/3p4/1P6/2PP1PPP/R1B3K1 w - - 0 21
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 a1a7 a1b1


Prompt:
FEN: 8/8/4b2R/4k3/8/P5K1/8/8 w - - 0 46
For the piece on g3, 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 g3: g3f2 g3f3 g3f4 g3g2 g3g4 g3h2 g3h3 g3h4.
Legal: g3f2 g3f3 g3g2 g3h2 g3h4.
Rejected: g3f4 king_would_be_in_check; g3g4 king_would_be_in_check; g3h3 king_would_be_in_check.


Prompt:
FEN: r1bqkbnr/1p1ppppp/p1n5/8/4P3/2Q5/PPP2PPP/RNB1KBNR w KQkq -
For move a2a3, decide whether king safety allows it.

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

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


Prompt:
FEN: rn1k1bnr/ppp3pp/4bp2/4p3/4P3/4BN2/PPP2PPP/RN2KB1R w 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: white.
Pieces: a1 white rook; b1 white knight; e1 white king; f1 white bishop; h1 white rook; a2 white pawn; b2 white pawn; c2 white pawn; f2 white pawn; g2 white pawn; h2 white pawn; e3 white bishop; f3 white knight; e4 white pawn.
Moves by piece:
a1 white rook: no legal moves
b1 white knight: b1a3 b1c3 b1d2
e1 white king: e1d1 e1d2 e1e2
f1 white bishop: f1a6 f1b5 f1c4 f1d3 f1e2
h1 white rook: h1g1
a2 white pawn: a2a3 a2a4
b2 white pawn: b2b3 b2b4
c2 white pawn: c2c3 c2c4
f2 white pawn: no legal moves
g2 white pawn: g2g3 g2g4
h2 white pawn: h2h3 h2h4
e3 white bishop: e3a7 e3b6 e3c1 e3c5 e3d2 e3d4 e3f4 e3g5 e3h6
f3 white knight: f3d2 f3d4 f3e5 f3g1 f3g5 f3h4
e4 white pawn: no legal moves
All legal moves: a2a3 a2a4 b1a3 b1c3 b1d2 b2b3 b2b4 c2c3 c2c4 e1d1 e1d2 e1e2 e3a7 e3b6 e3c1 e3c5 e3d2 e3d4 e3f4 e3g5 e3h6 f1a6 f1b5 f1c4 f1d3 f1e2 f3d2 f3d4 f3e5 f3g1 f3g5 f3h4 g2g3 g2g4 h1g1 h2h3 h2h4


Prompt:
FEN: r1bqk1nr/ppp2ppp/2np4/8/3NP3/2P5/P1P2PPP/R1BQKB1R w KQkq -
Walk each ray for the slider on a1: list every square until a blocker, capture, or the board edge, then list the resulting moves.

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

Piece: a1 white rook.
Ray N: a2 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: 6k1/5p1p/4p1p1/8/1p4P1/pr3P1P/4K3/R7 b - - 0 41
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: a3 black pawn; b3 black rook; b4 black pawn; e6 black pawn; g6 black pawn; f7 black pawn; h7 black pawn; g8 black king.
Filter by piece:
a3 black pawn: pseudo-legal a3a2 | rejected none | legal a3a2
b3 black rook: pseudo-legal b3b1 b3b2 b3c3 b3d3 b3e3 b3f3 | rejected none | legal b3b1 b3b2 b3c3 b3d3 b3e3 b3f3
b4 black pawn: pseudo-legal none | rejected none | legal none
e6 black pawn: pseudo-legal e6e5 | rejected none | legal e6e5
g6 black pawn: pseudo-legal g6g5 | rejected none | legal g6g5
f7 black pawn: pseudo-legal f7f5 f7f6 | rejected none | legal f7f5 f7f6
h7 black pawn: pseudo-legal h7h5 h7h6 | rejected none | legal h7h5 h7h6
g8 black king: pseudo-legal g8f8 g8g7 g8h8 | rejected none | legal g8f8 g8g7 g8h8
All legal moves: a3a2 b3b1 b3b2 b3c3 b3d3 b3e3 b3f3 e6e5 f7f5 f7f6 g6g5 g8f8 g8g7 g8h8 h7h5 h7h6


Prompt:
FEN: r1bqkb1r/1ppp1ppp/p1n5/2n1p3/8/1B3N2/PPPP1PPP/RNBQR1K1 b kq -
List all legal moves.

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

Side to move: black.
Legal moves: a6a5 a8a7 a8b8 b7b5 b7b6 c5a4 c5b3 c5d3 c5e4 c5e6 c6a5 c6a7 c6b4 c6b8 c6d4 c6e7 d7d5 d7d6 d8e7 d8f6 d8g5 d8h4 e5e4 e8e7 f7f5 f7f6 f8d6 f8e7 g7g5 g7g6 h7h5 h7h6 h8g8


Prompt:
FEN: 2k5/6pp/p7/b3p3/P1p1P3/2NR1Pn1/1P1K2PP/2Q3q1 b - -
List the side-to-move pieces and their squares.

Side to move: black.
Pieces: g1 black queen; g3 black knight; c4 black pawn; a5 black bishop; e5 black pawn; a6 black pawn; g7 black pawn; h7 black pawn; c8 black king.


Prompt:
FEN: 8/8/8/8/8/8/K1N1pk2/8 w - -
What legal moves does the piece on a2 have?


Prompt:
FEN: rnbqkb1r/1p3ppp/p2p1n2/2p1p3/2P1P3/3P4/PPN2PPP/R1BQKBNR w KQkq - 1 6
Detect the game state: check, checkmate, stalemate, or none.

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


Prompt:
FEN: r1bqk2r/pppp1ppp/2n5/1B2P3/1b1Pn3/5N2/PP3PPP/RNBQ1K1R b kq -
List all capture moves available.


Prompt:
Given FEN: 1nr2rk1/pn3ppp/1p1p4/3Pp3/1P2P1P1/P3B1P1/5PB1/2R2RK1 b - -
List any special moves available (castling, en passant, promotion).


Prompt:
FEN: r3k1nr/4q1p1/pRpbp2p/4B3/P1pP4/2P4P/1RQ1NPP1/6K1 b kq - 2 24
Is the move e7c7 legal?


Prompt:
FEN: 1r4k1/Q4p1p/2Bb2p1/4p3/7q/3p2Nb/PP3PRP/1R3K2 w - - 0 28
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 b1c1 b1d1 b1e1


Prompt:
FEN: r1b1k2r/bpp2ppp/p1np3n/4p1N1/PPB1P3/1QPP4/5qPP/RNBK3R b kq - 1 10
For the piece on f2, 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 f2: f2a2 f2b2 f2b6 f2c2 f2c5 f2d2 f2d4 f2e1 f2e2 f2e3 f2f1 f2f3 f2f4 f2f5 f2f6 f2g1 f2g2 f2g3 f2h4.
Legal: f2a2 f2b2 f2b6 f2c2 f2c5 f2d2 f2d4 f2e1 f2e2 f2e3 f2f1 f2f3 f2f4 f2f5 f2f6 f2g1 f2g2 f2g3 f2h4.
Rejected: none.


Prompt:
FEN: 1nb5/r3b2p/2p3pk/1p1p4/p4r2/P2P1PNP/BPP2P2/2KR3R w - - 1 22
For move a2b1, decide whether king safety allows it.

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

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


Prompt:
FEN: 3NR3/5pk1/6pn/7p/R1B4P/2r3P1/2n2P1K/3r4 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: d1 black rook; c2 black knight; c3 black rook; h5 black pawn; g6 black pawn; h6 black knight; f7 black pawn; g7 black king.
Moves by piece:
d1 black rook: d1a1 d1b1 d1c1 d1d2 d1d3 d1d4 d1d5 d1d6 d1d7 d1d8 d1e1 d1f1 d1g1 d1h1
c2 black knight: c2a1 c2a3 c2b4 c2d4 c2e1 c2e3
c3 black rook: c3a3 c3b3 c3c4 c3d3 c3e3 c3f3 c3g3
h5 black pawn: no legal moves
g6 black pawn: g6g5
h6 black knight: h6f5 h6g4 h6g8
f7 black pawn: f7f5 f7f6
g7 black king: g7f6 g7h7
All legal moves: c2a1 c2a3 c2b4 c2d4 c2e1 c2e3 c3a3 c3b3 c3c4 c3d3 c3e3 c3f3 c3g3 d1a1 d1b1 d1c1 d1d2 d1d3 d1d4 d1d5 d1d6 d1d7 d1d8 d1e1 d1f1 d1g1 d1h1 f7f5 f7f6 g6g5 g7f6 g7h7 h6f5 h6g4 h6g8


Prompt:
FEN: r4rk1/1p2q1p1/p2p1pBp/3P1P2/2PpP3/1P2b2P/P5P1/R2Q1R1K b - - 0 22
Walk each ray for the slider on e3: 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: e3 black bishop.
Ray NE: f4 empty; g5 empty; h6 black pawn: own piece (stop, excluded).
Ray SE: f2 empty; g1 empty; edge.
Ray SW: d2 empty; c1 empty; edge.
Ray NW: d4 black pawn: own piece (stop, excluded).
Moves from rays: e3c1 e3d2 e3f2 e3f4 e3g1 e3g5


Prompt:
FEN: 1Q1q2k1/p3bppp/4p3/3r4/8/6P1/P3PP1P/1R3RK1 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 d5a5 d5b5 d5c5 d5d1 d5d2 d5d3 d5d4 d5d6 d5d7 d5e5 d5f5 d5g5 d5h5 d8b8 d8c8 d8e8 d8f8 e6e5 e7a3 e7b4 e7c5 e7d6 e7f6 e7f8 e7g5 e7h4 f7f5 f7f6 g7g5 g7g6 g8f8 g8h8 h7h5 h7h6


Prompt:
FEN: r4qk1/1bp2p1p/1p1n1P2/1p1ppBP1/1P2P3/2PP4/PB5P/R2Q1RK1 w - - 2 26
List all legal moves.

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

Side to move: white.
Legal moves: a1b1 a1c1 a2a3 a2a4 b2a3 b2c1 c3c4 d1a4 d1b1 d1b3 d1c1 d1c2 d1d2 d1e1 d1e2 d1f3 d1g4 d1h5 d3d4 e4d5 f1e1 f1f2 f1f3 f1f4 f5c8 f5d7 f5e6 f5g4 f5g6 f5h3 f5h7 g1f2 g1g2 g1h1 g5g6 h2h3 h2h4


Prompt:
FEN: rn1qk2r/pp1bnpbp/6p1/1BPp4/8/2P2N2/PP2QPPP/RNB1K2R b KQkq -
List the side-to-move pieces and their squares.

Side to move: black.
Pieces: d5 black pawn; g6 black pawn; a7 black pawn; b7 black pawn; d7 black bishop; e7 black knight; f7 black pawn; g7 black bishop; h7 black pawn; a8 black rook; b8 black knight; d8 black queen; e8 black king; h8 black rook.


Prompt:
FEN: 3r3r/kbRP1pnp/1p2pNp1/pP6/P7/4N3/4BPPP/2R3K1 w - - 5 29
What legal moves does the piece on e3 have?


Prompt:
FEN: rn1qkbnr/ppp1pppp/8/3p4/2PP4/5P2/PP2PP1P/RNBQKB1R b KQkq - 0 4
Detect the game state: check, checkmate, stalemate, or none.

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


Prompt:
FEN: r3k1nr/p2bq3/n1ppp1pp/5p2/1P3P2/1P2P1P1/PRNPQ1BP/4K1NR w Kkq - 1 15
List all capture moves available.


Prompt:
Given FEN: r1bqk2r/1pp2pp1/pbnp1n1p/4p3/PPB1P3/2PP1N2/5PPP/RNBQ1RK1 w kq - 0 9
List any special moves available (castling, en passant, promotion).


Prompt:
FEN: r1b2rk1/3nnppp/4p3/qp1p4/2pP4/2P2N2/P1BN1PPP/R2QR1K1 w - - 0 16
Is the move b5h7 legal?


Prompt:
FEN: 8/1K2k1p1/7p/pB2np2/1p5P/1P6/P7/8 b - - 1 56
List pseudo-legal moves from a5.

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


Prompt:
FEN: 8/8/1K6/3k4/2B5/5R2/8/8 b - -
For the piece on d5, 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 d5: d5c4 d5c5 d5c6 d5d4 d5d6 d5e4 d5e5 d5e6.
Legal: d5c4 d5d4 d5d6 d5e4 d5e5.
Rejected: d5c5 does_not_resolve_check; d5c6 does_not_resolve_check; d5e6 does_not_resolve_check.


Prompt:
FEN: 8/8/1k6/2NK4/3Q4/8/8/8 w - -
For move d5c6, decide whether king safety allows it.

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

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


Prompt:
FEN: 8/7p/p1k3p1/P1p1p3/4P3/1P5P/5KP1/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: f2 white king; g2 white pawn; b3 white pawn; h3 white pawn; e4 white pawn; a5 white pawn.
Moves by piece:
f2 white king: f2e1 f2e2 f2e3 f2f1 f2f3 f2g1 f2g3
g2 white pawn: g2g3 g2g4
b3 white pawn: b3b4
h3 white pawn: h3h4
e4 white pawn: no legal moves
a5 white pawn: no legal moves
All legal moves: b3b4 f2e1 f2e2 f2e3 f2f1 f2f3 f2g1 f2g3 g2g3 g2g4 h3h4


Prompt:
FEN: r4rk1/pp3ppp/1q2p3/4Rn2/6Q1/2N5/PPP2PPP/R5K1 w - - 1 18
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 empty; f1 empty; g1 white king: own piece (stop, excluded).
Ray S: edge.
Ray W: edge.
Moves from rays: a1b1 a1c1 a1d1 a1e1 a1f1


Prompt:
FEN: rn1qkbnr/pbp1p3/1p1p1p2/6pp/2PP4/2NBPN2/PP1B1PPP/R2QK2R b KQkq - 1 7
List all legal moves.

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

Side to move: black.
Legal moves: a7a5 a7a6 b6b5 b7a6 b7c6 b7c8 b7d5 b7e4 b7f3 b8a6 b8c6 b8d7 c7c5 c7c6 d6d5 d8c8 d8d7 e7e5 e7e6 e8d7 e8f7 f6f5 f8g7 f8h6 g5g4 g8h6 h5h4 h8h6 h8h7


Prompt:
FEN: r2qkb1r/pp1bpppp/2np1n2/1Bp5/4P3/2P2N1P/PP1P1PP1/RNBQ1RK1 b kq -
List all legal moves.

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

Side to move: black.
Legal moves: a7a5 a7a6 a8b8 a8c8 b7b6 c5c4 c6a5 c6b4 c6b8 c6d4 c6e5 d6d5 d7c8 d7e6 d7f5 d7g4 d7h3 d8a5 d8b6 d8b8 d8c7 d8c8 e7e5 e7e6 f6d5 f6e4 f6g4 f6g8 f6h5 g7g5 g7g6 h7h5 h7h6 h8g8


Prompt:
FEN: 3rk2r/pp3ppp/2n2n2/2b2b2/8/2N2P2/PP1BP1PP/R1K2BNR b k -
List the side-to-move pieces and their squares.

Side to move: black.
Pieces: c5 black bishop; f5 black bishop; c6 black knight; f6 black knight; a7 black pawn; b7 black pawn; f7 black pawn; g7 black pawn; h7 black pawn; d8 black rook; e8 black king; h8 black rook.


Prompt:
FEN: 2k2r1r/pp4p1/2p2p2/P1n5/3p4/5Q2/1P3KBB/R4R2 b - - 0 27
What legal moves does the piece on c8 have?


Prompt:
FEN: rnbqk2r/pppp2pp/3bp3/5p2/3PN3/4BN2/PPPQPPPP/R3KB1R b KQkq - 0 6
Detect the game state: check, checkmate, stalemate, or none.

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


Prompt:
FEN: 3R4/6Bk/5p2/1p2p3/1P2n2p/7P/6PK/2r5 b - -
List all capture moves available.


Prompt:
Given FEN: rnbqk1nr/pp2bppp/2p1p3/8/4P3/2N3P1/PP1P1PBP/R1BQK1NR w KQkq - 2 7
List any special moves available (castling, en passant, promotion).


Prompt:
FEN: 8/5p1p/4k1p1/p1p5/1b1rKPPP/1P6/3p4/3R4 w - - 3 35
Is the move c4d4 legal?


Prompt:
FEN: r4rk1/3q1p2/p1n1b1p1/1p1nP1Bp/1p2N2Q/3B1N2/P1P4P/R4RK1 b - - 1 19
List pseudo-legal moves from b4.

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


Prompt:
FEN: 8/2R5/8/4K3/8/4k3/8/8 w - -
For the piece on e5, split pseudo-legal moves into legal and rejected moves with rejection reasons.

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

Pseudo-legal from e5: e5d4 e5d5 e5d6 e5e4 e5e6 e5f4 e5f5 e5f6.
Legal: e5d5 e5d6 e5e6 e5f5 e5f6.
Rejected: e5d4 king_would_be_in_check; e5e4 king_would_be_in_check; e5f4 king_would_be_in_check.


Prompt:
FEN: 2r2k2/3p2pp/p7/1p1pN3/5n2/2P2P2/PP1P1K1P/1R6 w - - 0 27
For move f2e2, decide whether king safety allows it.

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

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


Prompt:
FEN: rn1qkbnr/pbp2ppp/1p1pp3/1N6/3P1B2/5P2/PPP1P1PP/R2QKBNR b KQkq - 0 5
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: b6 black pawn; d6 black pawn; e6 black pawn; a7 black pawn; b7 black bishop; c7 black pawn; f7 black pawn; g7 black pawn; h7 black pawn; a8 black rook; b8 black knight; d8 black queen; e8 black king; f8 black bishop; g8 black knight; h8 black rook.
Moves by piece:
b6 black pawn: no legal moves
d6 black pawn: d6d5
e6 black pawn: e6e5
a7 black pawn: a7a5 a7a6
b7 black bishop: b7a6 b7c6 b7c8 b7d5 b7e4 b7f3
c7 black pawn: c7c5 c7c6
f7 black pawn: f7f5 f7f6
g7 black pawn: g7g5 g7g6
h7 black pawn: h7h5 h7h6
a8 black rook: no legal moves
b8 black knight: b8a6 b8c6 b8d7
d8 black queen: d8c8 d8d7 d8e7 d8f6 d8g5 d8h4
e8 black king: e8d7 e8e7
f8 black bishop: f8e7
g8 black knight: g8e7 g8f6 g8h6
h8 black rook: no legal moves
All legal moves: a7a5 a7a6 b7a6 b7c6 b7c8 b7d5 b7e4 b7f3 b8a6 b8c6 b8d7 c7c5 c7c6 d6d5 d8c8 d8d7 d8e7 d8f6 d8g5 d8h4 e6e5 e8d7 e8e7 f7f5 f7f6 f8e7 g7g5 g7g6 g8e7 g8f6 g8h6 h7h5 h7h6


Prompt:
FEN: r1bqk2r/1pppbppp/p1n5/4p2P/2B1Pn2/2N2N2/PPPP1PP1/R1BQK2R w KQkq -
Walk each ray for the slider on a1: list every square until a blocker, capture, or the board edge, then list the resulting moves.

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

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


Prompt:
FEN: rnbq1rk1/pp2bppp/4pn2/2pP4/8/1P2PN2/PBQP1PPP/RN2KB1R b KQ -
List all legal moves.

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

Side to move: black.
Legal moves: a7a5 a7a6 b7b5 b7b6 b8a6 b8c6 b8d7 c5c4 c8d7 d8a5 d8b6 d8c7 d8d5 d8d6 d8d7 d8e8 e6d5 e6e5 e7d6 f6d5 f6d7 f6e4 f6e8 f6g4 f6h5 f8e8 g7g5 g7g6 g8h8 h7h5 h7h6


Prompt:
FEN: r1b1kb1r/1pp2ppp/p2p1n2/8/3Pq3/4BN2/PPP2PPP/R2QKB1R b KQkq - 1 9
List all legal moves.

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

Side to move: black.
Legal moves: a6a5 a8a7 a8b8 b7b5 b7b6 c7c5 c7c6 c8d7 c8e6 c8f5 c8g4 c8h3 d6d5 e4c2 e4c6 e4d3 e4d4 e4d5 e4e3 e4e5 e4e6 e4e7 e4f3 e4f4 e4f5 e4g4 e4g6 e4h4 e8d7 e8d8 e8e7 f6d5 f6d7 f6g4 f6g8 f6h5 f8e7 g7g5 g7g6 h7h5 h7h6 h8g8


Prompt:
FEN: r1bqk2r/p3ppbp/p1p2np1/3p4/3P1B2/2N1P3/PPP2PPP/R2QK1NR w KQkq -
List the side-to-move pieces and their squares.

Side to move: white.
Pieces: a1 white rook; d1 white queen; e1 white king; g1 white knight; h1 white rook; a2 white pawn; b2 white pawn; c2 white pawn; f2 white pawn; g2 white pawn; h2 white pawn; c3 white knight; e3 white pawn; d4 white pawn; f4 white bishop.


Prompt:
FEN: r1b1k2r/ppp1qppp/2np1n2/6B1/3pP3/5N2/PPP2PPP/R2QKB1R w KQkq -
What legal moves does the piece on e1 have?


Prompt:
FEN: 2r2rk1/p5Pp/8/2p5/3pRp2/8/PPP2P1P/4R1K1 b - - 0 24
Detect the game state: check, checkmate, stalemate, or none.

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


Prompt:
FEN: rnb1kb1r/pp2pppp/1qp5/3p4/2PPnB2/2N5/PPQ1PPPP/R3KBNR b KQkq -
List all capture moves available.


Prompt:
Given FEN: 8/pp2kb2/3pr3/2pR2pp/2P1p3/P3K2P/1P6/5R2 w - - 2 30
List any special moves available (castling, en passant, promotion).


Prompt:
FEN: 2k4r/ppp2pp1/2n4p/8/8/1NPrb3/PP1N2PP/R2R1K2 b - - 1 20
Is the move f7f5 legal?


Prompt:
FEN: 5k2/1r5p/1p3R2/3r4/8/1P3P2/1K5P/8 b - - 3 34
List pseudo-legal moves from d5.

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

Pseudo-legal moves from d5: d5a5 d5b5 d5c5 d5d1 d5d2 d5d3 d5d4 d5d6 d5d7 d5d8 d5e5 d5f5 d5g5 d5h5


Prompt:
FEN: r1b1k2r/ppqppp2/2n2np1/4P2p/5P2/PN1B4/2PB2PP/R2Q1RK1 b kq - 0 14
For the piece on h5, 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 h5: h5h4.
Legal: h5h4.
Rejected: none.


Prompt:
FEN: r1bqkb1r/pp3ppp/2n2n2/4p3/N2p4/1B1P4/PPP2PPP/R1BQK1NR w KQkq - 1 8
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: 7k/8/2r5/2N2rp1/1p4R1/P3P2P/2R2P1K/8 w - - 0 42
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: c2 white rook; f2 white pawn; h2 white king; a3 white pawn; e3 white pawn; h3 white pawn; g4 white rook; c5 white knight.
Moves by piece:
c2 white rook: c2a2 c2b2 c2c1 c2c3 c2c4 c2d2 c2e2
f2 white pawn: f2f3 f2f4
h2 white king: h2g1 h2g2 h2g3 h2h1
a3 white pawn: a3a4 a3b4
e3 white pawn: e3e4
h3 white pawn: h3h4
g4 white rook: g4b4 g4c4 g4d4 g4e4 g4f4 g4g1 g4g2 g4g3 g4g5 g4h4
c5 white knight: c5a4 c5a6 c5b3 c5b7 c5d3 c5d7 c5e4 c5e6
All legal moves: a3a4 a3b4 c2a2 c2b2 c2c1 c2c3 c2c4 c2d2 c2e2 c5a4 c5a6 c5b3 c5b7 c5d3 c5d7 c5e4 c5e6 e3e4 f2f3 f2f4 g4b4 g4c4 g4d4 g4e4 g4f4 g4g1 g4g2 g4g3 g4g5 g4h4 h2g1 h2g2 h2g3 h2h1 h3h4


Prompt:
FEN: 5nk1/1p3n1p/1q4p1/2p1p3/rbP1P1NP/2B3P1/1Q3P2/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 empty; d4 empty; d5 empty; d6 empty; d7 empty; d8 empty; edge.
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 d1d4 d1d5 d1d6 d1d7 d1d8 d1e1 d1f1


Prompt:
FEN: 5r1k/q5Bp/p3Q3/1p6/1P6/P2P2P1/5P1P/3n1RK1 b - - 0 26
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: a7g7 h8g7


Prompt:
FEN: 8/8/5pp1/3p1k2/p5bP/2B1K3/6P1/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: a4a3 d5d4 f5e6 g4d1 g4e2 g4f3 g4h3 g4h5 g6g5


Prompt:
FEN: rn2k2r/pp3pp1/3qpnp1/2pp4/3P4/3Q2P1/PPP1PPBP/RN3RK1 b kq -
List the side-to-move pieces and their squares.

Side to move: black.
Pieces: c5 black pawn; d5 black pawn; d6 black queen; e6 black pawn; f6 black knight; g6 black pawn; a7 black pawn; b7 black pawn; f7 black pawn; g7 black pawn; a8 black rook; b8 black knight; e8 black king; h8 black rook.


Prompt:
FEN: rnbk3N/pppq2pp/3p4/4p2B/4P2b/6P1/PPPP1K1P/RNBQ3R b - - 0 10
What legal moves does the piece on b7 have?


Prompt:
FEN: r1bqk1nr/ppp2ppp/3b4/3pn3/8/1P2PN2/P1PP2PP/RNBQKB1R w KQkq -
Detect the game state: check, checkmate, stalemate, or none.

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


Prompt:
FEN: 8/4k3/p4p1p/1b6/2n1NPPP/1BP2K2/8/8 w - -
List all capture moves available.


Prompt:
Given FEN: 2rq1rk1/pp2bppp/2n1pn2/2pp3b/3PP3/2P1BN1P/PPBN1PP1/RQ3RK1 b - -
List any special moves available (castling, en passant, promotion).


Prompt:
FEN: rn1qkb1r/pp2pp1p/2p2p2/5b2/3P4/2P5/PP3PPP/R1BQKBNR w KQkq -
Is the move d1b3 legal?


Prompt:
FEN: 3rr1k1/1p3p1p/p5p1/3q1n2/3P1Q2/P3B3/1P3PPP/3RR1K1 b - -
List pseudo-legal moves from d5.

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

Pseudo-legal moves from d5: d5a2 d5a5 d5b3 d5b5 d5c4 d5c5 d5c6 d5d4 d5d6 d5d7 d5e4 d5e5 d5e6 d5f3 d5g2


Prompt:
FEN: 2R5/4k1pp/4P3/p4P2/rb6/6P1/6PK/8 w - -
For the piece on h2, 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 h2: h2g1 h2h1 h2h3.
Legal: h2g1 h2h1 h2h3.
Rejected: none.


Prompt:
FEN: 5rk1/3qnpp1/7p/b2p1bP1/2pP1B2/p1P2Q2/P1B2PP1/1R3NK1 w - -
For move b1a1, decide whether king safety allows it.

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

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


Prompt:
FEN: 2kr1bnr/pbq2ppp/1pn5/2pNp3/1P1pP3/P2B1N2/1BPP1PPP/R2Q1RK1 b - - 1 10
Group all legal moves by side-to-move piece.

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

Side to move: black.
Pieces: d4 black pawn; c5 black pawn; e5 black pawn; b6 black pawn; c6 black knight; a7 black pawn; b7 black bishop; c7 black queen; f7 black pawn; g7 black pawn; h7 black pawn; c8 black king; d8 black rook; f8 black bishop; g8 black knight; h8 black rook.
Moves by piece:
d4 black pawn: no legal moves
c5 black pawn: c5b4 c5c4
e5 black pawn: no legal moves
b6 black pawn: b6b5
c6 black knight: c6a5 c6b4 c6b8 c6e7
a7 black pawn: a7a5 a7a6
b7 black bishop: b7a6 b7a8
c7 black queen: c7b8 c7d6 c7d7 c7e7
f7 black pawn: f7f5 f7f6
g7 black pawn: g7g5 g7g6
h7 black pawn: h7h5 h7h6
c8 black king: c8b8 c8d7
d8 black rook: d8d5 d8d6 d8d7 d8e8
f8 black bishop: f8d6 f8e7
g8 black knight: g8e7 g8f6 g8h6
h8 black rook: no legal moves
All legal moves: a7a5 a7a6 b6b5 b7a6 b7a8 c5b4 c5c4 c6a5 c6b4 c6b8 c6e7 c7b8 c7d6 c7d7 c7e7 c8b8 c8d7 d8d5 d8d6 d8d7 d8e8 f7f5 f7f6 f8d6 f8e7 g7g5 g7g6 g8e7 g8f6 g8h6 h7h5 h7h6


Prompt:
FEN: 2r2rk1/1p3ppp/p2qp3/3p1b2/3P4/1Q6/PP2NPPP/2R2RK1 w - - 0 18
Walk each ray for the slider on c1: 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: c1 white rook.
Ray N: c2 empty; c3 empty; c4 empty; c5 empty; c6 empty; c7 empty; c8 black rook: capture (stop, included).
Ray E: d1 empty; e1 empty; f1 white rook: own piece (stop, excluded).
Ray S: edge.
Ray W: b1 empty; a1 empty; edge.
Moves from rays: c1a1 c1b1 c1c2 c1c3 c1c4 c1c5 c1c6 c1c7 c1c8 c1d1 c1e1


Prompt:
FEN: 2r3k1/1bq4p/p1p3p1/2P4n/P3p3/7P/1Q3PP1/3R1BK1 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: a4a5 b2a1 b2a2 b2a3 b2b1 b2b3 b2b4 b2b5 b2b6 b2b7 b2c1 b2c2 b2c3 b2d2 b2d4 b2e2 b2e5 b2f6 b2g7 b2h8 d1a1 d1b1 d1c1 d1d2 d1d3 d1d4 d1d5 d1d6 d1d7 d1d8 d1e1 f1a6 f1b5 f1c4 f1d3 f1e2 f2f3 f2f4 g1h1 g2g3 g2g4 h3h4