Prompt:
FEN: 8/1p6/p3p3/3p1pk1/3P4/2P2K1P/PP6/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: a2 white pawn; b2 white pawn; c3 white pawn; f3 white king; h3 white pawn; d4 white pawn.
Filter by piece:
a2 white pawn: pseudo-legal a2a3 a2a4 | rejected none | legal a2a3 a2a4
b2 white pawn: pseudo-legal b2b3 b2b4 | rejected none | legal b2b3 b2b4
c3 white pawn: pseudo-legal c3c4 | rejected none | legal c3c4
f3 white king: pseudo-legal f3e2 f3e3 f3e4 f3f2 f3f4 f3g2 f3g3 f3g4 | rejected f3e4 king_would_be_in_check; f3f4 king_would_be_in_check; f3g4 king_would_be_in_check | legal f3e2 f3e3 f3f2 f3g2 f3g3
h3 white pawn: pseudo-legal h3h4 | rejected none | legal h3h4
d4 white pawn: pseudo-legal none | rejected none | legal none
All legal moves: a2a3 a2a4 b2b3 b2b4 c3c4 f3e2 f3e3 f3f2 f3g2 f3g3 h3h4


Prompt:
FEN: 8/8/5K2/8/8/4k3/5p2/3Q4 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: e3e4 e3f4 f2f1b f2f1n f2f1q f2f1r


Prompt:
FEN: 2kr1r2/1pp3p1/p4n1p/4b1B1/1PB5/2P2P2/P1K3PP/3R3R w - - 0 22
List the side-to-move pieces and their squares.

Side to move: white.
Pieces: d1 white rook; h1 white rook; a2 white pawn; c2 white king; g2 white pawn; h2 white pawn; c3 white pawn; f3 white pawn; b4 white pawn; c4 white bishop; g5 white bishop.


Prompt:
FEN: r1b2rk1/ppq2ppp/2n2n2/2p5/5B2/1P1P1N2/P1P3BP/RN1QR2K b - - 0 15
What legal moves does the piece on c6 have?


Prompt:
FEN: 8/6k1/4K3/8/2R3p1/7p/8/8 b - -
Detect the game state: check, checkmate, stalemate, or none.

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


Prompt:
FEN: 8/8/8/ppp2p1p/4kBpP/PbK3P1/8/8 b - - 3 47
List all capture moves available.


Prompt:
Given FEN: rnb1k2r/ppp2pp1/3b1p1p/7q/3P4/2N2N2/PPP2PPP/R2QKB1R w KQkq -
List any special moves available (castling, en passant, promotion).


Prompt:
FEN: 3r4/pp3k1p/6p1/2P1q3/4p1K1/4B3/PP2P2r/R3R2B w - -
Is the move a2e1 legal?

No, illegal. Reason: own piece destination.


Prompt:
FEN: 2kr3r/ppp5/7p/3npp2/b5p1/1NP1P3/P1K2PPP/3R1B1R b - - 0 19
List pseudo-legal moves from a4.

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

Pseudo-legal moves from a4: a4b3 a4b5 a4c6 a4d7 a4e8


Prompt:
FEN: 1kr4r/4bpp1/p1p1p3/Np1qPn2/PP1Pb2p/R1Q2N1P/3B1PP1/2R3K1 w - -
For the piece on c1, split pseudo-legal moves into legal and rejected moves with rejection reasons.

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

Pseudo-legal from c1: c1a1 c1b1 c1c2 c1d1 c1e1 c1f1.
Legal: c1a1 c1b1 c1c2 c1d1 c1e1 c1f1.
Rejected: none.


Prompt:
FEN: 8/8/2k5/6Q1/3K4/8/8/8 b - -
For move c6b5, decide whether king safety allows it.

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

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


Prompt:
FEN: rn1qkbnr/pb3ppp/1pppp3/3P4/2P1P3/P7/1P3PPP/RNBQKBNR w KQkq - 0 6
Group all legal moves by side-to-move piece.

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

Side to move: white.
Pieces: a1 white rook; b1 white knight; c1 white bishop; d1 white queen; e1 white king; f1 white bishop; g1 white knight; h1 white rook; b2 white pawn; f2 white pawn; g2 white pawn; h2 white pawn; a3 white pawn; c4 white pawn; e4 white pawn; d5 white pawn.
Moves by piece:
a1 white rook: a1a2
b1 white knight: b1c3 b1d2
c1 white bishop: c1d2 c1e3 c1f4 c1g5 c1h6
d1 white queen: d1a4 d1b3 d1c2 d1d2 d1d3 d1d4 d1e2 d1f3 d1g4 d1h5
e1 white king: e1d2 e1e2
f1 white bishop: f1d3 f1e2
g1 white knight: g1e2 g1f3 g1h3
h1 white rook: no legal moves
b2 white pawn: b2b3 b2b4
f2 white pawn: f2f3 f2f4
g2 white pawn: g2g3 g2g4
h2 white pawn: h2h3 h2h4
a3 white pawn: a3a4
c4 white pawn: c4c5
e4 white pawn: e4e5
d5 white pawn: d5c6 d5e6
All legal moves: a1a2 a3a4 b1c3 b1d2 b2b3 b2b4 c1d2 c1e3 c1f4 c1g5 c1h6 c4c5 d1a4 d1b3 d1c2 d1d2 d1d3 d1d4 d1e2 d1f3 d1g4 d1h5 d5c6 d5e6 e1d2 e1e2 e4e5 f1d3 f1e2 f2f3 f2f4 g1e2 g1f3 g1h3 g2g3 g2g4 h2h3 h2h4


Prompt:
FEN: 2kr3r/1pq4p/p1n2p2/3p2p1/PPpP4/2P5/B2NQPPb/R1B2R1K b - - 1 19
Walk each ray for the slider on h2: 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: h2 black bishop.
Ray NE: edge.
Ray SE: edge.
Ray SW: g1 empty; edge.
Ray NW: g3 empty; f4 empty; e5 empty; d6 empty; c7 black queen: own piece (stop, excluded).
Moves from rays: h2d6 h2e5 h2f4 h2g1 h2g3


Prompt:
FEN: r5k1/1b4pp/pp2p1r1/8/P2p3q/1B1Q2P1/1PP2P1P/4RRK1 b - -
List all legal moves.

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

Side to move: black.
Legal moves: a6a5 a8a7 a8b8 a8c8 a8d8 a8e8 a8f8 b6b5 b7c6 b7c8 b7d5 b7e4 b7f3 b7g2 b7h1 g6f6 g6g3 g6g4 g6g5 g6h6 g8f7 g8f8 g8h8 h4d8 h4e4 h4e7 h4f4 h4f6 h4g3 h4g4 h4g5 h4h2 h4h3 h4h5 h4h6 h7h5 h7h6


Prompt:
FEN: r3r1k1/5bbp/6p1/2B1pp2/pP2p3/6P1/2RN1PKP/R7 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 a1d1 a1e1 a1f1 a1g1 a1h1 b4b5 c2a2 c2b2 c2c1 c2c3 c2c4 c5a7 c5b6 c5d4 c5d6 c5e3 c5e7 c5f8 d2b1 d2b3 d2c4 d2e4 d2f1 d2f3 f2f3 f2f4 g2f1 g2g1 g2h1 g2h3 g3g4 h2h3 h2h4


Prompt:
FEN: r4rk1/pb2b1p1/1p2pn1p/8/3PN3/3B2qP/PP4P1/R1B2RK1 w - - 0 20
List the side-to-move pieces and their squares.

Side to move: white.
Pieces: a1 white rook; c1 white bishop; f1 white rook; g1 white king; a2 white pawn; b2 white pawn; g2 white pawn; d3 white bishop; h3 white pawn; d4 white pawn; e4 white knight.


Prompt:
FEN: 1k3r2/pp4p1/3bpn2/5qp1/3P2p1/1P2B3/P4P2/2R1N1KQ b - - 1 31
What legal moves does the piece on g4 have?


Prompt:
FEN: r2qn2r/1b1k4/3p2QB/2pP4/p3P2p/P6P/BbP2PP1/R3K2R w KQ - 0 23
Detect the game state: check, checkmate, stalemate, or none.

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


Prompt:
FEN: rn1qkb1r/pp2pppp/2p2nb1/3p4/3P3N/5PP1/PPP1P1BP/RNBQK2R w KQkq -
List all capture moves available.


Prompt:
Given FEN: r1b1k1r1/pp2np1Q/2n1pq2/3p4/8/P1p1BN2/2P1BPPP/R3K2R w KQq -
List any special moves available (castling, en passant, promotion).

Castling available: kingside, queenside.


Prompt:
FEN: 2rqr1k1/Q4pbp/P3p1p1/3n4/2pP4/4PB1P/1P3PPB/R4RK1 w - - 1 20
Is the move h2e5 legal?


Prompt:
FEN: 3r1rk1/p4ppp/1p3q2/1Qp5/8/5N1P/PPP2PP1/4R1K1 b - - 3 19
List pseudo-legal moves from c5.

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


Prompt:
FEN: 3r1kr1/pp2p1bp/1n4p1/4np2/2P2P2/1P1BQqPP/PB3K2/N1R3R1 w - -
For the piece on a1, split pseudo-legal moves into legal and rejected moves with rejection reasons.

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

Pseudo-legal from a1: a1c2.
Legal: none.
Rejected: a1c2 does_not_resolve_check.


Prompt:
FEN: rnbqkbnr/pp1p1ppp/2p5/8/2PPN3/8/PP2PPPP/R1BQKBNR b KQkq - 0 4
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: 4r1r1/pp2b3/2p1P2k/4R2p/6Pq/PP1Q1p1P/1B3P2/3R2K1 b - - 4 34
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: f3 black pawn; h4 black queen; h5 black pawn; c6 black pawn; h6 black king; a7 black pawn; b7 black pawn; e7 black bishop; e8 black rook; g8 black rook.
Moves by piece:
f3 black pawn: no legal moves
h4 black queen: h4f2 h4f6 h4g3 h4g4 h4g5 h4h3
h5 black pawn: h5g4
c6 black pawn: c6c5
h6 black king: h6g7
a7 black pawn: a7a5 a7a6
b7 black pawn: b7b5 b7b6
e7 black bishop: e7a3 e7b4 e7c5 e7d6 e7d8 e7f6 e7f8 e7g5
e8 black rook: e8a8 e8b8 e8c8 e8d8 e8f8
g8 black rook: g8f8 g8g4 g8g5 g8g6 g8g7 g8h8
All legal moves: a7a5 a7a6 b7b5 b7b6 c6c5 e7a3 e7b4 e7c5 e7d6 e7d8 e7f6 e7f8 e7g5 e8a8 e8b8 e8c8 e8d8 e8f8 g8f8 g8g4 g8g5 g8g6 g8g7 g8h8 h4f2 h4f6 h4g3 h4g4 h4g5 h4h3 h5g4 h6g7


Prompt:
FEN: 6k1/p1q2p1p/1p2p1p1/8/8/P3Q1RP/1P3PPK/3r4 b - - 3 28
Walk each ray for the slider on d1: list every square until a blocker, capture, or the board edge, then list the resulting moves.

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

Piece: d1 black rook.
Ray N: d2 empty; d3 empty; d4 empty; d5 empty; d6 empty; d7 empty; d8 empty; edge.
Ray E: e1 empty; f1 empty; g1 empty; h1 empty; edge.
Ray S: edge.
Ray W: c1 empty; b1 empty; a1 empty; edge.
Moves from rays: d1a1 d1b1 d1c1 d1d2 d1d3 d1d4 d1d5 d1d6 d1d7 d1d8 d1e1 d1f1 d1g1 d1h1


Prompt:
FEN: rn2kb1r/ppp1qppp/3p1n2/8/6b1/2NBBN2/PPP2PPP/R2QK2R w KQkq - 4 9
List all legal moves.

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

Side to move: white.
Legal moves: a1b1 a1c1 a2a3 a2a4 b2b3 b2b4 c3a4 c3b1 c3b5 c3d5 c3e2 c3e4 d1b1 d1c1 d1d2 d1e2 d3a6 d3b5 d3c4 d3e2 d3e4 d3f1 d3f5 d3g6 d3h7 e1d2 e1e2 e1f1 e1g1 f3d2 f3d4 f3e5 f3g1 f3g5 f3h4 g2g3 h1f1 h1g1 h2h3 h2h4


Prompt:
FEN: 5rk1/5pq1/Q3b3/2ppp2B/3b2P1/P6P/1PP5/3K1R2 w - - 0 25
List all legal moves.

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

Side to move: white.
Legal moves: a3a4 a6a4 a6a5 a6a7 a6a8 a6b5 a6b6 a6b7 a6c4 a6c6 a6c8 a6d3 a6d6 a6e2 a6e6 b2b3 b2b4 c2c3 c2c4 d1c1 d1d2 d1e1 d1e2 f1e1 f1f2 f1f3 f1f4 f1f5 f1f6 f1f7 f1g1 f1h1 g4g5 h3h4 h5f7 h5g6


Prompt:
FEN: r4rk1/1p1qb1pp/p1nppn2/4p1N1/N3P3/4B2P/PP2QPP1/2RR2K1 b - -
List the side-to-move pieces and their squares.

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


Prompt:
FEN: r5k1/1r2b1pp/5p2/3pB3/3N2b1/4P3/p4PPP/R1R3K1 w - - 0 26
What legal moves does the piece on g2 have?


Prompt:
FEN: 3n2k1/ppp3p1/4p1p1/4P3/8/P1B2N1P/1PP1n1PK/8 w - - 0 23
Detect the game state: check, checkmate, stalemate, or none.

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


Prompt:
FEN: rnbqk1nr/pp1pppbp/6p1/2p5/4P3/6P1/PPPPNPBP/RNBQK2R b KQkq -
List all capture moves available.


Prompt:
Given FEN: rnbq1rk1/pp2npbp/3pp1p1/2p5/3P4/1P2PN2/PBP2PPP/RN1QKB1R w KQ - 0 8
List any special moves available (castling, en passant, promotion).


Prompt:
FEN: 6k1/p4pp1/1p3n1p/1b1p1P2/P2P4/1P3NqP/3Qr1P1/1BR4K w - - 1 31
Is the move f6b1 legal?


Prompt:
FEN: r1bq1rk1/ppp1bppp/3p1n2/8/1n2P3/3Q1N2/PPP1BPPP/RNB1R1K1 w - - 5 11
List pseudo-legal moves from b1.

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

Pseudo-legal moves from b1: b1a3 b1c3 b1d2


Prompt:
FEN: 2B5/P1R5/5k1p/3b4/1P3K1P/8/5r2/8 w - -
For the piece on b4, split pseudo-legal moves into legal and rejected moves with rejection reasons.

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

Pseudo-legal from b4: b4b5.
Legal: none.
Rejected: b4b5 does_not_resolve_check.


Prompt:
FEN: rnbqk1nr/pppp1p1p/4p1p1/8/1P1P4/P1P1P3/5PPP/bNBQKBNR b Kkq - 0 5
For move a1b2, decide whether king safety allows it.

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

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


Prompt:
FEN: 5k2/4n1p1/2pQp3/3pPp2/PP6/1KP5/5q2/R4B2 b - - 3 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: black.
Pieces: f2 black queen; d5 black pawn; f5 black pawn; c6 black pawn; e6 black pawn; e7 black knight; g7 black pawn; f8 black king.
Moves by piece:
f2 black queen: f2a2 f2a7 f2b2 f2b6 f2c2 f2c5 f2d2 f2d4 f2e1 f2e2 f2e3 f2f1 f2f3 f2f4 f2g1 f2g2 f2g3 f2h2 f2h4
d5 black pawn: d5d4
f5 black pawn: f5f4
c6 black pawn: c6c5
e6 black pawn: no legal moves
e7 black knight: no legal moves
g7 black pawn: g7g5 g7g6
f8 black king: f8e8 f8f7 f8g8
All legal moves: c6c5 d5d4 f2a2 f2a7 f2b2 f2b6 f2c2 f2c5 f2d2 f2d4 f2e1 f2e2 f2e3 f2f1 f2f3 f2f4 f2g1 f2g2 f2g3 f2h2 f2h4 f5f4 f8e8 f8f7 f8g8 g7g5 g7g6


Prompt:
FEN: 2rr4/pp3pkp/5np1/1N2pb2/P1Pp4/7P/1P2PPP1/2R1KB1R b K c3 0 16
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 black pawn: own piece (stop, excluded).
Ray SE: g4 empty; h3 white pawn: capture (stop, included).
Ray SW: e4 empty; d3 empty; c2 empty; b1 empty; edge.
Ray NW: e6 empty; d7 empty; c8 black rook: own piece (stop, excluded).
Moves from rays: f5b1 f5c2 f5d3 f5d7 f5e4 f5e6 f5g4 f5h3


Prompt:
FEN: 8/p5bk/1pn1q1pp/2pQ1p1n/P4P1N/2P1N1P1/1P5P/2B3K1 b - - 3 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: a7a5 a7a6 b6b5 c5c4 c6a5 c6b4 c6b8 c6d4 c6d8 c6e5 c6e7 e6c8 e6d5 e6d6 e6d7 e6e3 e6e4 e6e5 e6e7 e6e8 e6f6 e6f7 e6g8 g6g5 g7c3 g7d4 g7e5 g7f6 g7f8 g7h8 h5f4 h5f6 h5g3 h7g8 h7h8


Prompt:
FEN: 3r1rk1/p2P3p/b1p3p1/4pn2/2P1N2q/1P6/P2Q2PP/3RR2K 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 b3b4 c4c5 d1a1 d1b1 d1c1 d2a5 d2b2 d2b4 d2c1 d2c2 d2c3 d2d3 d2d4 d2d5 d2d6 d2e2 d2e3 d2f2 d2f4 d2g5 d2h6 e1e2 e1e3 e1f1 e1g1 e4c3 e4c5 e4d6 e4f2 e4f6 e4g3 e4g5 g2g3 g2g4 h1g1 h2h3


Prompt:
FEN: 2r5/8/5N1k/5K2/7R/7P/8/8 b - -
List the side-to-move pieces and their squares.

Side to move: black.
Pieces: h6 black king; c8 black rook.


Prompt:
FEN: r3r1k1/ppp2pp1/2p1b2p/2q5/3p1B2/5N1P/PPP2PP1/R2QR1K1 b - - 1 15
What legal moves does the piece on c5 have?

c5a3 c5a5 c5b4 c5b5 c5b6 c5c2 c5c3 c5c4 c5d5 c5d6 c5e5 c5e7 c5f5 c5f8 c5g5 c5h5


Prompt:
FEN: rn1R3k/6np/b3Brp1/6N1/p1P4P/5P2/P5P1/2K1R3 b - - 1 28
Detect the game state: check, checkmate, stalemate, or none.


Prompt:
FEN: r2q1r2/pp2bp1k/3p2pp/n1pNp3/2B1P3/2PP1Q1P/PP3P1P/2KR2R1 w - - 6 15
List all capture moves available.


Prompt:
Given FEN: 8/6p1/3pk1p1/r7/p4R2/3K4/PP6/8 b - - 8 40
List any special moves available (castling, en passant, promotion).


Prompt:
FEN: r4rk1/ppp2ppp/6q1/4p3/1PPn4/P2P2Pb/1B3P1P/RN1QR1K1 b - - 0 14
Is the move b7b6 legal?


Prompt:
FEN: 2kr3r/1pp1bppp/p1p2n2/4B3/q1N1P3/3P1Q2/P4PPP/R1R3K1 b - -
List pseudo-legal moves from a4.

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

Pseudo-legal moves from a4: a4a2 a4a3 a4a5 a4b3 a4b4 a4b5 a4c2 a4c4 a4d1


Prompt:
FEN: 8/1P2k1p1/8/p2RPp1p/1p1K1P1P/1P4r1/P7/8 b - -
For the piece on e7, 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 e7: e7d6 e7d7 e7d8 e7e6 e7e8 e7f6 e7f7 e7f8.
Legal: e7e6 e7e8 e7f7 e7f8.
Rejected: e7d6 king_would_be_in_check; e7d7 king_would_be_in_check; e7d8 king_would_be_in_check; e7f6 king_would_be_in_check.


Prompt:
FEN: 2kr1bnr/p2p4/bpp2pp1/8/3P1B2/2P2N1P/PP1N2P1/R3R1K1 b - - 1 18
For move c8b8, decide whether king safety allows it.

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

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


Prompt:
FEN: r2kr3/pq2b1Qp/1p4p1/1b6/5P2/8/PPP3PP/R1BR2K1 b - - 4 22
Group all legal moves by side-to-move piece.

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

Side to move: black.
Pieces: b5 black bishop; b6 black pawn; g6 black pawn; a7 black pawn; b7 black queen; e7 black bishop; h7 black pawn; a8 black rook; d8 black king; e8 black rook.
Moves by piece:
b5 black bishop: b5d3 b5d7
b6 black pawn: no legal moves
g6 black pawn: no legal moves
a7 black pawn: no legal moves
b7 black queen: b7d5 b7d7
e7 black bishop: e7d6
h7 black pawn: no legal moves
a8 black rook: no legal moves
d8 black king: d8c7 d8c8
e8 black rook: no legal moves
All legal moves: b5d3 b5d7 b7d5 b7d7 d8c7 d8c8 e7d6


Prompt:
FEN: 5bnr/1k1r1bpp/p2p1p2/B2Pp3/4P3/3B1N1P/5PP1/RNR3K1 w - - 3 22
Walk each ray for the slider on a1: list every square until a blocker, capture, or the board edge, then list the resulting moves.

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

Piece: a1 white rook.
Ray N: a2 empty; a3 empty; a4 empty; a5 white bishop: own piece (stop, excluded).
Ray E: b1 white knight: own piece (stop, excluded).
Ray S: edge.
Ray W: edge.
Moves from rays: a1a2 a1a3 a1a4


Prompt:
FEN: 4k2r/p1p1nppp/1p1pp3/2b5/P1N1P3/1P1R1N2/5PPP/3R2K1 b k - 5 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 b6b5 c5a3 c5b4 c5d4 c5e3 c5f2 c7c6 d6d5 e6e5 e7c6 e7c8 e7d5 e7f5 e7g6 e7g8 e8d7 e8d8 e8f8 e8g8 f7f5 f7f6 g7g5 g7g6 h7h5 h7h6 h8f8 h8g8


Prompt:
FEN: 8/p7/6p1/3Q2P1/2P2p2/1PkPRB1P/n7/6K1 w - - 0 40
List all legal moves.

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

Side to move: white.
Legal moves: b3b4 c4c5 d3d4 d5a5 d5a8 d5b5 d5b7 d5c5 d5c6 d5d4 d5d6 d5d7 d5d8 d5e4 d5e5 d5e6 d5f5 d5f7 d5g8 e3e1 e3e2 e3e4 e3e5 e3e6 e3e7 e3e8 f3d1 f3e2 f3e4 f3g2 f3g4 f3h1 f3h5 g1f1 g1f2 g1g2 g1h1 g1h2 h3h4


Prompt:
FEN: r5k1/pp1bpp1p/3p2pQ/4n1PR/4P3/1B2qP2/P1P5/1K1R4 b - -
List the side-to-move pieces and their squares.

Side to move: black.
Pieces: e3 black queen; e5 black knight; d6 black pawn; g6 black pawn; a7 black pawn; b7 black pawn; d7 black bishop; e7 black pawn; f7 black pawn; h7 black pawn; a8 black rook; g8 black king.


Prompt:
FEN: rn2kbnr/1p2qpp1/p5bp/2pN4/3pP1PP/N4P2/PPP1B3/R1BQK2R b KQkq - 1 14
What legal moves does the piece on f7 have?


Prompt:
FEN: r3k2r/1pp1bppp/p1p1bn2/4N2Q/4P3/3PB3/PPqN1PPP/R4RK1 w kq -
Detect the game state: check, checkmate, stalemate, or none.

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


Prompt:
FEN: 8/8/p5K1/1p6/1P2n3/P4k2/8/8 w - - 3 49
List all capture moves available.


Prompt:
Given FEN: 2kr3r/pp3pbp/2pp2p1/6P1/4P3/1PNP4/1P1KBP2/7R w - - 1 21
List any special moves available (castling, en passant, promotion).


Prompt:
FEN: rnbq1rk1/pp3ppp/4pn2/2p5/1bpP4/2NBPN2/PP3PPP/R1BQ1RK1 w - -
Is the move d3a7 legal?

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


Prompt:
FEN: 8/8/6p1/4Kp1p/6k1/8/8/6R1 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: g4f3 g4f4 g4g3 g4g5 g4h3 g4h4


Prompt:
FEN: r2q1rk1/3nbppp/p1bp4/2p5/2P1PR2/P2PN3/4Q1PP/RBB3K1 w - - 1 18
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.
Legal: a1a2.
Rejected: none.


Prompt:
FEN: 4rrk1/1p1b2pp/p2bpqp1/3p4/2P5/6P1/PP1NQP1P/R1B2RK1 w - - 1 18
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: 8/2pkn1N1/7p/pp2KP2/1P4P1/P3P2P/8/8 b - - 0 35
Group all legal moves by side-to-move piece.

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

Side to move: black.
Pieces: a5 black pawn; b5 black pawn; h6 black pawn; c7 black pawn; d7 black king; e7 black knight.
Moves by piece:
a5 black pawn: a5a4 a5b4
b5 black pawn: no legal moves
h6 black pawn: h6h5
c7 black pawn: c7c5 c7c6
d7 black king: d7c6 d7c8 d7d8
e7 black knight: e7c6 e7c8 e7d5 e7f5 e7g6 e7g8
All legal moves: a5a4 a5b4 c7c5 c7c6 d7c6 d7c8 d7d8 e7c6 e7c8 e7d5 e7f5 e7g6 e7g8 h6h5


Prompt:
FEN: r3r1k1/pp1q1ppp/n1pb1n2/3p4/3P4/2N1PNP1/PPQB1PKP/R3R3 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 white rook: own piece (stop, excluded).
Ray S: edge.
Ray W: edge.
Moves from rays: a1b1 a1c1 a1d1


Prompt:
FEN: r5k1/1p3ppp/5q2/p1nQ4/P1P1r3/8/2P2PPP/R3R1K1 w - - 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: white.
Legal moves: a1a2 a1a3 a1b1 a1c1 a1d1 c2c3 d5b7 d5c5 d5c6 d5d1 d5d2 d5d3 d5d4 d5d6 d5d7 d5d8 d5e4 d5e5 d5e6 d5f5 d5f7 d5g5 d5h5 e1b1 e1c1 e1d1 e1e2 e1e3 e1e4 e1f1 f2f3 f2f4 g1f1 g1h1 g2g3 g2g4 h2h3 h2h4


Prompt:
FEN: r1b2rk1/pp2ppbp/4n1p1/q7/3BP3/2P1QN2/P3BPPP/R4RK1 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 a1c1 a1d1 a1e1 a2a3 a2a4 c3c4 d4a7 d4b6 d4c5 d4e5 d4f6 d4g7 e2a6 e2b5 e2c4 e2d1 e2d3 e3c1 e3d2 e3d3 e3f4 e3g5 e3h6 e4e5 f1b1 f1c1 f1d1 f1e1 f3d2 f3e1 f3e5 f3g5 f3h4 g1h1 g2g3 g2g4 h2h3 h2h4


Prompt:
FEN: r1bq1rk1/3n1pbp/pp2pnp1/3p4/3P4/2NN4/PPP2PPP/R1BQRBK1 w - -
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 rook; f1 white bishop; 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 knight; d4 white pawn.


Prompt:
FEN: 2r5/kb6/1p2P3/pB1p4/3P4/Q4N2/2PN2P1/2K3R1 b - - 0 34
What legal moves does the piece on c8 have?

c8a8 c8b8 c8c2 c8c3 c8c4 c8c5 c8c6 c8c7 c8d8 c8e8 c8f8 c8g8 c8h8


Prompt:
FEN: 2r2rk1/3nqpb1/3p1np1/p5Bp/Pp1NP1PP/3Q4/1P3P1N/R3K2R b KQ - 0 20
Detect the game state: check, checkmate, stalemate, or none.

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


Prompt:
FEN: rn3rk1/pp3p2/b1p2qpQ/5NR1/3P4/2P5/PPB3PP/R5K1 w - - 2 28
List all capture moves available.


Prompt:
Given FEN: r3k2r/p1p3p1/2p1p3/2p1P3/4P3/2P2QK1/PP1q3p/R6R w kq - 0 21
List any special moves available (castling, en passant, promotion).


Prompt:
FEN: r1b2rk1/1p3p1p/p3q1p1/2p4Q/2Pb4/2NB4/PP4PP/R4R1K w - - 0 17
Is the move b2b7 legal?

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


Prompt:
FEN: rn1qk1nr/pbpp1pbp/1p2p1p1/8/3PPP2/2NBB3/PPP3PP/R2QK1NR b KQkq - 1 6
List pseudo-legal moves from b6.

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


Prompt:
FEN: r1bBr1k1/pp1p1p1p/3p2p1/8/8/3P2n1/PP2NPPP/RN2K2R w KQ - 0 16
For the piece on e1, split pseudo-legal moves into legal and rejected moves with rejection reasons.

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

Pseudo-legal from e1: e1d1 e1d2 e1f1.
Legal: e1d1 e1d2.
Rejected: e1f1 king_would_be_in_check.


Prompt:
FEN: 4k3/2Q5/4K3/6n1/8/8/8/8 w - -
For move c7a5, decide whether king safety allows it.

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

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


Prompt:
FEN: r1bq1rk1/pp1nbppp/4pn2/1NPp4/8/PP2PP2/1BP3PP/R2QKBNR b KQ - 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: black.
Pieces: d5 black pawn; e6 black pawn; f6 black knight; a7 black pawn; b7 black pawn; d7 black knight; e7 black bishop; f7 black pawn; g7 black pawn; h7 black pawn; a8 black rook; c8 black bishop; d8 black queen; f8 black rook; g8 black king.
Moves by piece:
d5 black pawn: d5d4
e6 black pawn: e6e5
f6 black knight: f6e4 f6e8 f6g4 f6h5
a7 black pawn: a7a5 a7a6
b7 black pawn: b7b6
d7 black knight: d7b6 d7b8 d7c5 d7e5
e7 black bishop: e7c5 e7d6
f7 black pawn: no legal moves
g7 black pawn: g7g5 g7g6
h7 black pawn: h7h5 h7h6
a8 black rook: a8b8
c8 black bishop: no legal moves
d8 black queen: d8a5 d8b6 d8c7 d8e8
f8 black rook: f8e8
g8 black king: g8h8
All legal moves: a7a5 a7a6 a8b8 b7b6 d5d4 d7b6 d7b8 d7c5 d7e5 d8a5 d8b6 d8c7 d8e8 e6e5 e7c5 e7d6 f6e4 f6e8 f6g4 f6h5 f8e8 g7g5 g7g6 g8h8 h7h5 h7h6


Prompt:
FEN: 5n2/4r1k1/p1R1pq2/2P3pp/1P2Qp2/5P2/P5PP/4R1K1 b - - 0 36
Walk each ray for the slider on f6: list every square until a blocker, capture, or the board edge, then list the resulting moves.

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

Piece: f6 black queen.
Ray N: f7 empty; f8 black knight: own piece (stop, excluded).
Ray NE: g7 black king: own piece (stop, excluded).
Ray E: g6 empty; h6 empty; edge.
Ray SE: g5 black pawn: own piece (stop, excluded).
Ray S: f5 empty; f4 black pawn: own piece (stop, excluded).
Ray SW: e5 empty; d4 empty; c3 empty; b2 empty; a1 empty; edge.
Ray W: e6 black pawn: own piece (stop, excluded).
Ray NW: e7 black rook: own piece (stop, excluded).
Moves from rays: f6a1 f6b2 f6c3 f6d4 f6e5 f6f5 f6f7 f6g6 f6h6


Prompt:
FEN: r1b2knr/ppNp1ppp/2n5/8/1q2P3/2N1P3/P1P3PP/R2QKB1R w KQ -
List all legal moves.

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

Side to move: white.
Legal moves: a1b1 a1c1 a2a3 a2a4 c7a6 c7a8 c7b5 c7d5 c7e6 c7e8 d1b1 d1c1 d1d2 d1d3 d1d4 d1d5 d1d6 d1d7 d1e2 d1f3 d1g4 d1h5 e1d2 e1e2 e1f2 e4e5 f1a6 f1b5 f1c4 f1d3 f1e2 g2g3 g2g4 h1g1 h2h3 h2h4


Prompt:
FEN: r2q1rk1/pp2bpp1/3pbn1p/4p3/4P3/2NQBP2/PPP3PP/2KR1B1R w - - 2 12
List all legal moves.

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

Side to move: white.
Legal moves: a2a3 a2a4 b2b3 b2b4 c1b1 c1d2 c3a4 c3b1 c3b5 c3d5 c3e2 d1d2 d1e1 d3a6 d3b5 d3c4 d3d2 d3d4 d3d5 d3d6 d3e2 e3a7 e3b6 e3c5 e3d2 e3d4 e3f2 e3f4 e3g1 e3g5 e3h6 f1e2 f3f4 g2g3 g2g4 h1g1 h2h3 h2h4


Prompt:
FEN: 3r1rk1/pp1qbppp/2n1bn2/2ppp3/8/1P1PP1PP/PBPNNPBK/R2Q1R2 w - - 7 12
List the side-to-move pieces and their squares.

Side to move: white.
Pieces: a1 white rook; d1 white queen; f1 white rook; a2 white pawn; b2 white bishop; c2 white pawn; d2 white knight; e2 white knight; f2 white pawn; g2 white bishop; h2 white king; b3 white pawn; d3 white pawn; e3 white pawn; g3 white pawn; h3 white pawn.


Prompt:
FEN: r1b3R1/p2p3p/5Rnk/bp6/2BpP3/3P1N2/PP4PP/6K1 w - -
What legal moves does the piece on h2 have?


Prompt:
FEN: r5k1/1b2qpp1/2p1p2p/1pP1P2P/1P3PP1/p1B5/2B1Q3/K2R4 w - - 1 31
Detect the game state: check, checkmate, stalemate, or none.

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


Prompt:
FEN: rn1qk2r/pp1bbpp1/2pp1n1p/8/3PP3/P1N2N1P/1P3PP1/R1BQKB1R w KQkq - 1 9
List all capture moves available.


Prompt:
Given FEN: 2kr3r/pbpnq3/1p2p1p1/6pp/2PP4/4QPB1/P1P1B1PP/1R3RK1 w - - 1 20
List any special moves available (castling, en passant, promotion).


Prompt:
FEN: 1rb2rk1/pp2qpp1/3p3p/2pB4/3pP3/3P3P/PPPQ1PP1/2KR3R w - - 2 16
Is the move g2h3 legal?

No, illegal. Reason: own piece destination.


Prompt:
FEN: r1bqk2r/pp1pnppp/2n1p3/2b5/4P3/2N2N2/PPP2PPP/R1BQKB1R w KQkq - 6 7
List pseudo-legal moves from a1.

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


Prompt:
FEN: r2qkb1r/ppp1pppp/5n2/3p1b2/3P1P2/2NPPN2/PP4PP/R1BQK2R b KQkq - 0 7
For the piece on f5, split pseudo-legal moves into legal and rejected moves with rejection reasons.

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

Pseudo-legal from f5: f5c8 f5d3 f5d7 f5e4 f5e6 f5g4 f5g6 f5h3.
Legal: f5c8 f5d3 f5d7 f5e4 f5e6 f5g4 f5g6 f5h3.
Rejected: none.


Prompt:
FEN: 8/8/2p1k3/1p6/1P1PK3/2P5/8/8 b - -
For move e6d5, decide whether king safety allows it.

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

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


Prompt:
FEN: r1b2rk1/ppq3pp/2nbp3/5p2/Q1N2n2/2P2N2/PP3PPP/R1B1KB1R b KQ -
Group all legal moves by side-to-move piece.

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

Side to move: black.
Pieces: f4 black knight; f5 black pawn; c6 black knight; d6 black bishop; e6 black pawn; a7 black pawn; b7 black pawn; c7 black queen; g7 black pawn; h7 black pawn; a8 black rook; c8 black bishop; f8 black rook; g8 black king.
Moves by piece:
f4 black knight: f4d3 f4d5 f4e2 f4g2 f4g6 f4h3 f4h5
f5 black pawn: no legal moves
c6 black knight: c6a5 c6b4 c6b8 c6d4 c6d8 c6e5 c6e7
d6 black bishop: d6a3 d6b4 d6c5 d6e5 d6e7
e6 black pawn: e6e5
a7 black pawn: a7a5 a7a6
b7 black pawn: b7b5 b7b6
c7 black queen: c7a5 c7b6 c7b8 c7d7 c7d8 c7e7 c7f7
g7 black pawn: g7g5 g7g6
h7 black pawn: h7h5 h7h6
a8 black rook: a8b8
c8 black bishop: c8d7
f8 black rook: f8d8 f8e8 f8f6 f8f7
g8 black king: g8f7 g8h8
All legal moves: a7a5 a7a6 a8b8 b7b5 b7b6 c6a5 c6b4 c6b8 c6d4 c6d8 c6e5 c6e7 c7a5 c7b6 c7b8 c7d7 c7d8 c7e7 c7f7 c8d7 d6a3 d6b4 d6c5 d6e5 d6e7 e6e5 f4d3 f4d5 f4e2 f4g2 f4g6 f4h3 f4h5 f8d8 f8e8 f8f6 f8f7 g7g5 g7g6 g8f7 g8h8 h7h5 h7h6


Prompt:
FEN: 2r2rk1/1p1nb1p1/q3pP1p/p2p4/3P4/PP3NP1/1B1Q1P1P/2R1R1K1 b - -
Walk each ray for the slider on a6: 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: a6 black queen.
Ray N: a7 empty; a8 empty; edge.
Ray NE: b7 black pawn: own piece (stop, excluded).
Ray E: b6 empty; c6 empty; d6 empty; e6 black pawn: own piece (stop, excluded).
Ray SE: b5 empty; c4 empty; d3 empty; e2 empty; f1 empty; edge.
Ray S: a5 black pawn: own piece (stop, excluded).
Ray SW: edge.
Ray W: edge.
Ray NW: edge.
Moves from rays: a6a7 a6a8 a6b5 a6b6 a6c4 a6c6 a6d3 a6d6 a6e2 a6f1


Prompt:
FEN: r4rk1/2pR2bp/p4pp1/3pp3/8/P4PBP/1PP2PP1/4R1K1 w - - 0 18
List all legal moves.

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

Side to move: white.
Legal moves: a3a4 b2b3 b2b4 c2c3 c2c4 d7c7 d7d5 d7d6 d7d8 d7e7 d7f7 d7g7 e1a1 e1b1 e1c1 e1d1 e1e2 e1e3 e1e4 e1e5 e1f1 f3f4 g1f1 g1h1 g1h2 g3e5 g3f4 g3h2 g3h4 h3h4


Prompt:
FEN: r1bqkb1r/3npppp/p2p1n2/1p6/P1p1P3/2PB1N2/1P1P1PPP/RNBQ1RK1 w kq -
List all legal moves.

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

Side to move: white.
Legal moves: a1a2 a1a3 a4a5 a4b5 b1a3 b2b3 b2b4 d1b3 d1c2 d1e1 d1e2 d3c2 d3c4 d3e2 e4e5 f1e1 f3d4 f3e1 f3e5 f3g5 f3h4 g1h1 g2g3 g2g4 h2h3 h2h4


Prompt:
FEN: 1k6/2B5/2K5/8/6Bb/8/8/8 b - -
List the side-to-move pieces and their squares.

Side to move: black.
Pieces: h4 black bishop; b8 black king.


Prompt:
FEN: 8/8/8/8/8/2K5/2N5/1k3B2 b - -
What legal moves does the piece on b1 have?


Prompt:
FEN: 5rk1/p5pp/8/1p6/5qQ1/2P4P/R6K/8 w - - 0 48
Detect the game state: check, checkmate, stalemate, or none.


Prompt:
FEN: rn1q1rk1/pbpp2pp/1p2p3/5p2/2PPnB2/2bBPN2/PPQ2PPP/R4RK1 w - -
List all capture moves available.


Prompt:
Given FEN: 2kr2nr/pppb1ppp/2n1p3/8/4P3/1PN2P2/PKPB2PP/R4B1R b - - 0 12
List any special moves available (castling, en passant, promotion).


Prompt:
FEN: 8/8/8/3K4/8/2k5/1p3p2/5Q2 w - -
Is the move f1f2 legal?


Prompt:
FEN: r3k2r/pbp2ppp/2qb1n2/4p1N1/2p5/1PN5/P1PPQPPP/R1B2RK1 w kq -
List pseudo-legal moves from a1.

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


Prompt:
FEN: 2R2Q2/4k3/8/8/7K/8/7P/8 b - -
For the piece on e7, 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 e7: e7d6 e7d7 e7d8 e7e6 e7e8 e7f6 e7f7 e7f8.
Legal: e7d7 e7e6.
Rejected: e7d6 does_not_resolve_check; e7d8 does_not_resolve_check; e7e8 does_not_resolve_check; e7f6 does_not_resolve_check; e7f7 does_not_resolve_check; e7f8 does_not_resolve_check.


Prompt:
FEN: r1br4/ppqnk1Q1/2n1p3/2ppP1N1/5B2/2P1P3/PP3PPP/R3K2R b KQ -
For move a7a5, decide whether king safety allows it.

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

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


Prompt:
FEN: 3r1rk1/1np3pp/p2q4/1p1ppb2/8/1BP1BN2/PP3QPP/R4NK1 w - -
Group all legal moves by side-to-move piece.

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

Side to move: white.
Pieces: a1 white rook; f1 white knight; g1 white king; a2 white pawn; b2 white pawn; f2 white queen; g2 white pawn; h2 white pawn; b3 white bishop; c3 white pawn; e3 white bishop; f3 white knight.
Moves by piece:
a1 white rook: a1b1 a1c1 a1d1 a1e1
f1 white knight: f1d2 f1g3
g1 white king: g1h1
a2 white pawn: a2a3 a2a4
b2 white pawn: no legal moves
f2 white queen: f2c2 f2d2 f2e1 f2e2 f2g3 f2h4
g2 white pawn: g2g3 g2g4
h2 white pawn: h2h3 h2h4
b3 white bishop: b3a4 b3c2 b3c4 b3d1 b3d5
c3 white pawn: c3c4
e3 white bishop: e3a7 e3b6 e3c1 e3c5 e3d2 e3d4 e3f4 e3g5 e3h6
f3 white knight: f3d2 f3d4 f3e1 f3e5 f3g5 f3h4
All legal moves: a1b1 a1c1 a1d1 a1e1 a2a3 a2a4 b3a4 b3c2 b3c4 b3d1 b3d5 c3c4 e3a7 e3b6 e3c1 e3c5 e3d2 e3d4 e3f4 e3g5 e3h6 f1d2 f1g3 f2c2 f2d2 f2e1 f2e2 f2g3 f2h4 f3d2 f3d4 f3e1 f3e5 f3g5 f3h4 g1h1 g2g3 g2g4 h2h3 h2h4


Prompt:
FEN: 4n3/B1pkPR2/8/8/8/2N5/4K3/8 w - - 3 40
Walk each ray for the slider on a7: list every square until a blocker, capture, or the board edge, then list the resulting moves.

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

Piece: a7 white bishop.
Ray NE: b8 empty; edge.
Ray SE: b6 empty; c5 empty; d4 empty; e3 empty; f2 empty; g1 empty; edge.
Ray SW: edge.
Ray NW: edge.
Moves from rays: a7b6 a7b8 a7c5 a7d4 a7e3 a7f2 a7g1


Prompt:
FEN: 2r1rk2/p6R/1p2P1p1/3P1p2/8/2K4P/PP4P1/5R2 w - - 1 32
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: c3b3 c3b4 c3d2 c3d3 c3d4 h7c7


Prompt:
FEN: 8/1B3p2/K2k1n2/1p5p/1P4p1/8/6PP/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: d6c7 d6d7 d6e5 d6e6 d6e7 f6d5 f6d7 f6e4 f6e8 f6g8 f6h7 g4g3 h5h4


Prompt:
FEN: r2qk1nr/ppp1bppp/2n1p3/3p4/2PP4/P3PN2/1P3PPP/1RBQKB1R w Kkq - 2 7
List the side-to-move pieces and their squares.

Side to move: white.
Pieces: b1 white rook; c1 white bishop; d1 white queen; e1 white king; f1 white bishop; h1 white rook; b2 white pawn; f2 white pawn; g2 white pawn; h2 white pawn; a3 white pawn; e3 white pawn; f3 white knight; c4 white pawn; d4 white pawn.


Prompt:
FEN: r1b1k2r/ppq2ppp/3p1n2/2P1n3/4PB2/2Q5/PP3PPP/RN3RK1 w kq - 0 13
What legal moves does the piece on b2 have?


Prompt:
FEN: 8/2p5/1k6/5QP1/N1P5/4P3/PPP3P1/R5K1 b - - 0 28
Detect the game state: check, checkmate, stalemate, or none.


Prompt:
FEN: 3N1k2/6p1/r1n1Pp2/7p/p1r5/2P2P2/R5PP/R5K1 w - - 3 40
List all capture moves available.


Prompt:
Given FEN: 8/8/8/8/8/4K1k1/8/7q w - - 2 69
List any special moves available (castling, en passant, promotion).


Prompt:
FEN: 5r2/2R1k3/p2p1n1r/Pp2pB2/1P2P2p/3PPP2/5K1R/8 b - - 5 30
Is the move e7e8 legal?


Prompt:
FEN: r2q1rk1/pp3ppp/1np1pn2/8/2PP2b1/1PB2N2/P3BPPP/R2QR1K1 w - - 3 13
List pseudo-legal moves from a1.

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


Prompt:
FEN: 3qrk1R/p1r3p1/1p2pbQ1/nP6/3Pb3/P7/5PPP/R5K1 b - -
For the piece on e4, split pseudo-legal moves into legal and rejected moves with rejection reasons.

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

Pseudo-legal from e4: e4a8 e4b1 e4b7 e4c2 e4c6 e4d3 e4d5 e4f3 e4f5 e4g2 e4g6.
Legal: none.
Rejected: e4a8 does_not_resolve_check; e4b1 does_not_resolve_check; e4b7 does_not_resolve_check; e4c2 does_not_resolve_check; e4c6 does_not_resolve_check; e4d3 does_not_resolve_check; e4d5 does_not_resolve_check; e4f3 does_not_resolve_check; e4f5 does_not_resolve_check; e4g2 does_not_resolve_check; e4g6 does_not_resolve_check.


Prompt:
FEN: r1bq1rk1/1pp1nppp/p1n1p3/8/2pP4/2N1PN1P/PP3PP1/R2QKB1R w KQ -
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: r1b1k2r/pp3ppp/1qn1pn2/3p4/1bPP4/2N1BN2/PP2BPPP/R2Q1RK1 b kq - 2 9
Group all legal moves by side-to-move piece.

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

Side to move: black.
Pieces: b4 black bishop; d5 black pawn; b6 black queen; c6 black knight; e6 black pawn; f6 black knight; a7 black pawn; b7 black pawn; f7 black pawn; g7 black pawn; h7 black pawn; a8 black rook; c8 black bishop; e8 black king; h8 black rook.
Moves by piece:
b4 black bishop: b4a3 b4a5 b4c3 b4c5 b4d6 b4e7 b4f8
d5 black pawn: d5c4
b6 black queen: b6a5 b6a6 b6b5 b6c5 b6c7 b6d4 b6d8
c6 black knight: c6a5 c6b8 c6d4 c6d8 c6e5 c6e7
e6 black pawn: e6e5
f6 black knight: f6d7 f6e4 f6g4 f6g8 f6h5
a7 black pawn: a7a5 a7a6
b7 black pawn: no legal moves
f7 black pawn: no legal moves
g7 black pawn: g7g5 g7g6
h7 black pawn: h7h5 h7h6
a8 black rook: a8b8
c8 black bishop: c8d7
e8 black king: e8d7 e8d8 e8e7 e8f8 e8g8
h8 black rook: h8f8 h8g8
All legal moves: a7a5 a7a6 a8b8 b4a3 b4a5 b4c3 b4c5 b4d6 b4e7 b4f8 b6a5 b6a6 b6b5 b6c5 b6c7 b6d4 b6d8 c6a5 c6b8 c6d4 c6d8 c6e5 c6e7 c8d7 d5c4 e6e5 e8d7 e8d8 e8e7 e8f8 e8g8 f6d7 f6e4 f6g4 f6g8 f6h5 g7g5 g7g6 h7h5 h7h6 h8f8 h8g8


Prompt:
FEN: 5k2/1R6/p5p1/8/6p1/4N3/PPr5/1K1r4 w - -
Walk each ray for the slider on b7: list every square until a blocker, capture, or the board edge, then list the resulting moves.

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

Piece: b7 white rook.
Ray N: b8 empty; edge.
Ray E: c7 empty; d7 empty; e7 empty; f7 empty; g7 empty; h7 empty; edge.
Ray S: b6 empty; b5 empty; b4 empty; b3 empty; b2 white pawn: own piece (stop, excluded).
Ray W: a7 empty; edge.
Moves from rays: b7a7 b7b3 b7b4 b7b5 b7b6 b7b8 b7c7 b7d7 b7e7 b7f7 b7g7 b7h7


Prompt:
FEN: 8/6pp/p2p1b1k/5Qp1/6P1/8/P1P1pP1P/1R4K1 b - - 3 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: e2 black pawn; g5 black pawn; a6 black pawn; d6 black pawn; f6 black bishop; h6 black king; g7 black pawn; h7 black pawn.
Filter by piece:
e2 black pawn: pseudo-legal e2e1b e2e1n e2e1q e2e1r | rejected none | legal e2e1b e2e1n e2e1q e2e1r
g5 black pawn: pseudo-legal none | rejected none | legal none
a6 black pawn: pseudo-legal a6a5 | rejected none | legal a6a5
d6 black pawn: pseudo-legal d6d5 | rejected none | legal d6d5
f6 black bishop: pseudo-legal f6a1 f6b2 f6c3 f6d4 f6d8 f6e5 f6e7 | rejected none | legal f6a1 f6b2 f6c3 f6d4 f6d8 f6e5 f6e7
h6 black king: pseudo-legal h6g6 h6h5 | rejected h6g6 king_would_be_in_check; h6h5 king_would_be_in_check | legal none
g7 black pawn: pseudo-legal g7g6 | rejected none | legal g7g6
h7 black pawn: pseudo-legal none | rejected none | legal none
All legal moves: a6a5 d6d5 e2e1b e2e1n e2e1q e2e1r f6a1 f6b2 f6c3 f6d4 f6d8 f6e5 f6e7 g7g6


Prompt:
FEN: 1Q6/6pk/P5qp/7r/5p2/4P1P1/5PQP/1R4K1 b - - 0 46
List all legal moves.

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

Side to move: black.
Legal moves: f4e3 f4f3 f4g3 g6a6 g6b1 g6b6 g6c2 g6c6 g6d3 g6d6 g6e4 g6e6 g6e8 g6f5 g6f6 g6f7 g6g3 g6g4 g6g5 h5a5 h5b5 h5c5 h5d5 h5e5 h5f5 h5g5 h5h2 h5h3 h5h4


Prompt:
FEN: rn2kb1r/ppq1pppp/2p2n2/5b2/P1B3P1/2NP1P2/1PPB3P/R2QK1NR b KQkq -
List the side-to-move pieces and their squares.

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


Prompt:
FEN: 8/5k1p/6pK/5p2/1ppB4/7P/P5P1/8 b - - 1 38
What legal moves does the piece on f5 have?


Prompt:
FEN: rn2k1nr/pbppqpb1/1p2p1p1/7p/2PP4/1PNBPN2/P4PPP/R1BQ1RK1 b kq - 0 8
Detect the game state: check, checkmate, stalemate, or none.

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


Prompt:
FEN: 3b1Qk1/3P2p1/4P3/1P5p/8/4q3/1P4PP/5R1K b - -
List all capture moves available.


Prompt:
Given FEN: r1bqr1k1/ppp1nppp/5b2/3p4/8/2P2NP1/PP2PPBP/R1BQR1K1 b - - 6 11
List any special moves available (castling, en passant, promotion).


Prompt:
FEN: r1r3k1/Bnn1qbb1/3p1p1p/1p1PpPpB/1Pp1P3/2P3NP/R2Q2PN/R5K1 b - -
Is the move a8a7 legal?


Prompt:
FEN: 5r2/ppp3kp/3p1qp1/Q7/2P1rP2/P7/1P4PP/3R1RK1 b - -
List pseudo-legal moves from e4.

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

Pseudo-legal moves from e4: e4c4 e4d4 e4e1 e4e2 e4e3 e4e5 e4e6 e4e7 e4e8 e4f4


Prompt:
FEN: 8/p1p1k1p1/2p1p2p/8/1r6/1P6/P4PPP/3R2K1 w - - 1 21
For the piece on d1, 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 d1: d1a1 d1b1 d1c1 d1d2 d1d3 d1d4 d1d5 d1d6 d1d7 d1d8 d1e1 d1f1.
Legal: d1a1 d1b1 d1c1 d1d2 d1d3 d1d4 d1d5 d1d6 d1d7 d1d8 d1e1 d1f1.
Rejected: none.


Prompt:
FEN: r2q1rk1/1bppnpp1/p6p/1p2N3/3Pn3/1BP5/PP3PPP/RN1Q1RK1 b - - 0 13
For move f7f5, decide whether king safety allows it.

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

Move: f7f5.
Pseudo-legal: yes.
King safe after move: no.
Final: illegal; pinned_piece_exposes_king.


Prompt:
FEN: 1rbk3r/pp1p3p/4qbp1/P1pNPn2/2P1Q3/3B4/1P3PPP/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; b2 white pawn; f2 white pawn; g2 white pawn; h2 white pawn; d3 white bishop; c4 white pawn; e4 white queen; a5 white pawn; d5 white knight; e5 white pawn.
Moves by piece:
a1 white rook: a1a2 a1a3 a1a4 a1b1 a1c1 a1d1 a1e1
f1 white rook: f1b1 f1c1 f1d1 f1e1
g1 white king: g1h1
b2 white pawn: b2b3 b2b4
f2 white pawn: f2f3 f2f4
g2 white pawn: g2g3 g2g4
h2 white pawn: h2h3 h2h4
d3 white bishop: d3b1 d3c2 d3e2
c4 white pawn: no legal moves
e4 white queen: e4d4 e4e1 e4e2 e4e3 e4f3 e4f4 e4f5 e4g4 e4h4
a5 white pawn: a5a6
d5 white knight: d5b4 d5b6 d5c3 d5c7 d5e3 d5e7 d5f4 d5f6
e5 white pawn: e5f6
All legal moves: a1a2 a1a3 a1a4 a1b1 a1c1 a1d1 a1e1 a5a6 b2b3 b2b4 d3b1 d3c2 d3e2 d5b4 d5b6 d5c3 d5c7 d5e3 d5e7 d5f4 d5f6 e4d4 e4e1 e4e2 e4e3 e4f3 e4f4 e4f5 e4g4 e4h4 e5f6 f1b1 f1c1 f1d1 f1e1 f2f3 f2f4 g1h1 g2g3 g2g4 h2h3 h2h4


Prompt:
FEN: rn2kb1r/pp2qppp/2p5/3P3n/8/1P5P/PBPPBP2/R2QK1R1 b Qkq - 0 12
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 queen.
Ray N: e8 black king: own piece (stop, excluded).
Ray NE: f8 black bishop: own piece (stop, excluded).
Ray E: f7 black pawn: own piece (stop, excluded).
Ray SE: f6 empty; g5 empty; h4 empty; edge.
Ray S: e6 empty; e5 empty; e4 empty; e3 empty; e2 white bishop: capture (stop, included).
Ray SW: d6 empty; c5 empty; b4 empty; a3 empty; edge.
Ray W: d7 empty; c7 empty; b7 black pawn: own piece (stop, excluded).
Ray NW: d8 empty; edge.
Moves from rays: e7a3 e7b4 e7c5 e7c7 e7d6 e7d7 e7d8 e7e2 e7e3 e7e4 e7e5 e7e6 e7f6 e7g5 e7h4


Prompt:
FEN: rn1qk2r/p3bppp/1pppp3/3PP3/5P2/3P2P1/PP4QP/RNB1K1NR b KQkq - 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 b6b5 b8a6 b8d7 c6c5 c6d5 d6e5 d8c7 d8c8 d8d7 e6d5 e7f6 e7f8 e7g5 e7h4 e8d7 e8f8 e8g8 f7f5 f7f6 g7g5 g7g6 h7h5 h7h6 h8f8 h8g8


Prompt:
FEN: rnb4r/p4Bp1/k2BPn1p/1p6/2q1P2P/8/2P1QPP1/R2R2K1 b - - 1 21
List all legal moves.

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

Side to move: black.
Legal moves: a6b6 a6b7 c4a2 c4a4


Prompt:
FEN: 8/3r4/p2N1pk1/1p4p1/1PbP3p/2P4P/P4PP1/R3R1K1 w - - 1 39
List the side-to-move pieces and their squares.

Side to move: white.
Pieces: a1 white rook; e1 white rook; g1 white king; a2 white pawn; f2 white pawn; g2 white pawn; c3 white pawn; h3 white pawn; b4 white pawn; d4 white pawn; d6 white knight.


Prompt:
FEN: 1r6/8/p7/P1Bk4/3Pb3/5p1P/5K1R/8 w - - 1 55
What legal moves does the piece on h2 have?


Prompt:
FEN: r1b1k2r/pp2nppp/2p2n2/3p4/3P1N2/2PB1N2/PP3PPP/R4RK1 b kq -
Detect the game state: check, checkmate, stalemate, or none.

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


Prompt:
FEN: 8/3n4/Q2k4/1P5P/2Bp4/2b3q1/2K5/8 b - - 2 46
List all capture moves available.


Prompt:
Given FEN: 2r5/4p1k1/p2p2p1/2r5/K1P4Q/1P6/q7/8 w - - 0 43
List any special moves available (castling, en passant, promotion).


Prompt:
FEN: 6k1/1R3pp1/p3p2p/P3P3/1n6/3r4/1P2N1PP/6K1 b - - 0 25
Is the move g7e2 legal?

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


Prompt:
FEN: r2q1rk1/pb3ppp/1pnbpn2/3pN3/3P1P2/P2BP3/1P1N2PP/R1BQ1RK1 b - -
List pseudo-legal moves from b6.

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


Prompt:
FEN: r4rk1/5pp1/2np1P2/1p4R1/1p1pP3/1B1P4/2P3PP/4R1K1 b - - 0 25
For the piece on g7, 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 g7: g7f6 g7g6.
Legal: g7g6.
Rejected: g7f6 pinned_piece_exposes_king.


Prompt:
FEN: 8/3b1p1k/2p3q1/3Pp2p/p3P2r/8/4K3/2R2R2 w - - 0 41
For move c1a1, decide whether king safety allows it.

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

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


Prompt:
FEN: rnb1k2r/pppp1ppp/5n2/8/8/2PN1B2/PPP2PqP/R1BQK2R b KQkq -
Group all legal moves by side-to-move piece.

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

Side to move: black.
Pieces: g2 black queen; f6 black knight; a7 black pawn; b7 black pawn; c7 black pawn; d7 black pawn; f7 black pawn; g7 black pawn; h7 black pawn; a8 black rook; b8 black knight; c8 black bishop; e8 black king; h8 black rook.
Moves by piece:
g2 black queen: g2f1 g2f2 g2f3 g2g1 g2g3 g2g4 g2g5 g2g6 g2h1 g2h2 g2h3
f6 black knight: f6d5 f6e4 f6g4 f6g8 f6h5
a7 black pawn: a7a5 a7a6
b7 black pawn: b7b5 b7b6
c7 black pawn: c7c5 c7c6
d7 black pawn: d7d5 d7d6
f7 black pawn: no legal moves
g7 black pawn: g7g5 g7g6
h7 black pawn: h7h5 h7h6
a8 black rook: no legal moves
b8 black knight: b8a6 b8c6
c8 black bishop: no legal moves
e8 black king: e8d8 e8e7 e8f8 e8g8
h8 black rook: h8f8 h8g8
All legal moves: a7a5 a7a6 b7b5 b7b6 b8a6 b8c6 c7c5 c7c6 d7d5 d7d6 e8d8 e8e7 e8f8 e8g8 f6d5 f6e4 f6g4 f6g8 f6h5 g2f1 g2f2 g2f3 g2g1 g2g3 g2g4 g2g5 g2g6 g2h1 g2h2 g2h3 g7g5 g7g6 h7h5 h7h6 h8f8 h8g8


Prompt:
FEN: r1b1qrk1/p3bp1p/2R1p1p1/3pN3/3P4/1Q3N2/PP3PPP/R5K1 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 empty; g1 white king: own piece (stop, excluded).
Ray S: edge.
Ray W: edge.
Moves from rays: a1b1 a1c1 a1d1 a1e1 a1f1


Prompt:
FEN: r2qkb1r/3p1ppp/n3pn2/P7/3PP3/2P2Q2/5PPP/RNB1K1NR b KQkq - 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: a6b4 a6b8 a6c5 a6c7 a8a7 a8b8 a8c8 d7d5 d7d6 d8a5 d8b6 d8b8 d8c7 d8c8 d8e7 e6e5 e8e7 f6d5 f6e4 f6g4 f6g8 f6h5 f8a3 f8b4 f8c5 f8d6 f8e7 g7g5 g7g6 h7h5 h7h6 h8g8


Prompt:
FEN: 4k1r1/pp3p1p/3rp3/8/4p3/BP2PnPp/P4P1P/3R3K w - - 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: white.
Legal moves: a3b2 a3b4 a3c1 a3c5 a3d6 b3b4 d1a1 d1b1 d1c1 d1d2 d1d3 d1d4 d1d5 d1d6 d1e1 d1f1 d1g1 g3g4


Prompt:
FEN: r1b4k/pp1nq2p/2p5/2Pp1rp1/3PpPQ1/2P3P1/P2N1P1P/1BR2RK1 w - - 2 18
List the side-to-move pieces and their squares.

Side to move: white.
Pieces: b1 white bishop; c1 white rook; f1 white rook; g1 white king; a2 white pawn; d2 white knight; f2 white pawn; h2 white pawn; c3 white pawn; g3 white pawn; d4 white pawn; f4 white pawn; g4 white queen; c5 white pawn.


Prompt:
FEN: 3r3r/pk1n1pp1/2pq3p/1p1p2P1/3P1n1P/2NQ4/PPP1N3/1K2R2R w - -
What legal moves does the piece on e1 have?


Prompt:
FEN: 8/7p/7p/4kPP1/8/8/2K5/8 w - -
Detect the game state: check, checkmate, stalemate, or none.

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


Prompt:
FEN: r2q1bnr/ppp1kBpp/3p4/3NN3/4P3/8/PP3PPP/R1Bb1RK1 b - - 2 10
List all capture moves available.


Prompt:
Given FEN: 4rrk1/ppp2ppp/3p4/2b2P2/1nP1B3/2R2PP1/PP2N1qP/3QKR2 b - - 8 19
List any special moves available (castling, en passant, promotion).


Prompt:
FEN: 4k2r/pp1r1ppp/4p3/4N3/Q2q4/8/PP3bPP/R1B2K2 w k -
Is the move h2h4 legal?


Prompt:
FEN: 5r2/1pp1p1kp/2n3p1/r4p2/8/P3PN2/2PP1PPP/R2R2K1 b - - 0 17
List pseudo-legal moves from a5.

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

Pseudo-legal moves from a5: a5a3 a5a4 a5a6 a5a7 a5a8 a5b5 a5c5 a5d5 a5e5


Prompt:
FEN: rn2k1nr/ppp2ppp/3p4/2b5/4P1b1/8/PPPP1NPP/RNB1KB1R w KQkq - 0 7
For the piece on e1, split pseudo-legal moves into legal and rejected moves with rejection reasons.

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

Pseudo-legal from e1: e1d1 e1e2.
Legal: none.
Rejected: e1d1 king_would_be_in_check; e1e2 king_would_be_in_check.


Prompt:
FEN: r5k1/pR6/3p1R2/2p5/2PpqP2/1P6/P1P5/1K6 b - - 0 28
For move g8f7, decide whether king safety allows it.

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

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


Prompt:
FEN: 8/2R5/2P1k3/5p1p/r4K1P/5PP1/4r3/2R5 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: c1 white rook; f3 white pawn; g3 white pawn; f4 white king; h4 white pawn; c6 white pawn; c7 white rook.
Moves by piece:
c1 white rook: c1c4
f3 white pawn: no legal moves
g3 white pawn: no legal moves
f4 white king: f4g5
h4 white pawn: no legal moves
c6 white pawn: no legal moves
c7 white rook: no legal moves
All legal moves: c1c4 f4g5


Prompt:
FEN: 2Q5/8/8/3k4/8/8/5K2/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: d5d4 d5d6 d5e4 d5e5


Prompt:
FEN: 6k1/8/6P1/5BK1/8/6r1/8/8 w - - 7 62
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: f5 white bishop; g5 white king; g6 white pawn.
Filter by piece:
f5 white bishop: pseudo-legal f5b1 f5c2 f5c8 f5d3 f5d7 f5e4 f5e6 f5g4 f5h3 | rejected f5b1 does_not_resolve_check; f5c2 does_not_resolve_check; f5c8 does_not_resolve_check; f5d3 does_not_resolve_check; f5d7 does_not_resolve_check; f5e4 does_not_resolve_check; f5e6 does_not_resolve_check; f5h3 does_not_resolve_check | legal f5g4
g5 white king: pseudo-legal g5f4 g5f6 g5g4 g5h4 g5h5 g5h6 | rejected g5g4 does_not_resolve_check | legal g5f4 g5f6 g5h4 g5h5 g5h6
g6 white pawn: pseudo-legal g6g7 | rejected g6g7 does_not_resolve_check | legal none
All legal moves: f5g4 g5f4 g5f6 g5h4 g5h5 g5h6


Prompt:
FEN: r1b1r1k1/1p3p1p/2ppn1p1/8/n1P1P3/2NN1P2/Pp1Q1BPP/5BK1 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: a4b6 a4c3 a4c5 a8a5 a8a6 a8a7 a8b8 b2b1b b2b1n b2b1q b2b1r b7b5 b7b6 c6c5 c8d7 d6d5 e6c5 e6c7 e6d4 e6d8 e6f4 e6f8 e6g5 e6g7 e8d8 e8e7 e8f8 f7f5 f7f6 g6g5 g8f8 g8g7 g8h8 h7h5 h7h6


Prompt:
FEN: 4r2k/ppp3p1/3b3p/8/6b1/3B4/PPP2RPP/RN5K w - - 5 22
List the side-to-move pieces and their squares.

Side to move: white.
Pieces: a1 white rook; b1 white knight; h1 white king; a2 white pawn; b2 white pawn; c2 white pawn; f2 white rook; g2 white pawn; h2 white pawn; d3 white bishop.


Prompt:
FEN: r3kbnr/pp3ppp/2n1pq2/1BPp4/2P5/4BQ2/PP3PPP/RN2K2R w KQkq -
What legal moves does the piece on f2 have?


Prompt:
FEN: rnbq1rk1/1pp2pb1/3p3p/p2Pp3/2P1P1pP/2N2NP1/PP2B1P1/R2QK2R w KQ -
Detect the game state: check, checkmate, stalemate, or none.

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


Prompt:
FEN: r1b2r2/5pkp/1q1p2p1/p1nN4/4PP2/P6P/BPP1Q1P1/2KR3R b - - 2 23
List all capture moves available.


Prompt:
Given FEN: r4rk1/p4ppp/1p2n3/1P1PQ3/8/5N2/2q2PPP/RR4K1 b - - 0 23
List any special moves available (castling, en passant, promotion).


Prompt:
FEN: 3q1rk1/1p2b1pp/p3pn2/2pp2B1/6Q1/3P3P/PPP3P1/RN4K1 w - - 2 18
Is the move a2a3 legal?


Prompt:
FEN: 5rk1/pp4bp/5qp1/3Pp3/1PPp4/7P/PB2Q1P1/R5K1 b - - 5 22
List pseudo-legal moves from d4.

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


Prompt:
FEN: rn3rk1/1b3p1p/pq1p1bp1/1p1P4/8/2N2N2/PPQ1BPPP/R2R2K1 b - - 1 16
For the piece on b5, 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 b5: b5b4.
Legal: b5b4.
Rejected: none.


Prompt:
FEN: 4r1k1/pp1n4/2p1q2p/2P2ppb/2PP4/P3pP2/3Q1BPP/R4RK1 w - - 0 24
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: r2qr1k1/pp3ppp/2nbpn2/3p3b/2PP4/1P1B1N1P/PB1N1PP1/R2QR1K1 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: d5 black pawn; h5 black bishop; c6 black knight; d6 black bishop; e6 black pawn; f6 black knight; a7 black pawn; b7 black pawn; f7 black pawn; g7 black pawn; h7 black pawn; a8 black rook; d8 black queen; e8 black rook; g8 black king.
Moves by piece:
d5 black pawn: d5c4
h5 black bishop: h5f3 h5g4 h5g6
c6 black knight: c6a5 c6b4 c6b8 c6d4 c6e5 c6e7
d6 black bishop: d6a3 d6b4 d6b8 d6c5 d6c7 d6e5 d6e7 d6f4 d6f8 d6g3 d6h2
e6 black pawn: e6e5
f6 black knight: f6d7 f6e4 f6g4
a7 black pawn: a7a5 a7a6
b7 black pawn: b7b5 b7b6
f7 black pawn: no legal moves
g7 black pawn: g7g5 g7g6
h7 black pawn: h7h6
a8 black rook: a8b8 a8c8
d8 black queen: d8a5 d8b6 d8b8 d8c7 d8c8 d8d7 d8e7
e8 black rook: e8e7 e8f8
g8 black king: g8f8 g8h8
All legal moves: a7a5 a7a6 a8b8 a8c8 b7b5 b7b6 c6a5 c6b4 c6b8 c6d4 c6e5 c6e7 d5c4 d6a3 d6b4 d6b8 d6c5 d6c7 d6e5 d6e7 d6f4 d6f8 d6g3 d6h2 d8a5 d8b6 d8b8 d8c7 d8c8 d8d7 d8e7 e6e5 e8e7 e8f8 f6d7 f6e4 f6g4 g7g5 g7g6 g8f8 g8h8 h5f3 h5g4 h5g6 h7h6


Prompt:
FEN: 2n2rk1/2q2pbp/2p1p1p1/3pP3/1PP5/8/1B1NQPPP/R5K1 b - -
Walk each ray for the slider on c7: list every square until a blocker, capture, or the board edge, then list the resulting moves.

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

Piece: c7 black queen.
Ray N: c8 black knight: own piece (stop, excluded).
Ray NE: d8 empty; edge.
Ray E: d7 empty; e7 empty; f7 black pawn: own piece (stop, excluded).
Ray SE: d6 empty; e5 white pawn: capture (stop, included).
Ray S: c6 black pawn: own piece (stop, excluded).
Ray SW: b6 empty; a5 empty; edge.
Ray W: b7 empty; a7 empty; edge.
Ray NW: b8 empty; edge.
Moves from rays: c7a5 c7a7 c7b6 c7b7 c7b8 c7d6 c7d7 c7d8 c7e5 c7e7


Prompt:
FEN: r3kb1r/ppp2ppp/q4n2/4p3/8/1QP5/PP1P1PPP/RNB1K2R w KQkq -
List all legal moves.

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

Side to move: white.
Legal moves: a2a3 a2a4 b1a3 b3a3 b3a4 b3b4 b3b5 b3b6 b3b7 b3c2 b3c4 b3d1 b3d5 b3e6 b3f7 c3c4 d2d3 d2d4 e1d1 f2f3 f2f4 g2g3 g2g4 h1f1 h1g1 h2h3 h2h4


Prompt:
FEN: 2r2rk1/1p2qpbp/pBbp1np1/2P1p3/4P1P1/2N1Q2P/PP2BP2/3RK2R b K -
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 c6a4 c6b5 c6d5 c6d7 c6e4 c6e8 c8a8 c8b8 c8c7 c8d8 c8e8 d6c5 d6d5 e7c7 e7d7 e7d8 e7e6 e7e8 f6d5 f6d7 f6e4 f6e8 f6g4 f6h5 f8d8 f8e8 g6g5 g7h6 g7h8 g8h8 h7h5 h7h6


Prompt:
FEN: r2qkbnr/pppnpppp/8/3p4/5Pb1/4PN2/PPPP2PP/RNBQKB1R w KQkq -
List the side-to-move pieces and their squares.

Side to move: white.
Pieces: a1 white rook; b1 white knight; c1 white bishop; d1 white queen; e1 white king; f1 white bishop; h1 white rook; a2 white pawn; b2 white pawn; c2 white pawn; d2 white pawn; g2 white pawn; h2 white pawn; e3 white pawn; f3 white knight; f4 white pawn.


Prompt:
FEN: b5rk/p5r1/3p2q1/PPp1p2p/2Pp2P1/3P1P2/3Q1NP1/1R3RK1 b - - 0 33
What legal moves does the piece on g8 have?


Prompt:
FEN: r1bq1rk1/pppnbppp/3ppn2/8/2PPP3/2N2N2/PP2BPPP/R1BQ1RK1 b - -
Detect the game state: check, checkmate, stalemate, or none.

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


Prompt:
FEN: 1r2r1k1/3q1pb1/3p1n1p/1NnPp1p1/2P4B/1p3N1P/1P1Q1PP1/3RR1K1 w - - 0 25
List all capture moves available.


Prompt:
Given FEN: 8/6pk/7p/3pp1r1/5q2/7P/PR2QPP1/3r3K w - -
List any special moves available (castling, en passant, promotion).


Prompt:
FEN: 8/7k/p7/1p3pQp/4N3/P3P3/1P3PPP/5RK1 w - - 1 32
Is the move g5g3 legal?


Prompt:
FEN: 4r1k1/2R2ppp/pp3r2/3R4/1P6/P3P3/5P1P/6K1 w - - 0 30
List pseudo-legal moves from g1.

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

Pseudo-legal moves from g1: g1f1 g1g2 g1h1


Prompt:
FEN: r1b1k2r/pp2ppbp/2n2np1/2p5/3Pq3/N1P2N2/PP2BPPP/R1BQ1RK1 b kq -
For the piece on e4, split pseudo-legal moves into legal and rejected moves with rejection reasons.

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

Pseudo-legal from e4: e4b1 e4c2 e4d3 e4d4 e4d5 e4e2 e4e3 e4e5 e4e6 e4f3 e4f4 e4f5 e4g4 e4h4.
Legal: e4b1 e4c2 e4d3 e4d4 e4d5 e4e2 e4e3 e4e5 e4e6 e4f3 e4f4 e4f5 e4g4 e4h4.
Rejected: none.


Prompt:
FEN: 5r2/P2P4/8/8/7P/8/4K2P/7k w - -
For move e2f1, decide whether king safety allows it.

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

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


Prompt:
FEN: 2kr1bnr/ppqb2pp/2n1p3/2ppP3/5B2/2P2N2/PP2BPPP/RN1QR1K1 b - -
Group all legal moves by side-to-move piece.

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

Side to move: black.
Pieces: c5 black pawn; d5 black pawn; c6 black knight; e6 black pawn; a7 black pawn; b7 black pawn; c7 black queen; d7 black bishop; g7 black pawn; h7 black pawn; c8 black king; d8 black rook; f8 black bishop; g8 black knight; h8 black rook.
Moves by piece:
c5 black pawn: c5c4
d5 black pawn: d5d4
c6 black knight: c6a5 c6b4 c6b8 c6d4 c6e5 c6e7
e6 black pawn: no legal moves
a7 black pawn: a7a5 a7a6
b7 black pawn: b7b5 b7b6
c7 black queen: c7a5 c7b6 c7b8 c7d6 c7e5
d7 black bishop: d7e8
g7 black pawn: g7g5 g7g6
h7 black pawn: h7h5 h7h6
c8 black king: c8b8
d8 black rook: d8e8
f8 black bishop: f8d6 f8e7
g8 black knight: g8e7 g8f6 g8h6
h8 black rook: no legal moves
All legal moves: a7a5 a7a6 b7b5 b7b6 c5c4 c6a5 c6b4 c6b8 c6d4 c6e5 c6e7 c7a5 c7b6 c7b8 c7d6 c7e5 c8b8 d5d4 d7e8 d8e8 f8d6 f8e7 g7g5 g7g6 g8e7 g8f6 g8h6 h7h5 h7h6


Prompt:
FEN: 3qk2r/1rp1bpp1/3p1n1p/p1pPp3/4P3/P1N1BQ2/1PP2PPP/1K1R3R b k - 7 16
Walk each ray for the slider on b7: list every square until a blocker, capture, or the board edge, then list the resulting moves.

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

Piece: b7 black rook.
Ray N: b8 empty; edge.
Ray E: c7 black pawn: own piece (stop, excluded).
Ray S: b6 empty; b5 empty; b4 empty; b3 empty; b2 white pawn: capture (stop, included).
Ray W: a7 empty; edge.
Moves from rays: b7a7 b7b2 b7b3 b7b4 b7b5 b7b6 b7b8


Prompt:
FEN: rnbqkb1r/1p1p1ppp/p3pn2/2P5/8/2N1BN2/PPP1PPPP/R2QKB1R b KQkq - 1 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: a6a5 a8a7 b7b5 b7b6 b8c6 d7d5 d7d6 d8a5 d8b6 d8c7 d8e7 e6e5 e8e7 f6d5 f6e4 f6g4 f6g8 f6h5 f8c5 f8d6 f8e7 g7g5 g7g6 h7h5 h7h6 h8g8


Prompt:
FEN: 3r4/2p2kPp/p1b2p1B/1p2p2P/3R4/1PPr1P2/P4KP1/4R3 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 b3b4 c3c4 d4a4 d4b4 d4c4 d4d3 d4d5 d4d6 d4d7 d4d8 d4e4 d4f4 d4g4 d4h4 e1a1 e1b1 e1c1 e1d1 e1e2 e1e3 e1e4 e1e5 e1f1 e1g1 e1h1 f2e2 f2f1 f2g1 f2g3 f3f4 g2g3 g2g4 g7g8b g7g8n g7g8q g7g8r h6c1 h6d2 h6e3 h6f4 h6g5


Prompt:
FEN: 8/8/4K3/2B5/2B1k3/8/8/8 w - -
List the side-to-move pieces and their squares.

Side to move: white.
Pieces: c4 white bishop; c5 white bishop; e6 white king.


Prompt:
FEN: 5k2/7Q/4K3/8/8/8/8/8 b - -
What legal moves does the piece on f8 have?


Prompt:
FEN: k1r5/P7/3K2p1/5p1p/5P1P/R5P1/8/8 w - -
Detect the game state: check, checkmate, stalemate, or none.

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


Prompt:
FEN: 2r1r1k1/6b1/5p2/p1Pp1N1p/N3p3/4P3/1PR2PPP/6K1 w - - 0 27
List all capture moves available.


Prompt:
Given FEN: r3k2r/p2qbpp1/5n1p/2p5/4p3/1P6/1PPPQPPP/RNB2RK1 b kq - 0 15
List any special moves available (castling, en passant, promotion).

Castling available: kingside, queenside.


Prompt:
FEN: 4r2k/2p3pp/p1Pb1r2/1p1P3q/P7/1BPR3P/KPN1np2/5Q1R w - - 4 34
Is the move h5g8 legal?


Prompt:
FEN: rn1q1bnr/ppp1k3/4b2p/4Q3/2B1Pp1P/8/PPPP2P1/RNB1K2R w KQ -
List pseudo-legal moves from b1.

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


Prompt:
FEN: r1b1kb1r/pp2pppp/2n5/q1pp4/3P3B/2P1PN2/P1PQBPPP/R3K2R b KQkq -
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 a5b4 a5b5 a5b6 a5c3 a5c7 a5d8.
Legal: a5a2 a5a3 a5a4 a5a6 a5b4 a5b5 a5b6 a5c3 a5c7 a5d8.
Rejected: none.


Prompt:
FEN: 8/8/8/8/8/1P1R1p2/P5k1/K7 w - - 1 39
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: r2qk1nr/1b5p/2nbp1p1/p2pNp1Q/1ppP1P2/2P1P3/PPBN2PP/R1B2RK1 w kq - 0 13
Group all legal moves by side-to-move piece.

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

Side to move: white.
Pieces: a1 white rook; c1 white bishop; f1 white rook; g1 white king; a2 white pawn; b2 white pawn; c2 white bishop; d2 white knight; g2 white pawn; h2 white pawn; c3 white pawn; e3 white pawn; d4 white pawn; f4 white pawn; e5 white knight; h5 white queen.
Moves by piece:
a1 white rook: a1b1
c1 white bishop: no legal moves
f1 white rook: f1d1 f1e1 f1f2 f1f3
g1 white king: g1f2 g1h1
a2 white pawn: a2a3 a2a4
b2 white pawn: b2b3
c2 white bishop: c2a4 c2b1 c2b3 c2d1 c2d3 c2e4 c2f5
d2 white knight: d2b1 d2b3 d2c4 d2e4 d2f3
g2 white pawn: g2g3 g2g4
h2 white pawn: h2h3 h2h4
c3 white pawn: c3b4
e3 white pawn: e3e4
d4 white pawn: no legal moves
f4 white pawn: no legal moves
e5 white knight: e5c4 e5c6 e5d3 e5d7 e5f3 e5f7 e5g4 e5g6
h5 white queen: h5d1 h5e2 h5f3 h5f5 h5g4 h5g5 h5g6 h5h3 h5h4 h5h6 h5h7
All legal moves: a1b1 a2a3 a2a4 b2b3 c2a4 c2b1 c2b3 c2d1 c2d3 c2e4 c2f5 c3b4 d2b1 d2b3 d2c4 d2e4 d2f3 e3e4 e5c4 e5c6 e5d3 e5d7 e5f3 e5f7 e5g4 e5g6 f1d1 f1e1 f1f2 f1f3 g1f2 g1h1 g2g3 g2g4 h2h3 h2h4 h5d1 h5e2 h5f3 h5f5 h5g4 h5g5 h5g6 h5h3 h5h4 h5h6 h5h7


Prompt:
FEN: 1r1qkb1r/3b1ppp/p1n2n2/1p1Np3/4P3/1B2BN2/PP3PPP/R2QR1K1 b k -
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 bishop.
Ray NE: e8 black king: own piece (stop, excluded).
Ray SE: e6 empty; f5 empty; g4 empty; h3 empty; edge.
Ray SW: c6 black knight: own piece (stop, excluded).
Ray NW: c8 empty; edge.
Moves from rays: d7c8 d7e6 d7f5 d7g4 d7h3


Prompt:
FEN: 2r2rk1/3bqpp1/1np4p/p2pN3/1p1P1Pn1/1P1BPR2/P1Q1N1PP/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: a5a4 b6a4 b6a8 b6c4 c6c5 c8a8 c8b8 c8c7 c8d8 c8e8 d7e6 d7e8 d7f5 e7c5 e7d6 e7d8 e7e5 e7e6 e7e8 e7f6 e7g5 e7h4 f7f5 f7f6 f8d8 f8e8 g4e3 g4e5 g4f2 g4f6 g4h2 g7g5 g7g6 g8h8 h6h5


Prompt:
FEN: r2q4/pp3r2/4bnkp/2Pp1p2/P2Pp3/B3P3/2Q1BPP1/R3K2R b KQ - 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 b7b5 b7b6 d8a5 d8b6 d8b8 d8c7 d8c8 d8d6 d8d7 d8e7 d8e8 d8f8 d8g8 d8h8 e6c8 e6d7 f5f4 f6d7 f6e8 f6g4 f6g8 f6h5 f6h7 f7c7 f7d7 f7e7 f7f8 f7g7 f7h7 g6g5 g6g7 g6h7 h6h5


Prompt:
FEN: r1bqk2r/ppp2pp1/3b1n2/3p3p/3np3/1PN1P3/PBPPBPPP/R2Q1RK1 w kq - 0 9
List the side-to-move pieces and their squares.

Side to move: white.
Pieces: a1 white rook; d1 white queen; f1 white rook; g1 white king; a2 white pawn; b2 white bishop; c2 white pawn; d2 white pawn; e2 white bishop; f2 white pawn; g2 white pawn; h2 white pawn; b3 white pawn; c3 white knight; e3 white pawn.


Prompt:
FEN: 8/3k4/8/3BK3/2N5/8/8/8 b - -
What legal moves does the piece on d7 have?


Prompt:
FEN: 2rq1r1k/p5pp/2p1Q3/1p3p2/1P1P4/P3P2P/5PP1/2R2RK1 b - - 3 21
Detect the game state: check, checkmate, stalemate, or none.

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


Prompt:
FEN: 2r1k2Q/pp1bqr2/7p/3p2pn/8/P4RBP/1P3PP1/4R1K1 b - -
List all capture moves available.


Prompt:
Given FEN: 1r4k1/5p1p/2n1b3/2qpN3/8/2B1P3/PP3PPP/1K1R1B1R w - - 5 20
List any special moves available (castling, en passant, promotion).


Prompt:
FEN: r2qk2r/ppp2ppp/2np1n2/2b5/3pPPb1/3B1N1P/PPPN2P1/R1BQ1RK1 b kq -
Is the move f6d5 legal?


Prompt:
FEN: 5r2/4r2p/p4p2/1ppp1P2/4pkPR/3P4/PPP3KP/5R2 b - - 1 31
List pseudo-legal moves from e4.

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


Prompt:
FEN: r4rk1/1ppnbppp/p1nq4/3p3b/1P1PpP2/P1N1P2P/2PQ4/R1B1KBNR w KQ - 1 13
For the piece on e1, split pseudo-legal moves into legal and rejected moves with rejection reasons.

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

Pseudo-legal from e1: e1d1 e1e2 e1f2.
Legal: e1f2.
Rejected: e1d1 king_would_be_in_check; e1e2 king_would_be_in_check.


Prompt:
FEN: r1br2k1/pp3ppp/4p3/n2pP3/8/1B3N2/PPP2PPP/R2R2K1 w - - 0 15
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: r3k2r/pppqb1p1/2n1p3/3pPppn/3P4/2P2PP1/PP1NQBBP/R3K2R b KQkq -
Group all legal moves by side-to-move piece.

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

Side to move: black.
Pieces: d5 black pawn; f5 black pawn; g5 black pawn; h5 black knight; c6 black knight; e6 black pawn; a7 black pawn; b7 black pawn; c7 black pawn; d7 black queen; e7 black bishop; g7 black pawn; a8 black rook; e8 black king; h8 black rook.
Moves by piece:
d5 black pawn: no legal moves
f5 black pawn: f5f4
g5 black pawn: g5g4
h5 black knight: h5f4 h5f6 h5g3
c6 black knight: c6a5 c6b4 c6b8 c6d4 c6d8 c6e5
e6 black pawn: no legal moves
a7 black pawn: a7a5 a7a6
b7 black pawn: b7b5 b7b6
c7 black pawn: no legal moves
d7 black queen: d7c8 d7d6 d7d8
e7 black bishop: e7a3 e7b4 e7c5 e7d6 e7d8 e7f6 e7f8
g7 black pawn: g7g6
a8 black rook: a8b8 a8c8 a8d8
e8 black king: e8c8 e8d8 e8f7 e8f8 e8g8
h8 black rook: h8f8 h8g8 h8h6 h8h7
All legal moves: a7a5 a7a6 a8b8 a8c8 a8d8 b7b5 b7b6 c6a5 c6b4 c6b8 c6d4 c6d8 c6e5 d7c8 d7d6 d7d8 e7a3 e7b4 e7c5 e7d6 e7d8 e7f6 e7f8 e8c8 e8d8 e8f7 e8f8 e8g8 f5f4 g5g4 g7g6 h5f4 h5f6 h5g3 h8f8 h8g8 h8h6 h8h7


Prompt:
FEN: 2kr3r/pppq1p2/2nbbn1p/3p4/1P1P2pN/1NP1B1P1/P4PBP/R2Q1RK1 b - - 1 13
Walk each ray for the slider on d6: list every square until a blocker, capture, or the board edge, then list the resulting moves.

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

Piece: d6 black bishop.
Ray NE: e7 empty; f8 empty; edge.
Ray SE: e5 empty; f4 empty; g3 white pawn: capture (stop, included).
Ray SW: c5 empty; b4 white pawn: capture (stop, included).
Ray NW: c7 black pawn: own piece (stop, excluded).
Moves from rays: d6b4 d6c5 d6e5 d6e7 d6f4 d6f8 d6g3


Prompt:
FEN: 5rk1/5rp1/1n2p2p/1p2p1q1/p2pP1P1/3p1P1P/PPPN1RQ1/6RK w - - 0 29
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 b2b3 b2b4 c2c3 c2c4 c2d3 d2b1 d2b3 d2c4 d2f1 f2e2 f2f1 f3f4 g1a1 g1b1 g1c1 g1d1 g1e1 g1f1 g2f1 g2g3 g2h2 h1h2 h3h4


Prompt:
FEN: r2qr1k1/1b2bppp/p4n2/1p1p4/1PnP4/2Q1P1P1/1N2NPBP/R1B2RK1 w - - 0 18
List all legal moves.

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

Side to move: white.
Legal moves: a1a2 a1a3 a1a4 a1a5 a1a6 a1b1 b2a4 b2c4 b2d1 b2d3 c1d2 c3a3 c3b3 c3c2 c3c4 c3d2 c3d3 c3e1 e2f4 e3e4 f1d1 f1e1 f2f3 f2f4 g1h1 g2d5 g2e4 g2f3 g2h1 g2h3 g3g4 h2h3 h2h4


Prompt:
FEN: 5r2/1R3ppp/4p3/2k5/2p5/2P2PKP/r5P1/8 b - - 6 30
List the side-to-move pieces and their squares.

Side to move: black.
Pieces: a2 black rook; c4 black pawn; c5 black king; e6 black pawn; f7 black pawn; g7 black pawn; h7 black pawn; f8 black rook.


Prompt:
FEN: r1bqk1nr/pp2nppp/2Pp4/b3p3/Q1B1P3/2P2N2/P4PPP/RNB1K2R b KQkq -
What legal moves does the piece on d8 have?


Prompt:
FEN: 1R6/4p3/N1k1p2K/pN2P3/2B1pPP1/2n5/4Ppb1/8 b - -
Detect the game state: check, checkmate, stalemate, or none.

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


Prompt:
FEN: 3r3r/pppk1p2/3p1npp/1Pb1p3/P3P3/2PBNP1P/3P1P2/2R1K2R b K - 1 19
List all capture moves available.


Prompt:
Given FEN: 8/8/8/8/8/4K1k1/r6p/7R w - - 6 66
List any special moves available (castling, en passant, promotion).


Prompt:
FEN: r2q1rk1/1p2ppb1/2npbnpp/p1pN4/2P1P3/P2P1NP1/1P1B1PBP/R2Q1RK1 b - - 3 11
Is the move a7b4 legal?


Prompt:
FEN: 2kr1b1r/pp2q2p/n1p1pn2/3p2p1/3P4/1BP5/PP3PPP/RNBQR1K1 w - - 1 12
List pseudo-legal moves from b1.

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


Prompt:
FEN: r4rk1/3b2b1/p2ppq1p/1p1P3Q/6p1/3BB1P1/P6P/1R2R1K1 w - - 0 23
For the piece on g1, split pseudo-legal moves into legal and rejected moves with rejection reasons.

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

Pseudo-legal from g1: g1f1 g1f2 g1g2 g1h1.
Legal: g1g2 g1h1.
Rejected: g1f1 king_would_be_in_check; g1f2 king_would_be_in_check.


Prompt:
FEN: rn5r/pb2bkq1/1pppNn2/7p/3P4/2NB2B1/PPPQ1PPP/R3K2R w KQ - 1 14
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: 6k1/5pp1/5np1/3p1P2/8/6PP/1pq2nRK/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 pawn; c2 black queen; f2 black knight; d5 black pawn; f6 black knight; g6 black pawn; f7 black pawn; g7 black pawn; g8 black king.
Moves by piece:
b2 black pawn: b2b1b b2b1n b2b1q b2b1r
c2 black queen: c2a4 c2b1 c2b3 c2c1 c2c3 c2c4 c2c5 c2c6 c2c7 c2c8 c2d1 c2d2 c2d3 c2e2 c2e4 c2f5
f2 black knight: f2d1 f2d3 f2e4 f2g4 f2h1 f2h3
d5 black pawn: d5d4
f6 black knight: f6d7 f6e4 f6e8 f6g4 f6h5 f6h7
g6 black pawn: g6f5 g6g5
f7 black pawn: no legal moves
g7 black pawn: no legal moves
g8 black king: g8f8 g8h7 g8h8
All legal moves: b2b1b b2b1n b2b1q b2b1r c2a4 c2b1 c2b3 c2c1 c2c3 c2c4 c2c5 c2c6 c2c7 c2c8 c2d1 c2d2 c2d3 c2e2 c2e4 c2f5 d5d4 f2d1 f2d3 f2e4 f2g4 f2h1 f2h3 f6d7 f6e4 f6e8 f6g4 f6h5 f6h7 g6f5 g6g5 g8f8 g8h7 g8h8


Prompt:
FEN: rn1q1rk1/p3nppp/1p2p3/2ppP1B1/3P4/P1PP1N2/5PPP/R2Q1RK1 b - -
Walk each ray for the slider on a8: list every square until a blocker, capture, or the board edge, then list the resulting moves.

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

Piece: a8 black rook.
Ray N: edge.
Ray E: b8 black knight: own piece (stop, excluded).
Ray S: a7 black pawn: own piece (stop, excluded).
Ray W: edge.
Moves from rays: none


Prompt:
FEN: 5rk1/4qpb1/2pr4/p3p3/1p2P1QP/6P1/P5PN/1B3R1K b - - 0 30
List all legal moves.

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

Side to move: black.
Legal moves: a5a4 b4b3 c6c5 d6d1 d6d2 d6d3 d6d4 d6d5 d6d7 d6d8 d6e6 d6f6 d6g6 d6h6 e7a7 e7b7 e7c7 e7d7 e7d8 e7e6 e7e8 e7f6 e7g5 e7h4 f7f5 f7f6 f8a8 f8b8 f8c8 f8d8 f8e8 g8h7 g8h8


Prompt:
FEN: 7r/pbqnbk2/2pr1nRp/1p2p3/4PP1N/2N1B3/PPP4P/2K1RQ2 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 b2b3 b2b4 c1b1 c3a4 c3b1 c3b5 c3d1 c3d5 c3e2 e1d1 e1e2 e3a7 e3b6 e3c5 e3d2 e3d4 e3f2 e3g1 f1b5 f1c4 f1d3 f1e2 f1f2 f1f3 f1g1 f1g2 f1h1 f1h3 f4e5 f4f5 g6f6 g6g1 g6g2 g6g3 g6g4 g6g5 g6g7 g6g8 g6h6 h2h3 h4f3 h4f5 h4g2


Prompt:
FEN: 4r3/2P5/4kp2/1K1N1R2/1P1b1P2/8/8/8 w - - 1 53
List the side-to-move pieces and their squares.

Side to move: white.
Pieces: b4 white pawn; f4 white pawn; b5 white king; d5 white knight; f5 white rook; c7 white pawn.


Prompt:
FEN: r3kb1r/p1q2ppp/2p2n2/4p3/2B1P1b1/2N2Q2/PPP2PPP/3RK2R w Kkq - 6 13
What legal moves does the piece on f3 have?

f3d3 f3e2 f3e3 f3f4 f3f5 f3f6 f3g3 f3g4 f3h3


Prompt:
FEN: 3r2k1/pp2n1pp/8/1N1pP3/1P1K4/6P1/P6P/2R5 w - -
Detect the game state: check, checkmate, stalemate, or none.

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


Prompt:
FEN: r1bqk2r/1ppp1ppp/p1n2n2/2b1p3/4P3/2N2N2/PPPP1PPP/R1BQKB1R w KQkq -
List all capture moves available.


Prompt:
Given FEN: r1bqkb1r/pp3ppp/4n3/3pN2P/4p3/2N3P1/PPP2P2/R1BQK2R w KQkq -
List any special moves available (castling, en passant, promotion).


Prompt:
FEN: 8/6p1/8/7p/pk5P/6P1/P7/1K6 w - - 2 49
Is the move b1c2 legal?


Prompt:
FEN: 5rk1/p4ppp/2qp4/2nN4/1RP1p3/P1PP2P1/4PP1P/2Q2RK1 w - -
List pseudo-legal moves from c1.

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

Pseudo-legal moves from c1: c1a1 c1b1 c1b2 c1c2 c1d1 c1d2 c1e1 c1e3 c1f4 c1g5 c1h6


Prompt:
FEN: rnbqk2r/ppp1bpp1/3p1n1p/8/2BNP3/8/PPP1QPPP/RNB1K2R w KQkq -
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: 1r6/p4pk1/2Q5/2n1q1pp/1b4bP/2N1P3/PP3PP1/2R1KB1R w K -
For move c3a4, decide whether king safety allows it.

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

Move: c3a4.
Pseudo-legal: yes.
King safe after move: no.
Final: illegal; pinned_piece_exposes_king.


Prompt:
FEN: 2kr3r/ppp3pp/2nb4/3qpp2/2P5/P2P4/1P2QPPP/R1B1R1K1 b - - 0 18
Group all legal moves by side-to-move piece.

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

Side to move: black.
Pieces: d5 black queen; e5 black pawn; f5 black pawn; c6 black knight; d6 black bishop; a7 black pawn; b7 black pawn; c7 black pawn; g7 black pawn; h7 black pawn; c8 black king; d8 black rook; h8 black rook.
Moves by piece:
d5 black queen: d5a5 d5b5 d5c4 d5c5 d5d3 d5d4 d5e4 d5e6 d5f3 d5f7 d5g2 d5g8
e5 black pawn: e5e4
f5 black pawn: f5f4
c6 black knight: c6a5 c6b4 c6b8 c6d4 c6e7
d6 black bishop: d6a3 d6b4 d6c5 d6e7 d6f8
a7 black pawn: a7a5 a7a6
b7 black pawn: b7b5 b7b6
c7 black pawn: no legal moves
g7 black pawn: g7g5 g7g6
h7 black pawn: h7h5 h7h6
c8 black king: c8b8 c8d7
d8 black rook: d8d7 d8e8 d8f8 d8g8
h8 black rook: h8e8 h8f8 h8g8
All legal moves: a7a5 a7a6 b7b5 b7b6 c6a5 c6b4 c6b8 c6d4 c6e7 c8b8 c8d7 d5a5 d5b5 d5c4 d5c5 d5d3 d5d4 d5e4 d5e6 d5f3 d5f7 d5g2 d5g8 d6a3 d6b4 d6c5 d6e7 d6f8 d8d7 d8e8 d8f8 d8g8 e5e4 f5f4 g7g5 g7g6 h7h5 h7h6 h8e8 h8f8 h8g8


Prompt:
FEN: rn2r2k/ppp1q2n/3b3Q/5BB1/8/8/PPP2PPP/RN3RK1 b - -
Walk each ray for the slider on d6: list every square until a blocker, capture, or the board edge, then list the resulting moves.

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

Piece: d6 black bishop.
Ray NE: e7 black queen: own piece (stop, excluded).
Ray SE: e5 empty; f4 empty; g3 empty; h2 white pawn: capture (stop, included).
Ray SW: c5 empty; b4 empty; a3 empty; edge.
Ray NW: c7 black pawn: own piece (stop, excluded).
Moves from rays: d6a3 d6b4 d6c5 d6e5 d6f4 d6g3 d6h2


Prompt:
FEN: 6k1/p4pnQ/1p3qp1/3p2N1/6P1/2P4P/P4PK1/8 b - - 6 31
List all legal moves.

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


Prompt:
FEN: 8/4k3/1p2P3/p7/2P1K1Bp/PP5P/8/5r2 w - - 1 55
List all legal moves.

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

Side to move: white.
Legal moves: a3a4 b3b4 c4c5 e4d3 e4d4 e4d5 e4e3 e4e5 g4d1 g4e2 g4f3 g4f5 g4h5


Prompt:
FEN: 3q2k1/5p2/5Q1p/1p2p3/1Pp4P/2P5/2B2P2/6K1 w - -
List the side-to-move pieces and their squares.

Side to move: white.
Pieces: g1 white king; c2 white bishop; f2 white pawn; c3 white pawn; b4 white pawn; h4 white pawn; f6 white queen.


Prompt:
FEN: 2rqk1nr/1b2pp1p/3p2p1/pN6/n1P1PB2/P4P2/K2Q2PP/3R1BNR b k - 0 15
What legal moves does the piece on a4 have?


Prompt:
FEN: r2qkb1r/pp1nppp1/2p2n1p/3p2N1/3P4/3QP2P/PPP2PP1/RNB1K2R w KQkq - 0 8
Detect the game state: check, checkmate, stalemate, or none.

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


Prompt:
FEN: 3rr1k1/2q2ppp/2np1bb1/1p2p3/4P3/2P2NNP/1PB2PP1/R2QR1K1 w - -
List all capture moves available.


Prompt:
Given FEN: 2b1k2r/1p1n1ppp/2p1pn2/b2p4/2PP4/2N1PN2/1B2BPPP/4K2R w Kk - 0 13
List any special moves available (castling, en passant, promotion).


Prompt:
FEN: r4r1k/1p3p2/p1p2P2/8/3p2bP/2B5/PPP2PB1/2K4R w - - 0 24
Is the move b7e1 legal?


Prompt:
FEN: 3r4/3rb3/2kNb1p1/4P2p/p1pR3P/B4P2/1P1K2P1/3R4 b - -
List pseudo-legal moves from c4.

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


Prompt:
FEN: 8/8/2b5/3k4/1Q6/4K3/8/8 w - -
For the piece on e3, 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 e3: e3d2 e3d3 e3d4 e3e2 e3e4 e3f2 e3f3 e3f4.
Legal: e3d2 e3d3 e3e2 e3f2 e3f3 e3f4.
Rejected: e3d4 king_would_be_in_check; e3e4 king_would_be_in_check.


Prompt:
FEN: 7r/pQ1bq1kp/5np1/2p1Np2/2P2P2/PP2b3/2K1N1PP/5B1R b - - 1 25
For move g7f7, decide whether king safety allows it.

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

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


Prompt:
FEN: r1bqkb1r/ppp2ppp/2n2n2/4p3/4P3/3P4/PPP1B1PP/RNBQK1NR w KQkq -
Group all legal moves by side-to-move piece.

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

Side to move: white.
Pieces: a1 white rook; b1 white knight; c1 white bishop; d1 white queen; e1 white king; g1 white knight; h1 white rook; a2 white pawn; b2 white pawn; c2 white pawn; e2 white bishop; g2 white pawn; h2 white pawn; d3 white pawn; e4 white pawn.
Moves by piece:
a1 white rook: no legal moves
b1 white knight: b1a3 b1c3 b1d2
c1 white bishop: c1d2 c1e3 c1f4 c1g5 c1h6
d1 white queen: d1d2
e1 white king: e1d2 e1f1 e1f2
g1 white knight: g1f3 g1h3
h1 white rook: no legal moves
a2 white pawn: a2a3 a2a4
b2 white pawn: b2b3 b2b4
c2 white pawn: c2c3 c2c4
e2 white bishop: e2f1 e2f3 e2g4 e2h5
g2 white pawn: g2g3 g2g4
h2 white pawn: h2h3 h2h4
d3 white pawn: d3d4
e4 white pawn: no legal moves
All legal moves: a2a3 a2a4 b1a3 b1c3 b1d2 b2b3 b2b4 c1d2 c1e3 c1f4 c1g5 c1h6 c2c3 c2c4 d1d2 d3d4 e1d2 e1f1 e1f2 e2f1 e2f3 e2g4 e2h5 g1f3 g1h3 g2g3 g2g4 h2h3 h2h4


Prompt:
FEN: 3r2r1/kpQ2p2/qN2b2p/p7/5p2/P5P1/5P1P/R3R1K1 w - - 7 25
Walk each ray for the slider on a1: list every square until a blocker, capture, or the board edge, then list the resulting moves.

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

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


Prompt:
FEN: 8/k1K5/8/2N5/4B3/8/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: e4 white bishop; c5 white knight; c7 white king.
Filter by piece:
e4 white bishop: pseudo-legal e4a8 e4b1 e4b7 e4c2 e4c6 e4d3 e4d5 e4f3 e4f5 e4g2 e4g6 e4h1 e4h7 | rejected none | legal e4a8 e4b1 e4b7 e4c2 e4c6 e4d3 e4d5 e4f3 e4f5 e4g2 e4g6 e4h1 e4h7
c5 white knight: pseudo-legal c5a4 c5a6 c5b3 c5b7 c5d3 c5d7 c5e6 | rejected none | legal c5a4 c5a6 c5b3 c5b7 c5d3 c5d7 c5e6
c7 white king: pseudo-legal c7b6 c7b7 c7b8 c7c6 c7c8 c7d6 c7d7 c7d8 | rejected c7b6 king_would_be_in_check; c7b7 king_would_be_in_check; c7b8 king_would_be_in_check | legal c7c6 c7c8 c7d6 c7d7 c7d8
All legal moves: c5a4 c5a6 c5b3 c5b7 c5d3 c5d7 c5e6 c7c6 c7c8 c7d6 c7d7 c7d8 e4a8 e4b1 e4b7 e4c2 e4c6 e4d3 e4d5 e4f3 e4f5 e4g2 e4g6 e4h1 e4h7


Prompt:
FEN: r3k2r/pppq1ppp/2npbn2/4p3/2B1P3/2PPP1QP/PP4P1/RN2K1NR w 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: white.
Legal moves: a2a3 a2a4 b1a3 b1d2 b2b3 b2b4 c4a6 c4b3 c4b5 c4d5 c4e6 d3d4 e1d1 e1d2 e1e2 e1f1 e1f2 g1e2 g1f3 g3e5 g3f2 g3f3 g3f4 g3g4 g3g5 g3g6 g3g7 g3h2 g3h4 h1h2 h3h4


Prompt:
FEN: 5R2/8/7p/5p2/P4P2/6kP/2r3P1/6K1 w - -
List the side-to-move pieces and their squares.

Side to move: white.
Pieces: g1 white king; g2 white pawn; h3 white pawn; a4 white pawn; f4 white pawn; f8 white rook.


Prompt:
FEN: 8/8/2N5/k1K5/8/1B6/8/8 b - -
What legal moves does the piece on a5 have?


Prompt:
FEN: rr6/3q1pkp/3ppnp1/1N6/PQ6/3PP3/1P3P1P/R3K1N1 b Q - 0 23
Detect the game state: check, checkmate, stalemate, or none.

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


Prompt:
FEN: r6k/1bp3p1/p2b2qp/1p2B3/1P6/P3P3/B3Q1PP/5RK1 w - - 1 24
List all capture moves available.


Prompt:
Given FEN: 8/pp2k3/2p5/3brpp1/1P1N4/P1P3KP/3R1P2/8 w - - 2 35
List any special moves available (castling, en passant, promotion).


Prompt:
FEN: 3r1k1r/R4ppp/8/4p3/8/2K1Pb2/5PPP/7R w - - 0 22
Is the move c3b4 legal?


Prompt:
FEN: r2q1rk1/ppp2ppp/2n5/3n3b/2BP4/5N1P/PP1N1PP1/R2QR1K1 w - - 1 13
List pseudo-legal moves from a1.

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


Prompt:
FEN: 1k6/8/1K2B3/4B3/8/8/8/8 b - -
For the piece on b8, 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 b8: b8a7 b8a8 b8b7 b8c7 b8c8.
Legal: b8a8.
Rejected: b8a7 does_not_resolve_check; b8b7 does_not_resolve_check; b8c7 does_not_resolve_check; b8c8 does_not_resolve_check.


Prompt:
FEN: r1bqr1k1/pp3ppp/2n1p3/8/2PbN3/BQ6/P3B1PP/3R1R1K w - -
For move h1g1, decide whether king safety allows it.

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

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


Prompt:
FEN: r2qk2r/ppp1bpp1/2n3bp/3np3/2B3P1/P2P1N1P/1PP2P2/RNBQK2R w KQkq - 2 11
Group all legal moves by side-to-move piece.

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

Side to move: white.
Pieces: a1 white rook; b1 white knight; c1 white bishop; d1 white queen; e1 white king; h1 white rook; b2 white pawn; c2 white pawn; f2 white pawn; a3 white pawn; d3 white pawn; f3 white knight; h3 white pawn; c4 white bishop; g4 white pawn.
Moves by piece:
a1 white rook: a1a2
b1 white knight: b1c3 b1d2
c1 white bishop: c1d2 c1e3 c1f4 c1g5 c1h6
d1 white queen: d1d2 d1e2
e1 white king: e1d2 e1e2 e1f1 e1g1
h1 white rook: h1f1 h1g1 h1h2
b2 white pawn: b2b3 b2b4
c2 white pawn: c2c3
f2 white pawn: no legal moves
a3 white pawn: a3a4
d3 white pawn: d3d4
f3 white knight: f3d2 f3d4 f3e5 f3g1 f3g5 f3h2 f3h4
h3 white pawn: h3h4
c4 white bishop: c4a2 c4a6 c4b3 c4b5 c4d5
g4 white pawn: g4g5
All legal moves: a1a2 a3a4 b1c3 b1d2 b2b3 b2b4 c1d2 c1e3 c1f4 c1g5 c1h6 c2c3 c4a2 c4a6 c4b3 c4b5 c4d5 d1d2 d1e2 d3d4 e1d2 e1e2 e1f1 e1g1 f3d2 f3d4 f3e5 f3g1 f3g5 f3h2 f3h4 g4g5 h1f1 h1g1 h1h2 h3h4


Prompt:
FEN: r1bqkb1r/pp1ppppp/1nn5/2p1P3/8/2P2N2/PP1PBPPP/RNBQK2R b KQkq -
Walk each ray for the slider on a8: list every square until a blocker, capture, or the board edge, then list the resulting moves.

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

Piece: a8 black rook.
Ray N: edge.
Ray E: b8 empty; c8 black bishop: own piece (stop, excluded).
Ray S: a7 black pawn: own piece (stop, excluded).
Ray W: edge.
Moves from rays: a8b8


Prompt:
FEN: rnbqkbnr/p3pppp/1ppp4/8/8/1P1PP3/PBP2PPP/RN1QKBNR b KQkq - 0 4
List all legal moves.

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

Side to move: black.
Legal moves: a7a5 a7a6 b6b5 b8a6 b8d7 c6c5 c8a6 c8b7 c8d7 c8e6 c8f5 c8g4 c8h3 d6d5 d8c7 d8d7 e7e5 e7e6 e8d7 f7f5 f7f6 g7g5 g7g6 g8f6 g8h6 h7h5 h7h6


Prompt:
FEN: r1b1k2r/pp3pbp/4p1p1/3pPn2/1p1q1P2/P7/2P1B1PP/RNBQ1R1K w kq - 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: white.
Legal moves: a1a2 a3a4 a3b4 b1c3 b1d2 c1b2 c1d2 c1e3 c2c3 c2c4 d1d2 d1d3 d1d4 d1e1 e2a6 e2b5 e2c4 e2d3 e2f3 e2g4 e2h5 f1e1 f1f2 f1f3 f1g1 g2g3 g2g4 h2h3 h2h4


Prompt:
FEN: 6k1/4q2p/1p2ppp1/p2b4/Pn1Pp3/BP2PN2/5PPP/1Q4K1 b - - 1 27
List the side-to-move pieces and their squares.

Side to move: black.
Pieces: b4 black knight; e4 black pawn; a5 black pawn; d5 black bishop; b6 black pawn; e6 black pawn; f6 black pawn; g6 black pawn; e7 black queen; h7 black pawn; g8 black king.


Prompt:
FEN: 3N4/k1K5/8/8/2B5/8/8/8 b - -
What legal moves does the piece on a7 have?


Prompt:
FEN: 1k1rr3/2p3pp/1pQb4/8/R7/P2q4/5PP1/2B3K1 b - - 7 31
Detect the game state: check, checkmate, stalemate, or none.

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


Prompt:
FEN: 2rk1b1r/7p/p1np1N1n/1p6/3P2pN/1Q1PP3/PP3PPP/R4RK1 w - - 1 19
List all capture moves available.


Prompt:
Given FEN: rnbqk2r/p4ppp/4pn2/1pp3B1/PbpPP3/2N2N2/1P3PPP/R2QKB1R w KQkq -
List any special moves available (castling, en passant, promotion).


Prompt:
FEN: 8/8/8/3B4/5k2/2NK4/8/8 w - -
Is the move f4a8 legal?


Prompt:
FEN: rnbqk2r/pp3ppp/2pbpn2/3p4/3P1B2/P1N1PQ2/1PP2PPP/R3KBNR b KQkq -
List pseudo-legal moves from c6.

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


Prompt:
FEN: 3Q4/8/8/1k6/8/4K3/8/8 w - -
For the piece on e3, 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 e3: e3d2 e3d3 e3d4 e3e2 e3e4 e3f2 e3f3 e3f4.
Legal: e3d2 e3d3 e3d4 e3e2 e3e4 e3f2 e3f3 e3f4.
Rejected: none.


Prompt:
FEN: 3k4/3b2p1/8/5n2/1p5r/5P2/rP1R1K2/8 b - - 1 47
For move d7a4, decide whether king safety allows it.

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

Move: d7a4.
Pseudo-legal: yes.
King safe after move: no.
Final: illegal; pinned_piece_exposes_king.


Prompt:
FEN: 1n1q1rk1/r1p1bppp/p1B1pn2/8/PpNP1P2/1Q2P3/1P3P1P/R1B1K2R 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; c1 white bishop; e1 white king; h1 white rook; b2 white pawn; f2 white pawn; h2 white pawn; b3 white queen; e3 white pawn; a4 white pawn; c4 white knight; d4 white pawn; f4 white pawn; c6 white bishop.
Moves by piece:
a1 white rook: a1a2 a1a3 a1b1
c1 white bishop: c1d2
e1 white king: e1d1 e1d2 e1e2 e1f1 e1g1
h1 white rook: h1f1 h1g1
b2 white pawn: no legal moves
f2 white pawn: f2f3
h2 white pawn: h2h3 h2h4
b3 white queen: b3a2 b3a3 b3b4 b3c2 b3c3 b3d1 b3d3
e3 white pawn: e3e4
a4 white pawn: a4a5
c4 white knight: c4a3 c4a5 c4b6 c4d2 c4d6 c4e5
d4 white pawn: d4d5
f4 white pawn: f4f5
c6 white bishop: c6a8 c6b5 c6b7 c6d5 c6d7 c6e4 c6e8 c6f3 c6g2
All legal moves: a1a2 a1a3 a1b1 a4a5 b3a2 b3a3 b3b4 b3c2 b3c3 b3d1 b3d3 c1d2 c4a3 c4a5 c4b6 c4d2 c4d6 c4e5 c6a8 c6b5 c6b7 c6d5 c6d7 c6e4 c6e8 c6f3 c6g2 d4d5 e1d1 e1d2 e1e2 e1f1 e1g1 e3e4 f2f3 f4f5 h1f1 h1g1 h2h3 h2h4


Prompt:
FEN: r1bqk1nr/ppp2pQp/2np4/4p3/1bB1P3/2N5/PPPP1PPP/R1B1K1NR b KQkq -
Walk each ray for the slider on b4: list every square until a blocker, capture, or the board edge, then list the resulting moves.

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

Piece: b4 black bishop.
Ray NE: c5 empty; d6 black pawn: own piece (stop, excluded).
Ray SE: c3 white knight: capture (stop, included).
Ray SW: a3 empty; edge.
Ray NW: a5 empty; edge.
Moves from rays: b4a3 b4a5 b4c3 b4c5


Prompt:
FEN: 5knr/pb3p1p/1p2p1p1/1N2n3/5B2/2P5/PP2BP1P/R3K1R1 b Q - 1 18
List all legal moves.

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

Side to move: black.
Legal moves: a7a5 a7a6 b7a6 b7a8 b7c6 b7c8 b7d5 b7e4 b7f3 b7g2 b7h1 e5c4 e5c6 e5d3 e5d7 e5f3 e5g4 f7f5 f7f6 f8e7 f8e8 f8g7 g6g5 g8e7 g8f6 g8h6 h7h5 h7h6


Prompt:
FEN: r2rb1k1/pp2Rp1p/3p2p1/1P1P4/P2b1PP1/B2B3P/3P2K1/8 b - - 4 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: a7a5 a7a6 a8b8 a8c8 b7b6 d4a1 d4b2 d4b6 d4c3 d4c5 d4e3 d4e5 d4f2 d4f6 d4g1 d4g7 d4h8 d8b8 d8c8 d8d7 e8b5 e8c6 e8d7 f7f5 f7f6 g6g5 g8f8 g8g7 g8h8 h7h5 h7h6


Prompt:
FEN: r2qkb1r/1b1nn1p1/p2p1p1p/1ppPp3/4P3/PBN1BN2/1PP2PPP/R2Q1RK1 w kq - 4 11
List the side-to-move pieces and their squares.

Side to move: white.
Pieces: a1 white rook; d1 white queen; f1 white rook; g1 white king; b2 white pawn; c2 white pawn; f2 white pawn; g2 white pawn; h2 white pawn; a3 white pawn; b3 white bishop; c3 white knight; e3 white bishop; f3 white knight; e4 white pawn; d5 white pawn.


Prompt:
FEN: 6k1/p4qpp/P3p3/2BpP3/3Pp3/8/1r3QPP/4K3 b - - 6 32
What legal moves does the piece on g8 have?


Prompt:
FEN: 8/p3P3/8/8/5QB1/1P4P1/Pk6/6K1 b - - 0 44
Detect the game state: check, checkmate, stalemate, or none.

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