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 ouzlifaneyassine1-dot/onyx-engine --skill design-levelgit clone --depth 1 https://github.com/ouzlifaneyassine1-dot/onyx-engineWrote 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/ouzlifaneyassine1-dot/onyx-engine/design-level)<a href="https://agentmods.dev/skills/ouzlifaneyassine1-dot/onyx-engine/design-level"><img src="https://agentmods.dev/badge/skills/ouzlifaneyassine1-dot/onyx-engine/design-level/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/ouzlifaneyassine1-dot/onyx-engine/design-level"><img src="https://agentmods.dev/badge/skills/ouzlifaneyassine1-dot/onyx-engine/design-level.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.00071 | $0.03082 |
| Opus 5 | $0.00036 | $0.01541 |
| Sonnet 5 | $0.00014 | $0.00616 |
| Haiku 4.5 | $0.00007 | $0.00308 |
Grade A, and why
design-level 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 10d 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 — 267 lines — stays where its author put it; the contents beside it link to each section on GitHub.
/design-level — Design One Level
Overview
A level is a controlled sequence of player experiences in physical space. Layout, pacing, encounters, secrets, and reward gating must work together — a "fun layout" with a flat pacing curve still feels boring. This skill walks the six design beats of a single level and drops a node-tree skeleton ready for onyx_create_scene.
Core principle: A level has a pacing curve and a teaching arc. If you can't draw the tension graph and name what the player learned by the end, the level isn't designed yet.
Steps
1. Pin the level type
Ask exactly one question:
What kind of level? Pick one: tutorial / hub / combat encounter / boss / exploration / puzzle / stealth / platforming-challenge / mixed.
Each type has different beats. Don't blend types in v1 — a "boss room with stealth and puzzles" is three levels poorly squeezed into one.
2. Read context
If .onyx/GameSoul.md exists, read it. The level must serve the brief's core loop and the three mechanics.
Read .onyx/GameSoul.md
If .onyx/mechanics/ exists, list the mechanics. Quote them back:
Brief says mechanics are: dash, parry, double-jump. This level should exercise at least one and ideally combine two.
3. Define the teaching / experience goal
Ask plain:
What does the player know by the end of this level that they didn't at the start?
Tutorial-level answer: "How to dash." Combat-encounter answer: "That parrying converts damage to mana, and that big enemies need parry, not dodge." Exploration answer: "That this region's secrets are hidden behind double-jumpable gaps."
If the user can't answer, the level has no purpose. Say it:
If there's no answer to that question, the level is filler. Either give it a teaching goal, give it a failure-state goal (the player must die here to progress), or merge it into the next level.
4. Sketch the pacing curve
Draw it as text. Five beats, intensity 0-10:
Intro Build Peak Release Hook
2 → 5 → 8 → 3 → 6
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.
- 10d ago First seen · 267 lines · 71 tokens per session scan A 4f3c6fbf6a39
design-level is a skill published in the GitHub repository ouzlifaneyassine1-dot/onyx-engine (0 stars, last pushed 2mo ago), licensed MIT. It adds 71 tokens to every session and 3,082 once invoked, about $0.0004 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
design-level
Use when designing a single level — layout, pacing, encounters, secrets, reward gating. Outputs a level design doc and a concrete node-tree skeleton for summercreatescene. Trigger on "design a level", "design level 1", "tutorial level", "boss arena", "design the encounter", "make a level layout".
scene-to-level
Use when the user wants to go from a scene reference image or concept art to a playable Summer Engine scene populated with the right assets and terrain. Orchestrates concept, asset pack, terrain, composition, and scene assembly. Trigger on "build this scene", "make this playable", "I want a level that looks like…
level-design
Use when designing a game level's space — blockout/greybox layout, pacing that drags or spikes, guiding lost players without waypoints, encounter and arena progression, or secret placement. NOT mechanics or economy (that is game-design), NOT story beats (that is game-storytelling), NOT engine tooling like nav meshes…
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…
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).