lua — скилл для Claude Code: правила разработки на Lua
Задаёт агенту правила письма на Lua: таблицы, метатаблицы, обработка ошибок, игровой цикл и работа с памятью. Пригодится, если проект на Lua или Love2D.
npx skills add Mindrally/skills --skill lua -a claude-codeЧто делает lua
Скилл подключает к агенту набор соглашений по Lua. Внутри — требования к именованию: snake_case для переменных и функций, PascalCase для классов и модулей, заглавные буквы для констант, подчёркивание в начале имени для приватного. Отдельно оговорена организация кода: связанные функции собираются в модули, приватное держится в локальных функциях, зависимости подтягиваются через require().
Обработку ошибок скилл описывает через pcall и xpcall, плюс assert() для проверки предусловий и явная проверка nil. По производительности агент получает указание держать значения в локальных переменных, кэшировать часто читаемые данные и не создавать таблицы внутри циклов. Для объектных паттернов — метатаблицы, __index для наследования, __newindex для валидации свойств.
Есть раздел про игры: структура игрового цикла, эффективность проверки столкновений, управление состоянием и вводом, интеграция с движками вроде Love2D. Никаких зависимостей ставить не нужно, это текстовые правила для агента. Но помните: скилл задаёт стиль, а не проверяет ваш код — расхождения с ним агент не поймает сам.
Какие задачи решает
- договориться с агентом об именовании переменных и модулей на Lua
- обернуть рискованный вызов в
pcallвместо падения скрипта - убрать создание таблиц внутри горячего цикла
- описать наследование через
__indexбез копирования методов - собрать структуру игрового цикла и обработку ввода
Примеры запросов агенту
- напиши модуль инвентаря на Lua с приватными функциями через локальные переменные
- оберни загрузку конфига в pcall и верни понятную ошибку
- перепиши этот цикл так, чтобы таблицы не создавались на каждой итерации
Как установить lua
1Через Skills CLI (Vercel)
npx skills add Mindrally/skills --skill lua -a claude-code2Вручную: положить файлы
~/.claude/skills/lua/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/lua/
1Через Skills CLI (Vercel)
npx skills add Mindrally/skills --skill lua -a codex2Вручную: положить файлы
.agents/skills/lua/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add Mindrally/skills --skill lua -a cursor2Вручную: положить файлы
.cursor/skills/lua/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install Mindrally/skills lua2Вручную: положить файлы
.github/skills/lua/SKILL.md1Через Skills CLI (Vercel)
npx skills add Mindrally/skills --skill lua -a gemini-cli2Командой платформы
gemini skills install https://github.com/Mindrally/skills --path luaВручную: положить файлы
.devin/skills/lua/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add Mindrally/skills --skill lua -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Из того же набора168
Похожие
Рядом в теме «Языки программирования»
Все скиллы по теме «Языки программирования» →Вопросы о lua
Как установить скилл lua в Claude?
Выполните npx skills add Mindrally/skills --skill lua -a claude-code. После этого файл скилла лежит в ~/.claude/skills/lua/SKILL.md.
Что делает скилл lua?
Задаёт агенту правила разработки на Lua: именование, модули, обработка ошибок через pcall и xpcall, метатаблицы, работа с памятью и структура игрового цикла.
Нужно ли что-то доустанавливать для этого скилла?
Нет, это текстовые правила для агента. Ставится одной командой, зависимостей у самого скилла нет.
Исходный текст
SKILL.md · Apache-2.0
--- name: lua description: Lua development guidelines covering tables, metatables, error handling, game development, and performance optimization. metadata: maintainer: Mindrally source: https://github.com/Mindrally/skills --- # Lua Development You are an expert in Lua programming with deep knowledge of tables, metatables, and game development patterns. ## Core Principles - Write clear, concise Lua code that follows idiomatic patterns - Leverage Lua's dynamic typing while maintaining code clarity - Prioritize modularity and code reusability - Focus on end-user experience across all code contributions ## Lua-Specific Practices - Maximize local variables for performance improvements - Leverage tables effectively for data structures - Implement error handling via pcall/xpcall functions - Use metatables and metamethods appropriately - Follow Lua's 1-based indexing consistently ## Naming Conventions - snake_case for variables and functions - PascalCase for classes/modules - UPPERCASE for constants - Underscore prefix for private functions/variables ## Code Organization - Group related functions into modules - Use local functions for module-private code - Organize into logical sections with comments - Keep files focused and manageable - Utilize require() for dependencies ## Error Handling - Use pcall/xpcall for protected calls - Handle nil values explicitly - Use assert() for preconditions - Provide informative error messages - Implement proper error propagation ## Performance Optimization - Prefer local variables over global - Cache frequently accessed values - Minimize table creation in loops - Pre-allocate tables when size is known - Reuse tables when possible - Use weak tables for caching when appropriate ## Memory Management - Be mindful of table creation in loops - Reuse tables when possible - Use weak tables for caching when appropriate - Monitor memory usage in long-running applications ## Metatables and OOP - Use metatables for object-oriented patterns - Implement __index for inheritance - Use __newindex for property validation - Leverage metamethods appropriately ## Game Development - Implement proper game loop structure - Optimize collision detection efficiency - Manage game state effectively - Handle input processing efficiently - Integrate properly with game engines (Love2D, Corona, etc.) ## Testing and Documentation - Write unit tests for critical functions - Document function parameters and return values - Include usage examples for public interfaces
© Mindrally · Apache-2.0 · Mindrally/skills