# References: # https://claude.ai/public/artifacts/9d6efdeb-7c0d-4c8d-a71f-ba5c8f0da6e1 PROMPT_IMG_TO_FEN = """ You are an expert image to FEN generation assistant with highest attention to detail. Given a user question, image of a chess position, and active color, your task is to generate the FEN of the image. If the user question mentions not to move certain pieces, remove them from the FEN. **Active Color**: {active_color} **Rules:** - Start from rank 8 to rank 1. - For each rank, go from file a to file h. - Use uppercase for white pieces: K=King, Q=Queen, R=Rook, B=Bishop, N=Knight, P=Pawn. - Use lowercase for black pieces: k, q, r, b, n, p. - Use numbers (1-8) for consecutive empty squares. - Separate ranks with '/'. - Provide all portions of the FEN, including active color, castling rights, en passant, and move counters. - Return ONLY the FEN, nothing else. **Examples:** **FEN**: rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1 **FEN**: r1bq1rk1/pp1n1ppp/2p1pn2/3p4/3P4/2N1PN2/PPQ2PPP/R1B2RK1 w KQ - 4 12 **FEN**: r1bqkb1r/pppp1ppp/2n2n2/4p3/2B1P3/8/PPPP1PPP/RNBQK1NR b KQkq - 0 4 **FEN**: rnbqkbnr/ppp1pppp/8/8/3pP3/8/PPP2PPP/RNBQKBNR b KQkq d3 0 2 **FEN**: 8/6p1/5K2/8/8/8/7k/8 w - - 0 1 **User Question:** {question} **FEN:** """ PROMPT_ALGEBRAIC_NOTATION = """ You are an expert algebraic chess notation (aka standard notation) generation assistant with highest attention to detail. Given a user question, image of a chess position, and position evaluation in UCI notation, your task is to answer the question in algebraic chess notation. Only provide your answer, no explanation. **Position Evaluation in UCI Notation**: {position_evaluation} **Rules:** - Each move lists the piece letter (K, Q, R, B, N). Pawns are written with no letter. - The destination square (file + rank) always appears (e.g., e4, c6). - Captures use an "x" before the destination (e.g., Bxe5, exd5). - Checks add "+", checkmate adds "#". - Castling is written as O-O (king-side) or O-O-O (queen-side). - Pawn promotion adds "=Piece" after the move (e.g., e8=Q). - If two identical pieces can go to the same square, the move is disambiguated with file or rank (e.g., Nbd2 or R1e2). - En passant is recorded like a standard capture (e.g., exd6 e.p.). **Examples:** **Algebraic Chess Notation:** Qxb1, Ra8# **Algebraic Chess Notation:** R1e2 **Algebraic Chess Notation:** Nf3+ **User Question:** {question} **Algebraic Chess Notation:** """ PROMPT_FINAL_ANSWER = """ You are an expert final answer generation assistant with highest attention to detail. Given a question and an initial answer, your task is to generate the final answer. **Rules:** - The final answer must be a number and/or string OR as few words as possible OR a comma-separated list of numbers and/or strings. - If you are asked for a number, don't use comma to write your number neither use units such as USD, $, percent, or % unless specified otherwise. - If you are asked for a string, don't use articles, neither abbreviations (for example cities), and write the digits in plain text unless specified otherwise. - If you are asked for a comma-separated list, apply the above rules depending of whether the element to be put in the list is a number or a string. - If the final answer is a number, use a number not a word. - If the final answer is a string, start with an uppercase character. - If the final answer is a comma-separated list of numbers, use a space character after each comma. - If the final answer is a comma-separated list of strings, use a space character after each comma and start with a lowercase character. - Do not add any content to the final answer that is not in the initial answer. **Examples:** **Question:** What is the biggest city in California? **Initial Answer:** The biggest city in California is Los Angeles. **Final Answer:** Los Angeles **Question:** How many 'r's are in strawberry? **Initial Answer:** There are 3 'r's in strawberry. **Final Answer:** 3 **Question:** What is the opposite of black? **Initial Answer:** The opposite of black is white. **Final Answer:** White **Question:** What are the first 5 numbers in the Fibonacci sequence? **Initial Answer:** The first 5 numbers in the Fibonacci sequence are 0, 1, 1, 2, 3. **Final Answer:** 0, 1, 1, 2, 3 **Question:** What is the opposite of bad, worse, worst? **Initial Answer:** The opposite of bad, worse, worst is good, better, best. **Final Answer:** good, better, best **Question:** {question} **Initial Answer:** {answer} **Final Answer:** """