roblox-architecture — скилл для Claude Code: структура проекта Roblox
Разбирает, кому принадлежит поведение в проекте Roblox, где границы клиента и сервера и почему ломается порядок загрузки.
npx skills add TabooHarmony/roblox-brain --skill roblox-architecture -a claude-codeЧто делает roblox-architecture
Скилл включается, когда вы добавляете фичу, переносите код, чините циклы require или проверяете структуру проекта. Сначала он требует назвать владельца поведения: кто меняет состояние, кто вызывает публичные операции, какие инстансы и соединения за этим закреплены, где проходит граница сети и как всё это запускается и останавливается.
Дальше — про зависимости. Прямой вызов модуля считается нормой, сигнал уместен только когда у одного издателя действительно независимые подписчики. Городить шину событий или контейнер зависимостей ради обычной связи скилл не советует. Работу на верхнем уровне модуля держите дешёвой и без yield, а порядок запуска отдайте маленькому bootstrap, который вызывается последовательно и падает заметно. WaitForChild без границы превращает пропавший инстанс в тихое зависание.
Клиент показывает и предсказывает, сервер проверяет и решает — это правило скилл повторяет для каждого remote. Делить код стоит по доказательству: отдельный жизненный цикл, своя граница authority, независимо тестируемое ядро. ECS он тоже разбирает, но только для случая, когда много похожих сущностей обновляется каждый кадр по независимой от порядка логике. Установка идёт через npx skills add, для GitHub Copilot — через gh skill install.
Какие задачи решает
- найти владельца поведения, которое сейчас размазано по трём скриптам
- разорвать цикл require между серверными модулями
- решить, что выносить в shared, а что оставить на сервере
- убрать скрытый yield при старте и сделать порядок загрузки явным
- проверить, что remote не доверяет клиенту решение
Примеры запросов агенту
- Разбери структуру проекта: где чей код и кто владеет состоянием инвентаря
- У меня цикл require между двумя серверными модулями — помоги разорвать
- Проверь границы клиент-сервер в этом remote и что нужно валидировать
Как установить roblox-architecture
1Через Skills CLI (Vercel)
npx skills add TabooHarmony/roblox-brain --skill roblox-architecture -a claude-code2Вручную: положить файлы
~/.claude/skills/roblox-architecture/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/roblox-architecture/
1Через Skills CLI (Vercel)
npx skills add TabooHarmony/roblox-brain --skill roblox-architecture -a codex2Вручную: положить файлы
.agents/skills/roblox-architecture/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add TabooHarmony/roblox-brain --skill roblox-architecture -a cursor2Вручную: положить файлы
.cursor/skills/roblox-architecture/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install TabooHarmony/roblox-brain roblox-architecture2Вручную: положить файлы
.github/skills/roblox-architecture/SKILL.md1Через Skills CLI (Vercel)
npx skills add TabooHarmony/roblox-brain --skill roblox-architecture -a gemini-cli2Командой платформы
gemini skills install https://github.com/TabooHarmony/roblox-brain --path skills/core/roblox-architectureВручную: положить файлы
.devin/skills/roblox-architecture/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add TabooHarmony/roblox-brain --skill roblox-architecture -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о roblox-architecture
Как установить roblox-architecture в Claude?
Выполните npx skills add TabooHarmony/roblox-brain --skill roblox-architecture -a claude-code. Файл скилла окажется в ~/.claude/skills/roblox-architecture/SKILL.md.
Что делает roblox-architecture?
Помогает разложить код Roblox по владельцам: кто меняет состояние, где граница клиента и сервера, как устроен запуск. Заодно подсказывает, когда дробление модуля оправдано, а когда нет.
Когда этот скилл вообще включается?
При добавлении, переносе или рефакторинге фичи, при разборе зависимостей и старта, а также когда нужно развести сервисы и контроллеры или проверить структуру проекта целиком.
Исходный текст
SKILL.md · MIT
--- name: roblox-architecture description: "Use when adding, moving, refactoring, or reviewing Roblox feature ownership, code layout, dependencies, startup, or client-server boundaries." when_to_use: "Also when deciding where code goes, splitting a large script, fixing load-order or require cycles, untangling services/controllers, or auditing project structure." last_reviewed: 2026-10-14 sources: - https://create.roblox.com/docs/projects/data-model - https://create.roblox.com/docs/projects/client-server - https://create.roblox.com/docs/scripting/locations - https://create.roblox.com/docs/scripting/security/access-control - https://create.roblox.com/docs/reference/engine/classes/CollectionService - https://raw.githubusercontent.com/Ukendio/jecs/v0.11.0/README.md - original --- # Roblox Architecture ## When to Load Load for ownership, integration, boundaries, startup, or module splits. ## Quick Reference Reuse proven project modules before rebuilding; inspect contracts and failure/cleanup paths. Integration workflow: full.md. ### Start from one owner For each behavior, name: - authoritative state and who may mutate it; - public operations and callers; - Roblox instances, connections, and tasks it owns; - persistence or network boundary; - startup and teardown conditions. Group by feature when that keeps one change together. Split server, client, and shared code only where the runtime boundary requires it. Shared code has no secrets or authoritative mutable state. ### Use the smallest dependency shape Direct module calls are the default. Use a signal only when one publisher has genuinely independent observers. Do not add an event bus, dependency container, manager class, or `Init`/`Start` ceremony to hide an ordinary dependency. Keep module top-level work cheap and non-yielding. A small bootstrap owns startup that needs ordering; call it sequentially and fail visibly. Concurrency must be explicit and safe, not automatic `task.spawn` everywhere. Bound `WaitForChild` when a dependency arrives through replication; an unbounded wait turns a missing instance into a silent hang. ### Enforce runtime authority The client presents and predicts; the server validates and decides. Remotes are APIs with types, bounds, ownership, abuse controls, and failure behavior. Route details to `roblox-networking` and `roblox-security`. ### Split only for evidence Split when there is a separate lifecycle or authority boundary, a distinct persistence contract, an independently testable pure core, or unrelated reasons to change. ### Data-oriented alternative: only on evidence An ECS earns its cost only when many similar entities update every frame by order-independent logic, or cross-cutting queries replace tangled per-entity scripts; hooks enforce invariants, ordered systems decide. Version-specific pitfalls: full.md "ECS on Roblox". ### Review One canonical owner per mutation, no hidden startup yield or replicated trust decision, explicit cleanup, smallest traceable structure. Tags are discovery, attributes configuration, one owner for attach/remove cleanup. > Details: [references/full.md](references/full.md)
© TabooHarmony · MIT · TabooHarmony/roblox-brain