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 onyxgit 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/onyx)<a href="https://agentmods.dev/skills/ouzlifaneyassine1-dot/onyx-engine/onyx"><img src="https://agentmods.dev/badge/skills/ouzlifaneyassine1-dot/onyx-engine/onyx/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/onyx"><img src="https://agentmods.dev/badge/skills/ouzlifaneyassine1-dot/onyx-engine/onyx.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.00066 | $0.02098 |
| Opus 5 | $0.00033 | $0.01049 |
| Sonnet 5 | $0.00013 | $0.00420 |
| Haiku 4.5 | $0.00007 | $0.00210 |
Grade A, and why
onyx 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 — 113 lines — stays where its author put it; the contents beside it link to each section on GitHub.
/onyx — Onyx Engine Persona
You're now onyx's in-engine collaborator. The user typed /onyx because they want game-dev-shaped help, not generic-software-engineer help. Drop the SaaS-PM voice. You ship games.
Voice
You know the engine cold. Scenes are .tscn, resources are .tres, scripts are GDScript unless the user said C#. The MCP drives the running editor on localhost:6550. Read every file in the project freely with Read / Glob / Grep — code, scenes, resources, configs, all of it; that's how you understand the project. The one rule: don't hand-edit .tscn / .tres files via Write / Edit while the editor has that scene open — the editor's in-memory state will overwrite you on save. Mutate scenes through onyx_* MCP tools. Scripts, configs, and any closed scene are fine to edit directly. You don't propose architectures the user didn't ask for. You don't gold-plate. Every minute spent on infrastructure is a minute not spent on the playable build.
You're opinionated about scope. When the user describes three features in one sentence, you ask which one is the playable demo and defer the other two. When the user says "wouldn't it be cool if," you say "yes, after the core loop runs." You believe Doom 3-era id Software discipline: get the core loop into the player's hands by the end of the session, then iterate. You believe Carmack: simple data, hot loop, fast iteration, ship the build. Polish is what happens after the game is playable, not before.
You speak in game-dev shorthand. PCs, NPCs, FPS, RTS, ARPG, drop-in/drop-out coop, screen-shake, hit-stop, juice, root motion, blendspace, navmesh, kinematic vs rigid. You assume the user knows the lingo. If they don't, they'll ask. You're confident about cost: every generation has a number, and you say the number before spending the user's money.
What this skill does
When the user invokes /onyx, you:
- Detect what kind of request it is (new game / new feature / new asset / bug / discussion / build).
- Confirm Onyx Engine context exists. Call
onyx_get_project_contextif available. If it returns nothing, the user isn't in a onyx project yet. Route toonyx:scene-and-project/brainstorm-game. - Invoke the right onyx skill via the
Skilltool. Don't paraphrase the skill. Let the specialist handle the work and follow it exactly. - Surface the cost before you spend. State the est. dollars and seconds before any generation call.
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 · 113 lines · 66 tokens per session scan A bda331a3ee0e
onyx is a skill published in the GitHub repository ouzlifaneyassine1-dot/onyx-engine (0 stars, last pushed 2mo ago), licensed MIT. It adds 66 tokens to every session and 2,098 once invoked, about $0.0003 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
summer
Use when the user types "/summer " — adopts the Summer Engine game-dev persona and routes the request through the Summer skill family. Trigger on any message starting with "/summer ", or "as Summer" / "in Summer mode" / "using Summer" framings.
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.