agentleFS
AshExplainedAshExplained/roblox-skills/roblox-code-maintenance-refactor/SKILL.md

roblox-code-maintenance-refactor

Skill5 starsChanged 5 months agoMITView on GitHub

Maintain and refactor Roblox Luau code safely. Use for technical debt, dead code removal, module boundaries, naming cleanup, duplicate logic, dependency review, regression prevention, and long-term codebase health.

The file

We split this skill into the rules it gives an agent

5 rules. About 0 are common, 1 is distinctive, and 4 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈1

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 4

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Avoid mixing behavior changes with cleanup.

    line 17
  2. Very specific:

    Use script_grep to find duplication, old names, or call sites.

    line 43
  3. Very specific:

    Read all affected scripts with script_read.

    line 44
  4. Very specific:

    Use start_stop_play to verify the relevant loop.

    line 46
  5. Very specific:

    Verify no behavior changed with roblox-playtest-qa.

    line 61

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Roblox Code Maintenance Refactor

Goal

Improve code health without changing player-facing behavior accidentally.

Refactor Rules

  • Read before editing.
  • Keep changes scoped.
  • Preserve remote contracts unless intentionally migrating.
  • Avoid mixing behavior changes with cleanup.
  • Playtest after meaningful refactors.
  • Check console output.

Targets

  • Duplicated constants and reward formulas.
  • Large scripts with mixed responsibilities.
  • Client/server boundary confusion.
  • Dead remotes, stale UI paths, unused modules.
  • Repeated event connection patterns.
  • Unclear names around valuable state.
  • Magic numbers that should be balance tables.

Finding Deepening Opportunities

Beyond obvious cleanup, hunt for shallow modules to deepen — where the interface is nearly as complex as the implementation, so callers carry complexity that should be hidden.

  • Where does understanding one concept require bouncing between many tiny scripts?
  • Where were pure helpers extracted only for tidiness, but the real bugs live in how they're called (no locality)?
  • Where do client and server share a responsibility that leaks across the remote boundary?

Apply the deletion test to anything you suspect is shallow: if deleting it just moves complexity around, inline it; if deleting it would scatter the same complexity across many call sites, keep it and give it a small, stable interface named from the game's vocabulary. Present each opportunity as: files involved · the friction today · the proposed change · the benefit (locality + testability). Don't propose new indirection for a single implementation. See roblox-luau-architecture for the deep-module model.

MCP Workflow

  1. Use script_grep to find duplication, old names, or call sites.
  2. Read all affected scripts with script_read.
  3. Make small edits with multi_edit.
  4. Use start_stop_play to verify the relevant loop.
  5. Check get_console_output.

Output

Return:

  • Refactor goal.
  • Behavior preserved.
  • Scripts changed.
  • Verification performed.
  • Follow-up debt items.

Next

Verify no behavior changed with roblox-playtest-qa. For larger structural changes, design them in roblox-luau-architecture and slice them with roblox-to-issues so they land one safe step at a time.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.