roblox-debugging-bugfix
Debug and fix Roblox bugs through Studio MCP. Use for repro steps, console errors, script search/read/edit flow, broken UI, failed gameplay systems, data issues, remotes, regressions, root-cause reports, and post-fix verification.
How do I install this agent skill?
npx skills add https://github.com/ashexplained/roblox-skills --skill roblox-debugging-bugfixIs this agent skill safe to install?
- Gen Agent Trust Hubpass
The skill facilitates Roblox debugging but introduces a risk of indirect prompt injection by processing external game data like logs and scripts while possessing code execution and file modification tools.
- Socketpass
No alerts
- Snykpass
Risk: LOW · No issues
What does this agent skill do?
Roblox Debugging Bugfix
Goal
Move from symptom to verified fix without guessing. For hard or intermittent bugs, follow the discipline below; skip phases only when you can justify it.
Phase 1 — Build a repro loop first (this is the skill)
Everything else is mechanical once you have a fast, repeatable pass/fail signal for the bug. Spend disproportionate effort here. Be aggressive and creative before you touch a fix.
Ways to construct one, roughly in order:
- Studio playtest repro — the exact steps in Play mode that surface the bug; watch
get_console_output. execute_luauharness — call the suspect server/module function directly with a fixture input and assert the result, instead of clicking through the whole game.- Targeted scenario — spawn the minimal instances/state that trigger the code path (one part, one remote, one player state).
- Replay a captured payload — save the real remote payload / data profile that misbehaves and push it back through the code path in isolation.
Make the loop fast, sharp, and deterministic: narrow to the specific symptom, pin any randomness/timing, and cut unrelated setup. A 2-second deterministic check beats a 30-second flaky one.
Intermittent bugs: the goal is a higher reproduction rate, not a clean one-shot. Loop the trigger many times, add stress, narrow timing windows. A 50%-flake bug is debuggable; keep raising the rate until it is.
If you genuinely cannot build a loop, stop and say so — list what you tried and ask the user for the environment, a captured artifact (log dump, screen recording with timestamps, the offending data), or permission to add temporary instrumentation. Do not hypothesize without a loop.
Phase 2 — Reproduce
Run the loop. Confirm it produces the failure the user described (not a nearby lookalike), that it repeats, and that you've captured the exact symptom for later verification.
Phase 3 — Hypothesize
Generate 3–5 ranked, falsifiable hypotheses before testing any — single-hypothesis debugging anchors on the first guess. Each states a prediction: "If X is the cause, then changing Y makes it disappear." Show the ranked list to the user before probing; they often re-rank instantly ("we just changed #3"). Proceed on your ranking if they're AFK.
Phase 4 — Instrument
Each probe maps to one hypothesis; change one variable at a time. Prefer inspecting real values (inspect_instance, execute_luau) over log spam. Tag every temporary log with a unique prefix like [DEBUG-a4f2] so cleanup is a single script_grep. For performance regressions, measure first (timing/os.clock, MicroProfiler, instance counts) and bisect — logs are usually the wrong tool.
Phase 5 — Fix + regression check
Make the smallest safe fix with multi_edit. Before declaring done, turn the repro into a durable check where a correct seam exists (an execute_luau assertion or a documented playtest step). If no good seam exists, that itself is a finding — note that the architecture is preventing the bug from being locked down.
Debug Loop (mechanics)
- Capture the user-visible symptom and expected behavior.
- Reproduce in Play mode when possible.
- Read
get_console_output. - Search with
script_grepandscript_search. - Read relevant scripts with
script_read. - Inspect relevant instances with
search_game_treeandinspect_instance. - Make the smallest safe fix with
multi_edit. - Re-run the repro and check console output again.
- Remove all
[DEBUG-...]instrumentation (script_grepthe prefix).
Common Bug Classes
- Client/server state mismatch.
- Remote payload trust issue.
- UI not updating after server state changes.
- Event connections duplicated or never disconnected.
- DataStore load/save race.
- Object path renamed or missing.
- Play mode DataModel mismatch.
- Race between character spawn, UI creation, and server initialization.
Fix Rules
- Prefer root-cause fixes over defensive silence.
- Do not swallow errors without logging context.
- Add validation near trust boundaries.
- Keep unrelated refactors out of bug fixes.
- Verify no new console errors.
Output
Return:
- Repro.
- Root cause (state which hypothesis proved correct).
- Files/scripts changed.
- Verification performed.
- Residual risks.
- Post-mortem: what would have prevented this bug? If the answer is architectural (no good test seam, tangled client/server boundary, hidden coupling), recommend
roblox-code-maintenance-refactororroblox-luau-architecture— after the fix is in, not before.
Next
Verify the fix holds with roblox-playtest-qa (and roblox-mobile-playtest if it touched UI/mobile). If the post-mortem surfaced architectural debt, hand off to roblox-luau-architecture or roblox-code-maintenance-refactor. Return to roblox-game-development-lifecycle to resume the roadmap.
How can the creator link this skill?
Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.
<a href="https://skillzs.dev/skills/ashexplained/roblox-skills/roblox-debugging-bugfix">View roblox-debugging-bugfix on skillZs</a>