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 ericrisco/rsc-harness --skill level-designgit clone --depth 1 https://github.com/ericrisco/rsc-harnessWrote 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/ericrisco/rsc-harness/level-design)<a href="https://agentmods.dev/skills/ericrisco/rsc-harness/level-design"><img src="https://agentmods.dev/badge/skills/ericrisco/rsc-harness/level-design.svg" alt="Measured on agentmods" height="20"></a>- NVIDIA SkillSpector pass
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.00091 | $0.03487 |
| Opus 5 | $0.00046 | $0.01743 |
| Sonnet 5 | $0.00018 | $0.00697 |
| Haiku 4.5 | $0.00009 | $0.00349 |
Grade A, and why
level-design 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 4d 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 — 144 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Level design — space that plays before it's pretty
Shape the space, the rhythm, and the encounters so the player always knows where to go, never gets bored, and feels smart for exploring. Prove it in grey boxes; add art last.
This skill owns the craft of physical space and its play: how a level is laid out, how it reads, how its intensity rises and falls, how encounters teach, and where reward hides. It is engine-agnostic — every technique here is validated in a blockout, then handed to an engine skill for the actual tooling.
The pipeline: blockout -> greybox -> playtest -> art (never art-first)
Lock the player's metrics first — height, jump, reach, cover, door/corridor widths — and build all geometry as multiples of them. Guessing widths breaks traversal after the space is full of dependent geometry, which is why this comes before the first box. → references/blockout-to-art.md
| Stage | You build | You answer | Gate to next |
|---|---|---|---|
| Blockout | Primitive geometry only (boxes/planes at true metrics). No materials, no props. | Does the space flow? Are timings/distances right? Can I find my way? | Layout & traversal feel right. |
| Greybox | Blockout + temp neutral materials, placeholder lighting, stand-in enemies/interactables. | Does it read? Does the fight/encounter work? Is pacing right? | Encounters and readability hold up in playtest. |
| Playtest | Nothing — you watch fresh players. | Where do they hesitate, get lost, die, skip? | Fixes are cheap because it's still grey. |
| Art pass | Meshes, materials, VFX, final lighting, audio — serving the proven layout. | Does art reinforce the guidance the greybox already established? | Ship. |
Iterate blockout↔playtest many times before art: changing a grey box is minutes, changing a finished art set-piece is days — so never model or texture a space you have not already proven fun. Full stage detail, the metrics block, and the art-pass handoff checklist → references/blockout-to-art.md.
What ships with it
5 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
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.
- 4d ago First seen · 144 lines · 91 tokens per session scan A 571e8ebbff87
level-design is a skill published in the GitHub repository ericrisco/rsc-harness (70 stars, last pushed today), licensed MIT. It adds 91 tokens to every session and 3,487 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-03.
Other skills, from other repositories
level-designer
!cat skills/shared/protocols/3d-spatial-foundations.md 2>/dev/null || true !cat skills/shared/game-visual-foundations.md 2>/dev/null || echo "=== Visual Foundations not loaded ===" !cat skills/shared/protocols/ux-protocol.md 2>/dev/null || true !cat skills/shared/protocols/input-validation.md 2>/dev/null || true !cat…
merge-aliases
Folds two surface names for the same backend system into one canonical entity, keeping every original mention individually retrievable, and refuses to merge pairs that only share spelling.
anchor-and-lock
Consults a check that sits outside the loop system before finalizing any decision the frozen facts bear on, and refuses every attempt by a loop to rewrite a node marked frozen, regardless of how convergent the loop's own reasoning looks.
counter-metric-check
Compares a watched loop's headline reading against an independently owned counter-metric reading for each period in a governance graph, and produces a governance edge for every period where the counter-metric crosses its recorded ceiling.
traverse-multi-hop
Expresses a multi-hop lineage question as a single variable-length path match against native graph storage, bounded by an explicit hop depth and an explicit relationship-type allowlist, instead of a recursive relational join that grows one level per hop.
query-graph
Loads schema.sql into a local SQLite file, then answers availability and provenance questions against the nodes/edges tables with real SQL instead of re-reading source material.