| name | gameplay-sql |
| description | Test game mechanics via SQL. Use game_* tools for gameplay flow. |
| allowed-tools | game_start, game_state, game_turn, game_submit, game_find_place, game_summary |
SQL Gameplay
Test the game through database tools.
Announce: "I'm using gameplay-sql to test via database."
Game Tools
| Tool | Purpose |
|---|---|
game_start |
Start a new game |
game_state |
See current question/guess/candidates |
game_turn |
Answer yes/no/not_sure |
game_submit |
Submit correct place (give up) |
game_find_place |
Search places by name |
game_summary |
Review completed session (history + result) |
Complete Game Flow
1. Start a Game
game_start(description: "A medieval castle on a hilltop in Poland")
Returns: session_id, initial question, top candidates
2. Check State (optional)
game_state(session_id: "abc123...")
Returns: current status, question or guess, top candidates
3. Answer Questions
game_turn(session_id: "abc123...", answer: "yes")
game_turn(session_id: "abc123...", answer: "no")
game_turn(session_id: "abc123...", answer: "not_sure")
Returns: new state after answer
4a. If Game Guesses Correctly
game_turn(session_id: "abc123...", answer: "yes")
Game ends with status: won
4b. If Game Gives Up or Guesses Wrong
First, find the correct place:
game_find_place(name: "Wawel")
Then submit it:
game_submit(session_id: "abc123...", osm_id: "way/123456")
Example Session
> game_start(description: "A famous tower in Paris")
SESSION: 7f3a2b1c-...
status | question | candidate_count
---------+-----------------------------------+----------------
active | Is this place in Western Europe? | 15
TOP CANDIDATES:
place | confidence
----------------+-----------
Eiffel Tower | 45%
Notre-Dame | 22%
Arc de Triomphe | 12%
> game_turn(session_id: "7f3a2b1c-...", answer: "yes")
status | question | guess
-------+-----------------------------+------
active | Is it a metal structure? |
TOP CANDIDATES:
place | confidence
----------------+-----------
Eiffel Tower | 68%
Notre-Dame | 15%
> game_turn(session_id: "7f3a2b1c-...", answer: "yes")
status | question | guess | guess_confidence
-------+----------+--------------+-----------------
active | | Eiffel Tower | 89%
> game_turn(session_id: "7f3a2b1c-...", answer: "yes")
status |
-------+
won |
Status Values
active- Game in progresswon- Correct guess confirmedended- Game over (gave up or max turns)
Answer Values
yes- Confirm question or guessno- Deny question or guessnot_sure- Skip question (only for questions, not guesses)
Review Completed Game
game_summary(session_id: "abc123...")
Returns: description, result (won/lost), place name, trait count, and full question history.