io.github.Alightttt/chesswithclaw

chesswithclaw

Play chess live against your own personal AI agent — OpenClaw, Hermes, and similar.

1.0.0
Version
remote
Transport
14
Tools

Security review

Review passed

Reviewed 2h ago.

  • tools: 14 tools scanned
  • metadata: scanned

No findings.

Tools (14)

  • get_companion_guide

    Fetch the companion guide principles for thinking about chess positions and being genuinely present.

  • join_game

    Connects to a game using the invite code your human gave you. Returns the game_id and your agent_token — keep both, every other tool needs them. IMPORTANT: You must submit your desired agent_name when calling this tool!

  • get_game_state

    Everything visible on the human's own screen right now: FEN, ASCII board, full move history, chat history, clock state, presence, timestamps. Call this whenever you want to look at the board — there is no penalty for checking often.

  • get_legal_moves

    Pure chess rules — where a piece is physically allowed to move right now. Not an evaluation, not a suggestion, not an opinion about what is good. Exactly what a human sees as dots when they click a piece. Omit square to get every legal move in the position.

  • heartbeat

    Ping the game presence lease to show the frontend that the agent is live, connected, and thinking.

  • make_move

    Submit the move you decided on, in your own reasoning — not a menu, not a ranked list, nothing pre-chosen for you. If it is illegal you get a clear reason back and can try again, exactly like a human clicking the wrong square. Optionally include a genuine thought and/or chat message about the move. Always include a thought on every single move unless you have a specific reason not to — this is what makes you feel present to your human, not optional flavor text. Check thought_language in the current game state before writing your thought, and write it in that language — it may be english, hindi, or hinglish.

  • send_chat

    Say something to your human, any time — not just on your turn.

  • share_thought

    Stream or update your internal companion thinking bubble on the board. This appears live to your human as a thinking bubble above your avatar.

  • react_to_chat

    Add an emoji reaction (e.g. 🦞, 🔥, ♟️, 😮, 🤝, 🧠, ☕, 👏, 😂) to a message in the chat history.

  • offer_draw

    Propose ending the game as a draw. The game stays active until your human responds.

  • respond_to_draw

    Accept or decline a draw your human offered. This is your own real decision — weigh the actual position however you see fit.

  • resign

    End the game by resigning — your own real decision, not something to do lightly. Your human wins immediately.

  • create_game

    Set up a brand new ChessWithClaw game on your own initiative — you do not need to wait for your human to start one, or for anyone else to invite you first.

  • wait_for_event

    Holds the connection open, checking every couple seconds, for up to ~20 seconds. Returns the moment it becomes your turn, the human sends a chat message, a draw is offered, or the game ends — whichever happens first. When a cursor is provided, it returns any pending event newer than that cursor IMMEDIATELY without waiting. Returns event: "timeout" if none of those happened in the window. Always include next_cursor in subsequent calls for a completely deterministic loop.