MSW UI System skill for Claude Code: design, build and script MapleStory Worlds UI
A MapleStory Worlds skill that makes Claude design, build and script .ui screens through a builder, never by hand-editing JSON.
- Installs
- 10.1K
- on skills.sh
- Stars
- 38
- on GitHub
- Files
- 45
- besides SKILL.md
- Updated
- Oct 2026
- last repo commit
msw-ui-system is the single entry point for everything in .ui files. SKILL.md says all .ui changes go through its builder script, and the plugin's hooks block direct reads and writes of .ui files. The skill bundles design guides, component API tables, layout recipes, runtime .mlua patterns and 20 template .ui files.
The builder lints every file it writes, and a separate script previews the layout. msw-general's rules say Claude must load this skill before it plans any UI work, so install msw-general with it.
Good for
- MapleStory Worlds creators building HUDs, popups, shops or inventory screens
- Developers who need UI component properties and enum values
- Anyone whose UI position or layering is wrong
Install msw-ui-system
Claude Code
- 1
Copy this prompt.
Install the msw-ui-system skill in Claude Code. Run this command: npx skills add https://github.com/msw-git/msw-ai-coding-plugins-official --skill msw-ui-system --skill msw-general Then check that it loaded and tell me how to use it.
- 2
Paste it into Claude Code. It shows the change and asks before running it.
Requires Node.js.
The plugin route installs msw-maker-base-skill: 13 skills (counted from the git tree) and hooks (6 hook events backed by 12 Node scripts, per hooks.json and the git tree). Read the permissions section first. The skills CLI route copies only the skill folders named, without the hooks. SKILL.md for msw-general says every other MSW skill depends on it, so it is always in the list. The skills also call two MCP servers, msw-maker-mcp and msw-mcp. SKILL.md points to the official setup page for wiring them and the API key: https://maplestoryworlds-creators.nexon.com/ko/docs?postId=1368 The default shown is the skills CLI route, which does not add the hooks.
Built from the package data we hold. Not yet tested by us. Source.
What's in the skill
When it loads
MSW `.ui` single entry point — design + component API + builder + runtime. Anchor/pivot/RectTransform, UIGroup/CanvasGroup hierarchy, layout recipes (HUD/popup/toast/menu/inventory/scroll-list/ranking/leaderboard/quest list/friend list/mailbox), full API tables for ButtonComponent/TextGUIRendererComponent/SpriteGUIRendererComponent/ScrollLayoutGroup/GridView/TextInput/Slider/Mask/AvatarGUIRenderer + UI enums (AlignmentType/TextOverflowMode/ImageType/FillAmount), `.mlua` runtime patterns (popup open-close, toast, HP bar, GridView, drag, tab, cooldown, world nametag), UI-client-only caveats (nil on server, no RPC), `.ui`↔`.mlua` UUID auto-binding (write+injectBindings), resolution/safe-area/touch. UIBuilder (msw_ui_builder.cjs): all node types (empty/panel/text/sprite/button/slider/scrollLayout/textInput/group/mask/gridView/avatar/skeleton etc.), component add/replace/patch/remove, 13 anchor presets+stretch, auto-inject .mlua UUID bindings after write.
Sections in SKILL.md
- 0. Routing
- 1. Basic Workflow
- 2. Global Rules
- NEVER
- ALWAYS
- 3. Sub-documents
- 4. Scripts
- Out of Scope
Key facts
- Installs on skills.sh
- 10,089 as of Nov 2, 2026
- What is inside
- 46 files including SKILL.md: 16 Markdown, 20 .ui, 4 .mlua and 6 .cjs scripts (git tree)
- Last commit to the repo
- Oct 6, 2026
What it includes
Sends a request to the right reference file
Covers anchors and pivots, mobile and safe area, UIGroup and z-order, component choice, layout recipes, runtime patterns, enums, builder calls and UI sound.
Read ·
Routing table10 steps from intent to Maker refresh
Clarify, check a design guide, read the builder protocol, match a recipe, call the builder, inject bindings, lint, preview, add sounds, refresh.
Try: “Build a pause menu with Resume and Quit buttons.”
Runs code ·
Basic workflowCreates and patches .ui files
The only allowed way to change .ui files. It can also inject .mlua property default UUIDs so bindings work without dragging in Maker.
Runs code ·
msw_ui_builder.cjsSelf-check run automatically on write
Strict mode is on by default.
Read ·
ui_lint.cjsVisual layout check
Also warns about small touch targets.
Runs code ·
preview_ui_layout.cjsRecipe-based scaffolding
Recipe-based scaffolding for new screens.
Write ·
ui_recipe.cjs5 NEVER rules and an ALWAYS list
Never edit .ui JSON directly, never set Position directly, and never mix anchoredPosition with OffsetMin and OffsetMax on fixed anchors.
Read ·
Global rulesStyle bundles with .ui, RUID maps and button handlers
Four style bundles in references/templates: black (simple popups), diary (minimal HUD), wood (multi-tab menus) and blue (purchase and reward flow). Each has .ui files, a RUID map and a Popupbutton.mlua button handler.
Read ·
Templates
From the official docs
Permissions
Medium risk
This skill runs Node scripts that create and change .ui files in your workspace, and the plugin route adds hooks. Use version control and read the hook findings before installing the plugin.
What it can do
- Read your data
- Create and change things
- Delete things
- Read-only mode
Watch out for
It creates and changes .ui files
The builder writes your UI files. Review the diff in version control. github.com
The plugin runs 9 hook scripts on 6 events
hooks.json registers 9 hook scripts on 6 events. SessionStart: mlua-session-start.cjs starts the mlua LSP daemon in the background when it finds a RootDesk folder, and inject-agents-md.cjs (next item). UserPromptSubmit: skill-router-reminder.cjs adds the same fixed routing reminder to every prompt. PreToolUse: skill-read-guard.cjs refuses Bash reads such as cat, head or grep on the plugin's skill .md files, and structured-file-guard.cjs refuses reads, edits and shell commands on .model and .ui files. PostToolUse on Edit, Write and MultiEdit: mlua-diagnose-post-tool-use.cjs runs the mlua checker on edited .mlua files and returns a block decision with the errors when it finds any, and a second hook calls the msw-maker-mcp tool maker_refresh_workspace. PostToolUse on Read and Skill, and the InstructionsLoaded event: skill-log.cjs logs skill reads to .mswai/logs/skill.log. PostToolUse on every tool: mcp-log.cjs (below). SessionEnd: mlua-session-end.cjs stops the LSP daemon. Use the skills CLI route in the install box if you do not want hooks. github.com
The plugin writes AGENTS.md and edits CLAUDE.md
inject-agents-md.cjs copies its AGENTS.md to your project root, replacing the file if the content differs, and adds an @AGENTS.md line at the top of CLAUDE.md. Back up an existing AGENTS.md first. github.com
The plugin runs a downloaded package with npx -y
The mlua checks start a background daemon at session start and run again after each .mlua edit. resolve-cmd.cjs looks first for a local copy (env override, the workspace .mswai/runtime folder, the ai-cli vendored copy, mlua-lsp on PATH). If none is found and npx exists, it runs npx -y @maplestoryworlds/mlua-lsp@1.1.4, which downloads that package from the npm registry. github.com
The plugin logs every MCP call to .mswai/logs
mcp-log.cjs runs after every tool call and, for MCP tools from any server, appends one line to .mswai/logs/mcp.log in your project with the tool name, the full arguments and the full response (cut only if MCP_LOG_MAX_OUTPUT_BYTES is set). lsp.log and skill.log are written to the same folder. Our advice: add .mswai/ to .gitignore, because the log can hold anything your MCP servers return. github.com
The plugin blocks direct reads of .model and .ui files
structured-file-guard.cjs refuses Read, Edit, Write and shell commands on .model and .ui files and tells Claude to use the builders. Setting MSW_STRUCTURED_FILE_GUARD_DISABLE=1 turns it off. github.com
Security advisories
No published security advisories as of Nov 2, 2026.
Technical details
| Turning on read-only | SKILL.md names no read-only setting. |
|---|---|
| Scopes |
|
Questions
What does the msw-ui-system skill do?
It makes Claude design and build MapleStory Worlds UI through a builder script: layout, component choice, bindings, lint, preview and runtime .mlua patterns.
Why can Claude not edit my .ui file directly?
SKILL.md says manual JSON edits break UUID, ValueType and component consistency and cause silent drops. The plugin hooks also block direct Read, Edit and Write on .ui files and tell Claude to use the builder.
What else do I need installed?
msw-general, because the builder call protocol lives in its references. The skills CLI route in the install box includes it.
How do I install it?
Use the install box above. The plugin route installs all 13 skills in msw-maker-base-skill plus hooks.
Is it official, made by Nexon?
The repo does not say so. It is published by a personal GitHub account named MSW-Git (account type User, no company or description on the profile). The repo name contains "official" and the README calls it the public release source for MSW maker skills, but nothing in the repo names Nexon as the publisher. marketplace.json lists the owner as MSW-Git with an outlook.kr email address. The skills do link to Nexon's MapleStory Worlds creators docs for MCP setup. Our advice: treat it as a third-party toolkit for Nexon's platform unless Nexon confirms otherwise.
Do I need the MapleStory Worlds MCP servers?
The skills call two MCP servers, msw-maker-mcp for the Maker editor and msw-mcp for search and assets. SKILL.md says to point you to the official setup page when an MCP call fails or an API key is needed: https://maplestoryworlds-creators.nexon.com/ko/docs?postId=1368.
Is msw-ui-system safe to use?
It runs Node scripts that create and change .ui files in your workspace. The plugin route also adds hooks, so read the permissions section before you install it. Our advice: use version control and review the diff.
Information
updated Nov 2, 2026
- Repository
- msw-git/msw-ai-coding-plugins-official
- Folder
plugins/msw-maker-base-skill/skills/msw-ui-system
Sources
Docs, issue trackers and discussions this page is built from.
Show all 17Hide
- msw-ai-coding-plugins-official README · github.com
- marketplace.json · github.com
- msw-ui-system SKILL.md · github.com
- skills.sh listing · skills.sh
- msw-ui-system references/component-api.md · github.com
- templates.md · github.com
- MSW-Git GitHub profile · github.com
- hooks.json · github.com
- inject-agents-md.cjs · github.com
- resolve-cmd.cjs · github.com
- mcp-log.cjs · github.com
- structured-file-guard.cjs · github.com
- skill-router-reminder.cjs · github.com
- mlua-diagnose-post-tool-use.cjs · github.com
- skill-log.cjs · github.com
- skill-read-guard.cjs · github.com
- mlua-session-start.cjs · github.com