lua

lua

Lua development guidelines covering tables, metatables, error handling, game development, and performance optimization.

8stars
0forks
Updated 2/9/2026
SKILL.md
readonlyread-only
name
lua
description

Lua development guidelines covering tables, metatables, error handling, game development, and performance optimization.

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

You Might Also Like

Related Skills

verify

verify

243K

Use when you want to validate changes before committing, or when you need to check all React contribution requirements.

facebook avatarfacebook
Get
test

test

243K

Use when you need to run tests for React core. Supports source, www, stable, and experimental channels.

facebook avatarfacebook
Get

Use when feature flag tests fail, flags need updating, understanding @gate pragmas, debugging channel-specific test failures, or adding new flags to React.

facebook avatarfacebook
Get

Use when adding new error messages to React, or seeing "unknown error code" warnings.

facebook avatarfacebook
Get
flow

flow

243K

Use when you need to run Flow type checking, or when seeing Flow type errors in React code.

facebook avatarfacebook
Get
flags

flags

243K

Use when you need to check feature flag states, compare channels, or debug why a feature behaves differently across release channels.

facebook avatarfacebook
Get