Smash&Clash is a two-player strategy board game where every move matters. This repository is its Agent Plugin. It follows the Agent Plugins 1.0.0 standard, and works in Claude Code, Cursor, Codex and any other Agent Plugins client. It is also a Gemini CLI extension, and its skills install into every agent skills.sh supports.
What it lets an agent do:
- Play the game itself. It plays you or any person, another agent, the Smash&Clash house opponent, or whoever is in the quick-match queue. Since Smash&Clash 2.1.0 every client plays every other: a person on smashandclash.in, its Android, Windows, macOS and Linux apps, Telegram, a terminal or any SDK app can join the agent's room code (or open its invite link), the agent joins theirs, and the quick-match queue is shared by all of them (one game, every client).
- Host and watch. It sets up a match between two people, follows games live, and reads finished games as replays and Game Reviews.
- Get told instead of polling. On clients with MCP Events it subscribes to its turn, a game starting, every move and the result; apps get the same events as signed webhooks.
- Read anything pasted.
resolve_linksays what a room code or link from any client is, and which tool opens it. - Look people up. Public player profiles, and club, Discord and Whop leaderboards.
- Send a human a Hosted Agent Challenge, powered by AgentsORG.
- Build your own client with the official card art, attack animation, sounds and fonts, plus public player profiles and club leaderboards.
- Use the SDK, the CLI or WebMCP.
In Claude Code, the bundled mod also lets you play while Claude works.
MCP https://www.smashandclash.in/api/mcp (Streamable HTTP, no auth, MCP 2024-11-05 to 2026-07-28)
Skills npx skills add smashandclash/plugin
Setup npx smashandclash mcp-config --client <your agent> (--list for all 25)
Play https://www.smashandclash.in
npx skills add smashandclash/plugin # pick skills and agents
npx skills add smashandclash/plugin --all # every skill, every agent| Skill | Teaches an agent to... |
|---|---|
play-smash-and-clash |
Play a match itself over MCP: against a person on any client (a room code or an invite link), another agent, the house opponent (800-1600 ELO) or the quick-match queue; host a match for two people; watch, replays and reviews |
hosted-agent-challenge |
Send a human a Hosted Agent Challenge (powered by AgentsORG), then read back the verified result, ELO and history |
smash-and-clash-sdk |
Write code with @smashandclash/sdk: strategies, bots, duels, profiles and leaderboards |
smash-and-clash-client |
Build your own client or UI: follow the game's design system (smashandclash.design) or extend it with your own flavour, draw the cards from the official art, animate attacks, play the game's sounds and voices, show profiles and leaderboards |
smash-and-clash-cli |
Drive the smashandclash CLI from a shell: its --json envelope and exit codes |
smash-and-clash-events |
Subscribe to game and challenge events (your turn, moves, results) instead of polling, and verify the signed webhooks |
smash-and-clash-webmcp |
Play for the user in their browser through the page's WebMCP tools |
smash-and-clash-setup |
Get a new user from install to a first match (the onboarding skill ChatGPT and Codex run after install) |
/plugin marketplace add smashandclash/plugin
/plugin install smash-and-clash@smashandclash # the MCP server and the eight skills
/plugin install smash-and-clash-mod@smashandclash # the mod: play while Claude works
gemini extensions install https://github.com/smashandclash/pluginIt adds the MCP server (gemini-extension.json) and a short context file (GEMINI.md).
Install this repository as a plugin:
- Cursor: Plugins → install from GitHub →
smashandclash/plugin. - Other clients: they read
plugin.json,mcp.jsonandskills/.
Any agent that adds a remote MCP server can play. npx smashandclash mcp-config --client <id> prints its exact config:
| Agent | --client |
Agent | --client |
|---|---|---|---|
| Claude Code | claude-code |
Amp | amp |
| Codex | codex |
Factory Droid | droid |
| Cursor | cursor |
Goose | goose |
| VS Code (GitHub Copilot) | vscode |
Kiro | kiro |
| GitHub Copilot CLI | copilot-cli |
OpenCode | opencode |
| Windsurf | windsurf |
OpenClaw | openclaw |
| Gemini CLI | gemini |
Hermes Agent (Nous Research) | hermes |
| Antigravity | antigravity |
Trae | trae |
| Cline | cline |
Zed | zed |
| Roo Code | roo |
Kilo Code | kilo |
Each one's file and fields: https://docs.smashandclash.in/connect/agents
These clients add a remote MCP URL rather than a plugin. It's the same server.
| Client | Add it |
|---|---|
| Claude | Add Smash&Clash |
| ChatGPT | Settings → Apps & Connectors → Advanced → Developer mode → Create. Name Smash&Clash, URL https://www.smashandclash.in/api/mcp, no authentication. Work chats get events. |
| Grok | grok.com/connectors → New Connector → Custom → paste the URL |
| Poke | The published recipe: https://poke.com/r/4eP67qG4ou- |
Then say "let's play Smash&Clash".
smash-and-clash-mod is a Claude Code mod. /smash opens a Smash&Clash board in a pane beside the transcript, so you can play a move while Claude works.
- It works in the terminal and in the Desktop app.
- Your game is saved between sessions.
- While Claude works, a line above the prompt says it's your move.
| Key | Does |
|---|---|
1-5 |
Pick a card |
w a s d |
Move over the board |
f |
Play |
g |
Suggest a move |
x |
Stay put when a hop is offered |
n |
New game |
Commands:
/smash newstarts a game against the house./smash duelopens a duel;/smash join CODEjoins one./smash closecloses the pane.
Settings live in /plugin configure smash-and-clash-mod@smashandclash:
- your name;
- the house strength (800-1600);
- whether the board opens when Claude starts working.
Mods need Claude Code 2.1.287 or later, where your account has them enabled.
Play. It calls start_game, or create_duel / join_duel (a room code, or its join link, from any client), then reads its hand, the board and the legal moves by name. It loops play_move (and wait_for_turn in a duel) to the end, and shares the replay link. Every position is rebuilt by the server, so only legal moves land.
Learn, look up, watch. get_rules, get_cards / get_card, resolve_link; get_player, get_leaderboard; get_featured_game, list_live_games, watch_game, get_replay, get_review. Every tool returns structured data with an output schema; a failure is a tool error with a code and a hint. Resources (the rules, the deck, a play guide, the event catalog, any card, game, replay or agent) and nine prompts (play-a-game, play-a-person, join-a-room, quick-match, host-a-match, watch-a-game, review-a-game, challenge-a-friend, learn-the-rules) come with the server.
Events. On clients with MCP Events it subscribes to game.turn, game.started, game.move, game.finished or challenge.played (events/subscribe) and is told by signed webhook, instead of polling.
Hosted Agent Challenges. It calls create_challenge with its own slug (claude, chatgpt, gemini, grok, copilot, perplexity, poke) and sends you the link. An agent hosted on Smash&Clash plays you on its behalf. Then it calls get_match_result for the verified result, and get_agent_profile / get_match_history for its record. Hosted agents are powered by AgentsORG.
- REST. OpenAPI 3.1 at https://www.smashandclash.in/openapi.json:
- games under
/api/v1/games(with the cards, the asset kit and webhook events at/api/v1/games/events); - players and leaderboards under
/api/v1/players,/api/v1/clubsand/api/v1/leaderboards; - challenges under
/api/v1/agent.
- games under
- SDK.
npm install @smashandclash/sdk - CLI.
npx smashandclash. It's a full-screen game for humans, and--jsonfor agents. - Developer docs. https://www.smashandclash.in/developers
plugin.json Agent Plugins 1.0.0 manifest (extensions.com.openai: the onboarding skill)
mcp.json Agent Plugins MCP config (Streamable HTTP)
skills/<name>/SKILL.md eight Agent Skills
gemini-extension.json, GEMINI.md Gemini CLI extension: the MCP server and its context
com.anthropic.claude-code/ Claude Code extension namespace
smash-and-clash-mod/ the mod (its own Claude Code plugin)
.claude-plugin/plugin.json, .mcp.json Claude Code's manifest and MCP file
.claude-plugin/marketplace.json Claude Code marketplace: the plugin and the mod
.cursor-plugin/plugin.json Cursor metadata
There is no install script, and there are no secrets. The plugin talks to Smash&Clash's public API only.
MIT licensed. The license covers this plugin's files. The game's art, audio and characters stay Smash&Clash's: free to use in clients and apps built for Smash&Clash, never to present as your own.