К основному содержанию
скилл CX Codex

roblox-luau-patterns — скилл для Claude Code: паттерны Luau в Roblox

Скилл для написания и рефакторинга модулей Roblox на Luau: жизненный цикл объектов, сигналы, планирование задач, pcall и очистка ресурсов.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add TabooHarmony/roblox-brain --skill roblox-luau-patterns -a claude-code
Открыть на GitHub

Что делает roblox-luau-patterns

Скилл включается, когда вы пишете или переписываете модули Roblox на Luau. Он разбирает форму модуля: обычные функции для преобразований без состояния, модуль с приватным состоянием для одного владельца подсистемы, объект с метатаблицей, когда несколько независимых значений делят поведение. Конструкторы вызываются через ., методы экземпляра через :, изменяемые поля живут на экземпляре, а не на таблице класса.

Отдельный блок про владение ресурсами. Подключения к сигналам, экземпляры и задачи требуют владельца, который их отключит или отменит при разрушении. Советует настраивать объект до присвоения родителя, чтобы не показывать частичное состояние, и экспортировать типизированные полезные нагрузки сигналов вида Signal<T...>. Ещё скилл следит за семантикой ошибок: пример с pcall показывает, что успешный вызов с nil и провал — разные вещи, и смешивать их нельзя. Повторять операцию стоит только тогда, когда её безопасно повторить.

По планированию задач скилл требует осознанно выбирать task.defer, task.spawn, task.delay и task.cancel, избегать устаревшего wait() и опроса без причины. Если нужен опрос, придётся выбрать явный интервал и замерить его. Есть чек-лист ревью: понятный владелец, узкий публичный API, отсутствие циклических require, состояния успеха и отсутствия данных остаются различимыми. Ввод с клиента скилл отправляет в соседний roblox-networking, а семантику, типы и запуск разбирают другие скиллы набора.

Какие задачи решает

  • выбрать форму модуля под задачу, а не плодить класс-менеджер ради пространства имён
  • найти подключения к сигналам, которые никто не отключает
  • развести успешный вызов с nil и настоящую ошибку в pcall
  • убрать дублирующиеся обработчики после респавна
  • заменить устаревший wait() и опрос без причины на task-функции

Примеры запросов агенту

  • Разбери этот модуль Roblox на Luau: где тут утечка памяти и кто владелец подключений?
  • Перепиши обработчик респавна, чтобы после возрождения не появлялись дублирующиеся обработчики
  • Проверь планирование задач в этом скрипте и убери лишний опрос

Как установить roblox-luau-patterns

1Через Skills CLI (Vercel)

npx skills add TabooHarmony/roblox-brain --skill roblox-luau-patterns -a claude-code

2Вручную: положить файлы

~/.claude/skills/roblox-luau-patterns/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/roblox-luau-patterns/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о roblox-luau-patterns

Как установить roblox-luau-patterns в Claude?

Выполните npx skills add TabooHarmony/roblox-brain --skill roblox-luau-patterns -a claude-code. Скилл окажется в ~/.claude/skills/roblox-luau-patterns/SKILL.md.

Что делает roblox-luau-patterns?

Помогает писать и рефакторить модули Roblox на Luau: выбор формы модуля, владение сигналами и задачами, семантика ошибок через pcall, планирование через task-функции.

С какими скиллами он работает вместе?

Семантику Luau разбирает roblox-luau-core, типы — roblox-luau-types, запуск проекта — roblox-architecture, ввод с клиента уходит в roblox-networking.

Исходный текст

SKILL.md · MIT
---
name: roblox-luau-patterns
description: "Use when writing or refactoring Roblox Luau modules, object lifecycles, signals, task scheduling, pcall, and cleanup."
when_to_use: "Also for memory leaks, connections never disconnected, duplicate handlers after respawn, task.spawn/defer/delay misuse, retries, and reviewing module structure."
last_reviewed: 2026-10-14
sources:
  - https://luau-lang.org/
  - https://luau.org/library
  - https://create.roblox.com/docs/reference/engine/classes/ObjectValue
  - https://create.roblox.com/docs/reference/engine/classes/StringValue
  - https://create.roblox.com/docs/reference/engine/classes/CFrameValue
  - https://devforum.roblox.com/t/studio-beta-reference-instances-directly-with-attributes/4753441
  - https://raw.githubusercontent.com/Kampfkarren/kampfkarren-luau-guidelines/main/README.md
  - original
---

# Luau Patterns

## When to Load

Load for module shapes, resource ownership, scheduling, and failure contracts. See `roblox-luau-core` for semantics, `roblox-luau-types` for types, `roblox-architecture` for startup.

## Quick Reference

### Choose a shape

- **Plain functions:** default for stateless transformation or validation.
- **Module with private state:** one explicit subsystem owner. Do not create a manager class merely to namespace functions.
- **Object with metatable:** multiple independent values need shared behavior and lifecycle.
- **Existing library abstraction:** follow it when the project already uses it consistently. Do not add Promise, signal, cleanup, or framework dependencies for one call site.

Constructors use `.`, instance methods use `:`, and mutable fields belong on the instance, not the class table.

### Make ownership visible

Signal connections, instances, and tasks need cleanup owners. Disconnect/cancel at teardown. Export typed custom signal payloads (`Signal<T...>`).

Configure before parenting to hide partial state. Parent earlier only when ancestry is required; explain why. This does not guarantee replication ordering.

### Preserve failure semantics

```luau
local ok, value = pcall(dataStore.GetAsync, dataStore, key)
if not ok then
    return nil, `read failed: {value}`
end
return value, nil -- value may legitimately be nil
```

Do not collapse "call succeeded and returned nil" into "call failed." Retry only when the domain operation is safe to repeat. Persistence, HTTP, purchases, and remotes belong to their domain skills.

### Naming and return contracts

Practitioner conventions: mark yielding functions `Async`, keep return counts consistent, and prefer named module exports. Respect existing project contracts; details in full.md.

### Schedule deliberately

Use `task.defer`, `task.spawn`, `task.delay`, and `task.cancel` deliberately. Avoid legacy `wait()` and unjustified polling. Prefer a real state-change signal; otherwise choose and measure an explicit cadence.

### Review

Clear owner, narrow public API, no circular require, no accidental concurrent startup, success and missing-data states remain distinct, connections/tasks cleaned up, client input routed to `roblox-networking`.

> Details: [references/full.md](references/full.md)

© TabooHarmony · MIT · TabooHarmony/roblox-brain

Похожие скиллы

Всё по теме «Геймдев и 3D: Unity, Unreal, Godot, Blender» →
roblox-luau gamedev-skills Скилл помогает писать Luau-скрипты для Roblox: работать с сервисами, создавать Instances, подключать события и настраивать безопасное взаимодействие между клиентом и сервером через RemoteEvents. CX Codex +1 6 100установок roblox-game-development greedychipmunk Скилл для разработки игр на Roblox: помогает писать скрипты на Luau, собирать игровые системы и готовить проект к релизу. CX Codex +1 2 200установок roblox-networking gamedev-skills Скилл для проектирования и защиты клиент-серверной сети в Roblox: RemoteEvent, RemoteFunction, UnreliableRemoteEvent, проверки и лимиты. CX Codex +1 3 500установок roblox-animation nonlooped Скилл для анимаций персонажей Roblox: треки, IK-позы, события по маркерам и твины интерфейса. Пригодится, когда нужно собрать локомоцию или эмоцию и не сломать приоритеты. CX Codex +1 392установок roblox-mcp nonlooped Скилл подключает ИИ-клиент к Roblox Studio по MCP: агент читает дерево игры, правит скрипты, запускает Luau и плейтест. CX Codex +1 317установок roblox-animations sentinelcore Справочник по анимациям Roblox: загрузка треков, приоритеты, замена стандартных анимаций персонажа. Пригодится, когда агент пишет код для Humanoid или рига на AnimationController. CX Codex +1 905установок

Из того же набора28

roblox-lighting Скилл для настройки освещения, атмосферы, смены дня и ночи и пост-обработки в Roblox. Пригодится, когда сцена выглядит плоской или пересвеченной. CX Codex +1 2 200установок roblox-audio Скилл для работы со звуком в Roblox: воспроизведение, 3D-звук, музыка, эффекты и микширование через SoundGroups. CX Codex +1 2 000установок roblox-architecture Разбирает, кому принадлежит поведение в проекте Roblox, где границы клиента и сервера и почему ломается порядок загрузки. CX Codex +1 2 000установок roblox-performance Набор правил и метрик для профилирования игр в Roblox. Помогает агенту устранять просадки кадров, серверный лаг и утечки памяти. CX Codex +1 2 000установок roblox-physics Помогает настраивать физику в Roblox: связки констрейнтов, рэгдоллы, транспорт, сетевое владение и поведение снарядов при багах симуляции. CX Codex +1 1 900установок roblox-monetization Скилл для работы с покупками в Roblox: Game Passes, Developer Products, подписки, приватные серверы и проверки политики. Пригодится, когда покупка не выдаёт предмет. CX Codex +1 1 900установок roblox-luau-core Скилл для написания и отладки Luau: подсказывает семантику языка и ловит синтаксис, перенесённый из JavaScript или Python. CX Codex +1 1 900установок roblox-networking Проверяет клиент-серверный код в Roblox: валидацию RemoteEvent, лимиты вызовов, NaN-значения и защиту от читов. Пригодится при настройке сетевого обмена. CX Codex +1 1 900установок

Спонсоры проекта

Компании, которые помогают держать аналитику открытой