# msw-scripting

Guides authoring .mlua scripts for MapleStory Worlds, covering annotations, execution spaces, and playtesting. Useful when building MSW logic and debugging runtime issues.

- skill · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 9900 installs · ★ 38
- Author: MSW-Git
- License: not stated · policy=link-only · description only; the file stays with the author
- Source: https://github.com/MSW-Git/msw-ai-coding-plugins-official/tree/HEAD/plugins/msw-maker-base-skill/skills/msw-scripting/SKILL.md
- Updated: 2026-10-06
- HTML: https://affpapa.org/en/nevibecode/skills/msw-scripting

## What it does

The skill directs coding in MapleStory Worlds using `.mlua`. It enforces platform-specific conventions: `@Component`, `@Logic`, `@ExecSpace`, and `@Sync`. Applying Unity patterns here will break runtime behavior. For instance, UI scripts run strictly on the client, and singletons use `@Logic` rather than static manager classes.

New scripts belong in feature-based folders under `./RootDesk/MyDesk/`, such as `Player/` or `Inventory/`. Flat folder dumps like `Scripts/` are explicitly blocked. The skill requires checking signatures against `.d.mlua` definitions in `./Environment/NativeScripts/`, which tracks 104 components and 46 services. Every edit triggers an LSP check, followed by the Maker MCP `refresh` command.

## Install

### Claude Code (native platform)

1. **Skills CLI (Vercel)**
```bash
npx skills add MSW-Git/msw-ai-coding-plugins-official --skill msw-scripting -a claude-code
```

2. **Manually: put the files in place**
- File: `~/.claude/skills/msw-scripting/SKILL.md` — Copy the whole skill folder; for one project use .claude/skills/msw-scripting/

### Codex

1. **Skills CLI (Vercel)**
```bash
npx skills add MSW-Git/msw-ai-coding-plugins-official --skill msw-scripting -a codex
```

2. **Manually: put the files in place**
- File: `.agents/skills/msw-scripting/SKILL.md` — For all projects use ~/.agents/skills/

### Cursor

1. **Skills CLI (Vercel)**
```bash
npx skills add MSW-Git/msw-ai-coding-plugins-official --skill msw-scripting -a cursor
```

2. **Manually: put the files in place**
- File: `.cursor/skills/msw-scripting/SKILL.md` — Cursor also reads .agents/skills/ and .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install MSW-Git/msw-ai-coding-plugins-official msw-scripting
```

2. **Manually: put the files in place**
- File: `.github/skills/msw-scripting/SKILL.md`

### Gemini CLI

1. **Skills CLI (Vercel)**
```bash
npx skills add MSW-Git/msw-ai-coding-plugins-official --skill msw-scripting -a gemini-cli
```

2. **Platform CLI**
```bash
gemini skills install https://github.com/MSW-Git/msw-ai-coding-plugins-official --path plugins/msw-maker-base-skill/skills/msw-scripting
```

### Windsurf (Devin Desktop)

**Manually: put the files in place**
- File: `.devin/skills/msw-scripting/SKILL.md` — The legacy .windsurf/skills/ path still works

### OpenCode

**Skills CLI (Vercel)**
```bash
npx skills add MSW-Git/msw-ai-coding-plugins-official --skill msw-scripting -a opencode
```

### Claude.ai

**Claude.ai**
- Zip the folder and upload it in Settings → Capabilities → Skills

Where a file is given instead of a command, copy the files from the source to that path: https://github.com/MSW-Git/msw-ai-coding-plugins-official/tree/HEAD/plugins/msw-maker-base-skill/skills/msw-scripting/SKILL.md

## When to use it
- write mlua components using MSW lifecycle annotations
- route client and server logic via ExecSpace RPCs
- verify engine API signatures against NativeScripts definitions
- fix mlua LSP diagnostic errors before running tests

## Example prompts
- Create a MeleeAttackComponent.mlua under Combat/ with a server-side damage handler
- Inspect NativeScripts for SpawnByModelId and implement it in MonsterSpawnerLogic
- Run mlua diagnostics and refresh Maker for modified inventory scripts

## Similar
- [unity-csharp-scripting](https://affpapa.org/en/nevibecode/skills/unity-csharp-scripting.md) — skill · 5900 installs
- [msw](https://affpapa.org/en/nevibecode/skills/msw.md) — skill · 842 installs
- [love2d-core](https://affpapa.org/en/nevibecode/skills/love2d-core.md) — skill · 5000 installs
- [lua](https://affpapa.org/en/nevibecode/skills/lua.md) — skill · 1300 installs
- [roblox-animations](https://affpapa.org/en/nevibecode/skills/roblox-animations.md) — skill · 905 installs
- [roblox-animation-vfx](https://affpapa.org/en/nevibecode/skills/roblox-animation-vfx.md) — skill · 2300 installs

From the same set: [msw-git/msw-ai-coding-plugins-official](https://affpapa.org/en/nevibecode/by/msw-git/msw-ai-coding-plugins-official.md) — 14 cards

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
