Use when adding or fixing Luau type annotations - luau-lsp/luau-analyze errors, --!strict compliance, "Type X could not be converted into Y", generics, union types, type narrowing/refinements, casts (::), typed metatables and OOP, .d.luau definitions, or .luaurc setup. Triggers include "type error", "strict mode"…
Use when setting up or troubleshooting Rojo for Roblox - project.json configuration, Studio sync issues, file naming conventions (init.luau, .server.luau), rojo serve/build/sourcemap commands, multi-environment setups (dev/staging/prod), or Wally/Aftman integration. Triggers include "rojo", "project.json", "sync"…
Use before writing any text a human will read, even as a byproduct of a build task - marketing copy, headlines, CTAs, UX microcopy, error messages, tooltips, empty states, emails, social posts, READMEs, docs, changelogs, release notes, PR titles/descriptions, GitHub issues, in-game dialog, or string literals that…
Posts a message to a Discord webhook. Use when the user asks to send a webhook, notify a channel, or post an update to Discord. The webhook URL is read from the .env file at the project root. Invoke with: /discord-webhook.
Use when writing or reviewing code in a firebit house-stack Roblox project and the system's shape matters — service/controller boot order, where a new service goes, require cycles, "attempt to require a module that is loading", profile data not replicating, client sees stale state, choosing action networking vs…
Use when setting up a firebit Roblox project on a fresh machine or when build tooling misbehaves — aftman/wally/rojo/npm errors, "Unknown require" on valid code, the luau-lsp PostToolUse hook blocking an edit (exit 2) or silently passing broken code, stale sourcemap.json, missing globalTypes.d.luau, DevPackages/Jest…
Use when about to push, commit, merge, deploy, publish, sync monetization metadata, delete or refactor dormant code, or change tuning/economy numbers in a firebit Roblox project — or when unsure whether an action is agent-safe or owner-only. Covers git push to main/production, rblxsync run, flag-gated legacy code…
Use when touching any configuration axis in a house-stack Roblox project — feature flags (FeatureFlags class), file-local debug toggles, Studio/dev conditionals, rblxsync.yml products/passes/badges, Generated.luau monetization IDs, or tuning data modules. Also when a feature mysteriously won't turn on/off, a product…
Use when triaging Roblox bug classes in a house-stack project — NPC pathfinding freezing or stalling, placed models rotated 180 degrees, client/server CFrame disagreement, "attempt to index nil" on player-keyed tables, the luau-analyze hook blocking a valid new file, vendored package API errors, players spawning at…
Roblox game development assistant for Luau code. Use this skill when: Writing or reviewing Luau/Lua code for Roblox games Creating services, controllers, or UI components Setting up data persistence with ProfileDB/Replica Implementing client-server communication Debugging Roblox-specific issues Working with Wally…
Use when you need numbers instead of guesses in a house-stack Roblox project — balance/tuning telemetry (session-summary console logs, analytics events), repo-wide luau-lsp/selene/stylua commands and what counts as a regression, reading the Studio console via MCP during a playtest, checking which DEBUG/feature flags…
Use when reading, creating, updating, or archiving documentation in a firebit Roblox project — plan files in docs/plans/ (frontmatter status, checkboxes, paused notes, archiving), moving a card on docs/BOARD.html without breaking the HTML or the session snapshot, deciding which doc is authoritative (PROJECT.md vs…
Use when a Roblox/Luau bug looks familiar, before re-deriving a fix for placement math, NPC pathfinding, spawning, animation lifecycles, or client tag-handlers, when a weird code pattern (Euler tables over the wire, PivotTo ordering, bounded tag polls, generation counters, provider-injected requires) needs explaining…
Use when taking a Roblox game from "code done" to launch-ready, resuming a stalled launch push, clearing a Testing lane full of unverified features, re-balancing an economy or difficulty curve before launch, planning retention experiments, or starting a session with no explicit task while the board's In…
Use when a task hits Roblox platform behavior rather than project logic — a placed model's rotation comes out flipped 180 degrees, CFrame/Euler math (Angles vs fromEulerAnglesYXZ, left-handed basis), a client tag handler finds nil children, StreamingEnabled quirks, DataStore session locks, ProcessReceipt /…
Use when planning or documenting Roblox game production — writing or updating a GDD (game design document), LiveOps content calendars, influencer campaigns, UGC or virtual merch releases, code redemption strategy, FTUE planning, sprint/milestone/roadmap/backlog planning, production schedules, or release checklists.
Use when a claim needs proof, not a retry — a placed model faces the wrong way (CFrame/basis/Euler math), client and server disagree on an orientation, an economy or difficulty number needs a derived prediction before tuning, a ProcessReceipt path might double-grant or drop on crash, seeded generation should be…
Use when asking what agents should push on next in a house-stack Roblox project, how to remove the owner from verification loops, or what can be automated — autonomous dev pipeline, open problems, scripted playtests replacing manual Studio checks, headless simulation of game math, lune/luau CLI runners…
Use when forming or testing a hypothesis in a Roblox game project — investigating a bug's root cause, proposing a mechanism ("I think the CFrame flips because..."), deciding whether a fix or feature idea is proven or still a hunch, designing a playtest or Studio experiment, wondering whether to keep digging or stop…
Use when running, building, deploying, or operating a Roblox project on the house stack — starting the dev loop (npm run dev: ), connecting Rojo to Studio, driving Studio via MCP, understanding what pushing to main/production actually does (CI/CD), syncing monetization IDs with rblxsync, uploading assets with asphalt…