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 bullish0x/GameStudio --skill ecs-architecturegit clone --depth 1 https://github.com/bullish0x/GameStudioWrote 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/bullish0x/gamestudio/ecs-architecture)<a href="https://agentmods.dev/skills/bullish0x/gamestudio/ecs-architecture"><img src="https://agentmods.dev/badge/skills/bullish0x/gamestudio/ecs-architecture/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/bullish0x/gamestudio/ecs-architecture"><img src="https://agentmods.dev/badge/skills/bullish0x/gamestudio/ecs-architecture.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.00017 | $0.02401 |
| Opus 5 | $0.00009 | $0.01201 |
| Sonnet 5 | $0.00003 | $0.00480 |
| Haiku 4.5 | $0.00002 | $0.00240 |
Grade A, and why
ecs-architecture 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 7d 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 — 411 lines — stays where its author put it; the contents beside it link to each section on GitHub.
ECS Architecture
When to Use
Use this skill when:
- Building a game or simulation with many interactive objects
- Refactoring object-oriented game code for better performance
- Implementing data-oriented design patterns
- Creating scalable game systems with complex interactions
Core Principles
- Composition over Inheritance: Entities are composed of components, not class hierarchies
- Data Locality: Components store data; systems process data in contiguous memory
- Separation of Concerns: Components = data, Systems = logic, Entities = IDs
- Type Safety: Leverage TypeScript for compile-time guarantees
- Performance: Cache-friendly iteration over components
Architecture Overview
Entity: Unique ID
↓
Components: Pure data (Transform, Velocity, Health, Renderable)
↓
Systems: Logic that processes entities with specific component combinations
Implementation
1. Entity Manager
export type EntityId = number & { readonly __brand: 'EntityId' };
export class EntityManager {
private nextId = 0;
private readonly entities = new Set<EntityId>();
create(): EntityId {
const id = this.nextId++ as EntityId;
this.entities.add(id);
return id;
}
destroy(id: EntityId): void {
this.entities.delete(id);
}
exists(id: EntityId): boolean {
return this.entities.has(id);
}
getAll(): ReadonlySet<EntityId> {
return this.entities;
}
clear(): void {
this.entities.clear();
this.nextId = 0;
}
}
2. Component System
export interface Component {
readonly __componentBrand?: never;
}
export interface ComponentClass<T extends Component> {
new (...args: any[]): T;
}
export class ComponentManager {
private readonly components = new Map<ComponentClass<any>, Map<EntityId, Component>>();
register<T extends Component>(type: ComponentClass<T>): void {
if (!this.components.has(type)) {
this.components.set(type, new Map());
}
}
add<T extends Component>(entity: EntityId, type: ComponentClass<T>, component: T): void {
this.register(type);
this.components.get(type)!.set(entity, component);
}
remove<T extends Component>(entity: EntityId, type: ComponentClass<T>): void {
this.components.get(type)?.delete(entity);
}
get<T extends Component>(entity: EntityId, type: ComponentClass<T>): T | undefined {
return this.components.get(type)?.get(entity) as T | undefined;
}
has<T extends Component>(entity: EntityId, type: ComponentClass<T>): boolean {
return this.components.get(type)?.has(entity) ?? false;
}
getAll<T extends Component>(type: ComponentClass<T>): Map<EntityId, T> {
return (this.components.get(type) as Map<EntityId, T>) ?? new Map();
}
removeAllForEntity(entity: EntityId): void {
for (const componentMap of this.components.values()) {
componentMap.delete(entity);
}
}
clear(): void {
this.components.clear();
}
}
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.
- 7d ago First seen · 411 lines · 17 tokens per session scan A 332e4a7da2e7
ecs-architecture is a skill published in the GitHub repository bullish0x/GameStudio (12 stars, last pushed 3mo ago), licensed MIT. It adds 17 tokens to every session and 2,401 once invoked, about $0.0001 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
pn-godot-dev
Guides Godot Engine 4.x development: GDScript, GDExtension (C++), multiplayer, VisualShader/shader code, export/platform config, autoloads, Resource serialization, InputMap, headless CI, AnimationPlayer/Tree, 2D/3D workflows, physics, PCG, and Blender pipeline. Use when developing Godot 4.x projects.
pn-unreal-dev
Guides Unreal Engine development: C++, Blueprints, asset naming, build config, plugin development, programmatic asset creation, live uasset creation, Python automation, UAT/BuildGraph, Editor Utility Widgets, Data Validation, Materials, Niagara, PCG, and performance. Use when developing Unreal Engine projects.
cocos-creator
A set of guidelines for writing Cocos Creator game components in TypeScript. Cocos Creator is a game engine where scenes contain nodes, components, prefabs, events, and managed resources.
pn-unity-dev
Guides Unity development: C#, 2D Animation package, URP, asset pipelines, and scripting. Use when developing Unity projects, especially 2D games and animation workflows.
threejs-development
Three.js TypeScript 3D game development patterns including scene architecture, geometry, manual physics, input handling, camera, lighting, and HUD. Use when implementing or modifying a Three.js 3D game.
coding-standards
Universal coding standards, best practices, and patterns for TypeScript, JavaScript, React, and Node.js development.