Skip to content
Skills Library
Programming · Building & coding

lua-development

/lua-development

Lua language and module development standards for Cybercore and Omarchy-related work. Use for general Lua coding, modules, performance, error handling, testing, and embedded/scripting tasks outside pure Hyprland config.

Licence
MIT
Last repository change
11.11.2026

Assessment and security

90/ 100Class: good
Format25 / 25
Frontmatter with name and description, valid name, description up to 1,024 characters, name matching the folder.
Discoverability25 / 25
Description explains when to use the skill, has a reasonable length and uses third person.
Content25 / 35
At least 150 words and at most 500 lines, headings, step lists, examples or code.
Hygiene15 / 15
No placeholders such as TODO, no Windows paths, with a licence.
Riskno signals detected in the scan
Files in this package
1
Scripts
0
HTML comments
0
URLs in SKILL.md
0
Deprecation

No signals detected. Repository changed on 11.11.2026, without references to retired models or APIs.

Licence

MIT, open: use and modify while retaining author attribution.

What it does and when to use it

Lua language and module development standards for Cybercore and Omarchy-related work. Use for general Lua coding, modules, performance, error handling, testing, and embedded/scripting tasks outside pure Hyprland config.

Original author description

Lua language and module development standards for Cybercore and Omarchy-related work. Use for general Lua coding, modules, performance, error handling, testing, and embedded/scripting tasks outside pure Hyprland config.

How it works

  1. Scope
  2. Safety Rules (Non-Negotiable)
  3. Language and Style
  4. Compatibility
  5. Error Handling
  6. Tables and Data
  7. Performance
  8. Modules for Omarchy-Adjacent Work
  9. Testing & Debugging
  10. Verification
Original SKILL.md headings · 86 lines, 487 words
SKILL.md preview
---
name: lua-development
description: Lua language and module development standards for Cybercore and Omarchy-related work. Use for general Lua coding, modules, performance, error handling, testing, and embedded/scripting tasks outside pure Hyprland config.
metadata:
  version: "1"
---

# Lua Development

You are a Lua development specialist focused on Cybercore repository standards and Omarchy-related Lua work.

## Scope
- Lua language style and module design
- Compatibility awareness (Lua 5.1–5.4 / LuaJIT where relevant)
- Error handling and robustness
- Tables, metatables, and data design
- Performance-conscious Lua
- Testing and debugging
- Embedding and host interop basics

## Safety Rules (Non-Negotiable)

**STOP AND REPORT before any of these:**
- Running untrusted Lua with elevated privileges
- Disabling sandbox controls in embedded/host scenarios without approval
- Writing destructive filesystem/session operations without clear guards
- Shipping debug-only hooks that execute automatically in production paths
- Using `load`/`loadfile` on untrusted input without explicit trust boundaries

## Language and Style

- Prefer clear, small modules with explicit exports
- Use locals aggressively; avoid accidental globals
- Keep functions focused; prefer composition over deep metatable magic unless required
- Name modules and files consistently with the surrounding project
- Document non-obvious table shapes and expected fields

## Compatibility

- Know the target runtime:
  - Omarchy desktop config Lua may differ from embedded app Lua or plugin host Lua
  - LuaJIT vs PUC-Rio differences matter for bit ops, GC behavior, and some libraries
- Avoid version-specific features unless the target runtime is known
- Prefer portable patterns when a module may run in more than one host

## Error Handling

- Use `pcall` / `xpcall` at trust or I/O boundaries
- Return clear errors; do not swallow failures silently
- Prefer structured error messages that agents and humans can act on
- Validate arguments at module boundaries

## Tables and Data

- Treat tables as the primary data structure; be explicit about array vs map usage
- Avoid sparse array pitfalls when iteration semantics matter
- Prefer stable public shapes; isolate internal cache tables
- Preallocate or reuse tables in hot paths when profiling justifies it

## Performance

- Measure before micro-optimizing
- Avoid unnecessary table allocation in tight loops
- Prefer locals/upvalues over repeated global lookups in hot code
- Be cautious with metatable-heavy designs on hot paths
- For LuaJIT: be aware of NYI patterns and trace-breaking constructs when performance-critical

## Modules for Omarchy-Adjacent Work

- Separate pure logic from desktop/session side effects
- Make reload-safe modules when used in config hosts that re-require files
- Keep plugin-facing APIs narrow and documented
- Prefer dependency injection/host callbacks over hidden globals when embedding

## Testing & Debugging

- Add focused tests where the project has a harness
- For config-adjacent Lua, prefer reproducible manual verification steps when formal tests are absent
- Keep debug logging opt-in and removable
- Reproduce failures with minimal snippets when possible

## Verification

Before finishing Lua work:

- Module loads cleanly in the target runtime
- No accidental globals introduced
- Error paths are intentional and visible
- Reload-safe behavior preserved for config/plugin hosts
- Performance-sensitive changes are justified
- Basic functional checks pass

Versions

The database has no other skills named lua-development.

Database snapshot: 13.11.2026 · package version 2ada9093235f (SHA-256 digest of the entire package)

Downloads in the last 30 days: 0 · ranking

Report a problem with this skill: harmful content, incorrect descriptions or an author’s removal request.

Similar skills

  • 100omarchy-lua-config
    Omarchy Lua configuration for Hyprland, bindings, look-and-feel, bootstrap modules, and safe desktop customization. Use when editing Omarchy/Hyprland Lua config, keybinds, session behavior, or ~/.config/hypr and related Omarchy config modules.
  • 90lua-guide
    Use when editing general-purpose Lua 5.4+: modules, scripts, configuration. Triggers on `.lua` files and prompts about module patterns, local scoping, metatables, coroutines, error handling, even when the user doesn't say 'Lua'.
  • 100hyprland-lua
    Use when scripting, controlling, debugging, or building UI for a Hyprland (Wayland) compositor configured in Lua (hyprland.lua — native since Hyprland 0.55, not hyprland.conf). Symptoms — `hyprctl dispatch`/`keyword` fail with Lua parse errors; a special/scratchpad workspace…
  • 100lua-embedding-scripting
    Use this skill when embedding Lua runtimes into C, Go, or Rust applications for dynamic plugin scripting and configuration rules.
  • 100lua-guide
    Lua language guardrails, patterns, and best practices for AI-assisted development. Use when working with Lua files (.lua), or when the user mentions Lua/LuaJIT/Neovim/Love2D. Provides table patterns, metatable guidelines, coroutine usage, and embedding conventions specific to…
  • 85Lua C Integration
    Use when lua C API for extending Lua with native code including stack operations, calling C from Lua, calling Lua from C, creating C modules, userdata types, metatables in C, and performance optimization techniques.

Feedback and reports

Your message goes to Bartosz Sokoliński. An email address is needed only for a reply. See the privacy policy.