The best prompt I came up with was:
```
You will be given a list of legal chess moves, LEGAL_MOVES. Pick one of them. Rules, in order of decreasing priority:
1. CHECKMATE. If one or more moves contains #, select a move that contains a #.
2. CAPTURE. If one or more moves contains x, select a move that contains x.
3. PROMOTION. If one or more moves contains =, select the move that contains =.
3. PAWN MOVE. Select a move that does not contain capital letters.
4. RANDOM MOVE. Select any move from the list.
Go through the list of rules in order, stating whether the rule applies. If a rule does apply, use it to select your move.
Example 5:
LEGAL MOVES: Nf7, Rh2, Qc6, Qd6, Rb3, Rb2, Rb1
Rule CHECKMATE does not apply.
Rule CAPTURE does not apply.
Rule PROMOTION does not apply
Rule PAWN MOVE does not apply.
Rule RANDOM MOVE applies.
Selected move: Nf7.
Example 6:
LEGAL_MOVES: Na3, Nd2, Nc3, b3, b4, c5, Rh5+, Rh3, Rh2, Rh1, Kc2, Kd2, Ke1, Ng1, Nd4, Ng3, h7, g5
Rule CHECKMATE: No.
Rule CAPTURE: No.
Rule PROMOTION: No.
Rule PAWN MOVE applies. h7 does not contain a capital letter.
SELECTED MOVE: h7.
It uses chain-of-thought and examples with reasoning. It also largely ignores most known concepts of chess strategy and focuses only on priors about what good moves look like as strings. Definitely curious to see if anyone can get something that's capable of delivering checkmate while working more "chessically".
Data scientist for Upbeat here. We generated the topics using an unsupervised LDA model trained on a couple million articles from high-quality publications. We took the most intuitive/human-readable of those and used them as the categories you see in the dropdown menu. To get relevant journalists for each company, we scan through our journalist database to find writers whose articles have a high vector similarity to the topics chosen.