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 BenDaSpur/openrct2-mcp --skill openrct2-park-directorgit clone --depth 1 https://github.com/BenDaSpur/openrct2-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/bendaspur/openrct2-mcp/openrct2-park-director)<a href="https://agentmods.dev/skills/bendaspur/openrct2-mcp/openrct2-park-director"><img src="https://agentmods.dev/badge/skills/bendaspur/openrct2-mcp/openrct2-park-director/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/bendaspur/openrct2-mcp/openrct2-park-director"><img src="https://agentmods.dev/badge/skills/bendaspur/openrct2-mcp/openrct2-park-director.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.00043 | $0.03206 |
| Opus 5 | $0.00022 | $0.01603 |
| Sonnet 5 | $0.00009 | $0.00641 |
| Haiku 4.5 | $0.00004 | $0.00321 |
Grade A, and why
openrct2-park-director 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 11d 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 — 201 lines — stays where its author put it; the contents beside it link to each section on GitHub.
OpenRCT2 Park Director
Standard workflow
openrct2_status— confirm bridge + ride-builder connectedget_park_overview/park_health_report_tool— baseline metrics- Build coasters — survey → plan → build (see below)
- Verify —
capture_game_viewand/oradvance_timewith ticks - Remind user to save the park before large AI builds
Coaster build pipeline (survey → plan → build)
- Poll —
coaster_poll_buildable_blocks_tool(x, y, width, height)→ flat owned(x,y,z)slots - Plan —
coaster_plan_build_tool(archetype, mood, near_x?, near_y?)→ site, station, track_z, waypoints, circuit segments, feasibility score (no track placed) - Build —
coaster_execute_plan_tool(plan_json)or one-shotcoaster_auto_build_tool(brief=..., archetype=...)
Review the plan before executing on difficult terrain:
| Field | Meaning |
|---|---|
coverage_ratio |
Fraction of site tiles buildable at track_z |
build_strategy |
rectangle (≤12×12, high coverage), creative, or perimeter |
feasibility_probe |
Dry-run lift/drop at station — must be ok: true |
lift_peak_z / post_drop_z / max_track_z |
Energy budget for piece ranking |
station_pad |
Tile budget: station, exit buffer + lift run east, entrance north, exit south |
guest_access |
Planned entrance/exit coords + path_route to nearest park footpath |
errors |
Blockers (probe failed, ring blocked, etc.) |
coaster_execute_plan_tool and coaster_auto_build_tool now finish e2e when the circuit closes:
- Optional pad prep (buy/clear on pad bbox)
- Track build
placeEntranceExit+ footpath alongpath_route+ short queue from entrance toward path
RCT2 coaster design rules (enforced in code)
- Station → flat exit buffer → chain lift (up-slopes, not flat chain) → drop → layout → flat entry buffer → StationEnd
- Lift apex is the highest point; later hills must stay lower or the train stalls
- First drop after lift provides gravity speed for the rest of the circuit
- Small high-coverage sites use
rectanglestrategy (endpoint-driven corners); larger sites useout_and_backor other creative recipes inside the bbox - Track must stay inside the planned footprint (
max_track_zcaps runaway elevation)
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.
- 11d ago First seen · 201 lines · 43 tokens per session scan A 197e1d81c492
openrct2-park-director is a skill published in the GitHub repository BenDaSpur/openrct2-mcp (1 stars, last pushed 1mo ago), licensed MIT. It adds 43 tokens to every session and 3,206 once invoked, about $0.0002 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-08-31.
Other skills, from other repositories
gameobject-component-destroy
Destroy one or more Components from a target GameObject. Missing (null) components are skipped — they cannot be destroyed. Use 'gameobject-find' and 'gameobject-component-get' to identify the components first.
unity-version-split
Split a C# file into Unity 6.5+ and pre-Unity 6.5 variants. Use when a file needs different implementations for different Unity versions due to API changes (e.g., EntityId vs int, GetEntityId vs GetInstanceID).
godot-signals-groups
Build event-driven, decoupled Godot 4.7 gameplay with signals and node groups: declare and emit custom signals, connect with Callables (incl. bind/one-shot), and broadcast to many nodes via groups and callgroup. Use when wiring node communication in a Godot project, replacing tight references with signals…
unity-addressables
Manage Addressables groups, entries, profiles and content builds (com.unity.addressables, reflection-based).
motion
How an agent turns a character mesh into a usable animated FBX — and how to judge whether the result is shippable.
threejs-exposure-color-grading
Build a measured exposure and grading path in Three.js. Use for a 64x36 encoded luminance meter, asynchronous readback, weighted log-average exposure, asymmetric adaptation, single tone-map ownership, and a generated 32-cube post-tone-map LUT.