Data Oriented Design

Language-agnostic architecture guide for building games and performance-sensitive apps with Data-Oriented Design (DOD) — adapted from *High Performance Unity Game Development (Using data-oriented design)* by Nitzan Wilnai, generalized to any language and with a first-class HTML5/JavaScript/Canvas track. Use this skill whenever building or reviewing a game (or real-time/simulation code) in DOD style outside Unity — especially HTML/JS/Canvas, but also C, C++, Rust, Go, Zig, or plain C#. Trigger when the user asks to: scaffold a game or feature in DOD style, generate DOD-compliant code, review co

9 stars 1 forksSoftware Development

Install

skills CLI (Claude Code, Cursor, Codex and more)
npx skills add Data-Oriented-Design-for-Games/data-oriented-design --skill data-oriented-design
Manual install
git clone --depth 1 https://github.com/Data-Oriented-Design-for-Games/data-oriented-design.git /tmp/data-oriented-design
mkdir -p ~/.claude/skills
cp -r /tmp/data-oriented-design/. ~/.claude/skills/data-oriented-design

Personal skills live in ~/.claude/skills. Use .claude/skills in a project folder to share a skill with your team.

From the SKILL.md

# Data-Oriented Design — Language-Agnostic Architecture Skill

This skill encodes the DOD architecture from *High Performance Unity Game Development*
(*Using data-oriented design*) by Nitzan Wilnai (Manning), generalized so it applies
in **any language**. It has a first-class **HTML5 / JavaScript / Canvas** track,
because the memory-layout ideas need a specific translation there (TypedArrays, GC
avoidance).

When helping build or review a DOD project, follow these patterns and terminology
precisely. For Unity specifically, prefer the `unity-dod-architecture` skill; use
this one for HTML/JS and every other language.

---

## Core Philosophy (language-independent)

DOD is not a framework, an ECS, or a library. It is a coding paradigm built on three
pillars:

1. **Performance** — organize data in contiguous arrays for cache locality; separate
   data from logic so the CPU streams exactly the fields it needs.
2. **Reduced Complexity** — pure logic functions; clear data ownership; no
   abstraction for its own sake.
3. **Extensibility** — adding a feature is only "what new data + what new logic";
   the cost of a feature stays constant and existing systems don't get refactored.

**The DOD Mantra:** every logic function takes **data in**, **transforms** it, and
writes **data out**. Logic functions do not reach back into the presentation layer or
the game loop. They are pure transformations over plain data.
Read the full skill on GitHub

Details

Skill name
data-oriented-design
License
MIT
Repo updated
21 July 2026

FAQ

What does the Data Oriented Design skill do?

Language-agnostic architecture guide for building games and performance-sensitive apps with Data-Oriented Design (DOD) — adapted from *High Performance Unity Game Development (Using data-oriented design)* by Nitzan Wilnai, generalized to any language and with a first-class HTML5/JavaScript/Canvas track. Use this skill whenever building or reviewing a game (or real-time/simulation code) in DOD style outside Unity — especially HTML/JS/Canvas, but also C, C++, Rust, Go, Zig, or plain C#. Trigger when the user asks to: scaffold a game or feature in DOD style, generate DOD-compliant code, review co

How do I install the Data Oriented Design skill?

skills CLI (Claude Code, Cursor, Codex and more): npx skills add Data-Oriented-Design-for-Games/data-oriented-design --skill data-oriented-design. Skills go in ~/.claude/skills (personal) or .claude/skills (project), and Claude loads them automatically when a task matches the description.

Is Data Oriented Design popular?

It lives in Data-Oriented-Design-for-Games/data-oriented-design, which has 9 GitHub stars and 1 forks.

Related skills

Isms P Audit

9

basejb/isms-p-audit-skill

ISMS-P 인증 사전 점검을 위한 코드/IaC 정적 분석 스킬. 사용자가 "ISMS 점검", "ISMS-P 준비", "보안 감사", "통제항목 점검", "개인정보보호 감사", "정보보호 인증 준비"를 언급하거나, NestJS/ Spring/Django/Rails 같은 백엔드 프로젝트에서 IAM·로깅·암호화·접근통제 미흡 사항을 식별해 달라고 요청할 때 호출한다. Glob/Grep/Read로 코드와 Terraform/CloudFormation/Kubernetes 매니페스트를 스캔해 ISMS-P 통제항목과 매핑된 리스크 보고서를 생성한다. EN: Static analysis skill for ISMS-P (Korean Personal Information & Information Security Management System) pre-audit. Triggers on phrases like "ISMS audit", "ISMS-P readiness", "security compliance check", "Korean privacy audit". Scans source code and IaC to map findings to ISMS-P controls and

Software Development

4d V21

9

Ganbin/4d-development-skill

Comprehensive 4D v21 development expert with embedded official documentation. Covers ORDA patterns, entity classes, data model classes, queries, classic methods, data types, error handling, forms, events, web server, and REST API. Use when working with 4D files (.4dm), 4D language questions, 4D project structure, entity classes, ORDA queries, database operations, form development, web server configuration, REST API usage, or any 4D-specific syntax issue. Includes full official 4D v21 documentation for on-demand retrieval. Triggers on: .4dm files, 4D code, ORDA, entity selection, dataclass, 4D

Software Development

Product Requirements Review

9

fourierwang66666/product-requirements-review

Conducts structured product requirements review from idea to design doc. As PM asks clarifying questions; analyzes essence (problem, audience, real demand, business logic); researches competitors and data; as CTO assesses technical feasibility and Vibecode cost/time; then proposes creative, shortest-path solutions (smart, non-generic, with unique value or cold-start); makes go/no-go; if go, produces concept, name, architecture, user flows, system design (Vibecode-oriented), design references, and full design document. Principles: no process for its own sake, challenge ideas directly, common se

Software Development

Cl1 Base

8

SeanCole02/cl1-base

Build or adapt baseline CL1 human-neuron models, stimulation loops, and evaluation workflows. Use when Codex needs to design or modify CL1 training code, UDP stimulation and spike protocols, safe stimulation ranges, Same Frame Encoding (SFE), ablations, feedback-channel logic, or hardware-aware data and training loops for CL1 systems.

Software Development

Project Daily Summary

9

leonsong09/project-daily-summary

Use when the user wants a same-day Codex work summary grouped by project folder or repository, combining today's Codex sessions, extracted plans, completed items, commits, and uncommitted changes, or says 项目日报, 日报, 今日工作总结, 按项目总结今天, 总结今天所有 Codex 会话, 总结今天会话+提交+未提交改动.

Software Development

User Stories

9

felipereisdev/user-stories-skill

Analyzes a codebase and breaks down a goal into implementable user stories with clear acceptance criteria. Use when planning a new feature, estimating work, or creating a development roadmap. Explores the code before asking anything; when the goal is ambiguous, asks at most 5 blocking multiple-choice questions with a recommended answer, and records assumptions and open questions in the plan. Outputs execution-ready stories (schema v2: type, status, a verify check per criterion, dependencies with reasons, interfaces, files to reuse, file conflicts for parallel work) to .context/[goal-slug]-plan

Software Development

Browse the most popular Claude skills, all software development skills, or write your own with the skills generator.