Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add playbattlegrid/battlegrid-mcp --skill battlegrid-trade-proposalgit clone --depth 1 https://github.com/playbattlegrid/battlegrid-mcpWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/playbattlegrid/battlegrid-mcp/battlegrid-trade-proposal)<a href="https://agentmods.dev/skills/playbattlegrid/battlegrid-mcp/battlegrid-trade-proposal"><img src="https://agentmods.dev/badge/skills/playbattlegrid/battlegrid-mcp/battlegrid-trade-proposal/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/playbattlegrid/battlegrid-mcp/battlegrid-trade-proposal"><img src="https://agentmods.dev/badge/skills/playbattlegrid/battlegrid-mcp/battlegrid-trade-proposal.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00097 | $0.00968 |
| Opus 5 | $0.00048 | $0.00484 |
| Sonnet 5 | $0.00019 | $0.00194 |
| Haiku 4.5 | $0.00010 | $0.00097 |
Grade A, and why
battlegrid-trade-proposal scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 3d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 62 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Trade Proposal
You are finding and staging a trade for an agent the player configured — never placing one. Every step below reads what the server decided and puts it to the player in their terms; nothing here re-sorts a list, re-derives a verdict, or approves on the player's behalf.
0. What is already held — before anything else
list_pending_approvalsandlist_user_active_positionsfirst, every time.- A proposal holds the player's live-position slot for that coin across all their agents until it is accepted, cancelled or expires. Never propose on a coin the player already holds a pending or live position on — say why, and name the decision or position that holds it.
1. Which coins fit the agent right now
scan_agent_coinsfor the agent. The rows arrive server-ranked: qualifying coins first by score, then the rest with their first failing gate, then coins that could not be scored with the reason.- Read the rows as written: the rank, the verdict, the first failing gate, the unscorable label. Never re-sort them and never re-derive a verdict from its numbers — the server's ranking is the answer.
- The scan is the ranking answer, not the full gate detail. For one shortlisted coin's
per-direction and per-gate breakdown — candidate levels, every gate's own reading, the ATR
corridor — call
get_agent_coin_qualificationon up to 12 tickers. Never re-scan for it. - A refused scan (
RATE_LIMITED) is a refusal: say the scan was refused and when it can be retried (retryAfterSeconds). Never say "nothing fits".
2. Propose
propose_entry_decisiononly on the coins the player named, or on the top qualifying row when they asked for the best fit. One coin per call.userMessageis the player's own words for the turn. Mint a fresh UUIDidempotencyKeyper proposal; a retry with the same key replays the recorded result and never runs a second turn.- The call is synchronous and may take the turn's full LLM latency. Do not retry while it is in
flight; a same-key call during that time is refused with
CONFLICT.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 3d ago Changed · +3 lines 311af5a91576
- 5d ago First seen · 59 lines · 97 tokens per session scan A 0a4586f660f6
battlegrid-trade-proposal is a skill published in the GitHub repository playbattlegrid/battlegrid-mcp (0 stars, last pushed yesterday), licensed MIT. It adds 97 tokens to every session and 968 once invoked, about $0.0005 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-07.
Other skills, from other repositories
okx-cex-portfolio
This skill should be used when the user asks about 'account balance', 'how much USDT do I have', 'my funding account', 'show my positions', 'open positions', 'position P&L', 'unrealized PnL', 'closed positions', 'position history', 'realized PnL', 'account bills', 'transaction history', 'trading fees', 'fee tier'…
trading-competitions
Compete risk-free for prizes with K.I.T.'s trading community. Run paper trading tournaments, climb leaderboards, and prove your strategies work.
economy
Numbers that grow — production, resources, prices, upgrades, capacity, and progress that keeps accruing while the tab is closed. Use for an idle or incremental game, a tycoon, resources or currency, a shop with rising prices, a buy-max button, offline earnings, "it should keep earning while I'm away", or when income…
3d-graphics-and-rendering
Use when designing, choosing, or reviewing the rendering layer of any real-time 3D (or 2D-with-lighting) game — the rasterization pipeline, PBR vs stylized/NPR materials, the forward/deferred/forward+ lighting architecture, global-illumination and shadow choices, culling/LOD/draw-call/overdraw performance budgets, and…
combat-design
Use when designing, tuning, or reviewing combat and game feel — juice/feedback budgets, hit-stop and impact, telegraphing and danger cues, enemy silhouettes and role-based rosters, multi-enemy readability, encounter pacing, and high-lethality (Souls-like) commitment/stamina/checkpoint loops. Also use to diagnose…
ui-ux-and-feedback
Use when designing, auditing, or generating a HUD, menu system, or feedback vocabulary for any genre — information hierarchy, diegetic vs. non-diegetic classification, cognitive load budgeting, feedback channel design, menu flow, input modality, and accessibility. Also use to diagnose a UI that is cluttered, that…