msw-general
Foundation skill for MSW (MapleStory Worlds). Read this FIRST before anything else in MSW.
Security Assessment
About msw-general
msw-general is the foundation skill for MapleStory Worlds (MSW) creation and is meant to be read first before any other MSW skill, since every other MSW skill depends on it. It integrates shared tools, domain knowledge, platform rules, and file authoring around a core principle: MSW is a game creation platform, so the goal is a polished game players can enjoy rather than a prototype where logic merely runs. Accordingly, when creating any entity, it directs using the msw-search skill to find sprites and animations that fit the entity's role, applying the resource RUID to the SpriteRendererComponent so the entity is visually represented, and setting hit/explosion effects or sounds where there is combat or interaction.
For authoring .model files, the skill insists on a catalog-first approach rather than starting from an empty file. A skill-local models/ folder holds validated templates organized by category, including monsters, NPCs, players, terrain, map objects, particles, sound, tile map containers, UI, and external media. The documented workflow is to read references/model.md in full first, pick the closest template, load it via ModelBuilder, replace the three identifiers (EntryKey, Id, Name) through the builder, customize Components/Values/Properties/Children through the builder, save under a typed subfolder of RootDesk/MyDesk/Models/, then refresh. For monsters it describes two patterns: Pattern A, a verified Soldier-reference setup assembling components from scratch with a custom MyMonsterAI, and Pattern B using MonsterCanonical.model with an AIChaseComponent plus ActionSheet pipeline that mandates StateComponent.IsLegacy set to false.
When the same entity composition appears twice or more in a map, the skill makes authoring a .model and placing instances via modelId the default, because it lets edits propagate everywhere, keeps map diffs small and reviewable, avoids drift between copies, and is required for runtime SpawnByModelId. It enforces several mandatory preflights that must be repeated every turn rather than relying on prior-turn memory: reading references/entity.md for any entity work, and reading references/builder-protocol.md in full before any change to .map, .model, or .ui files. The builder-protocol document consolidates the call protocols of the MapBuilder, ModelBuilder, and UIBuilder into one interlocked contract covering componentNames sync, Values typeKey metadata, write-time auto-lint, placeModel mirroring, and child entity invariants.
FAQ
Why is msw-general described as a foundation skill?
It integrates shared tools, domain knowledge, platform rules, and file authoring for MapleStory Worlds, and every other MSW skill depends on it, so it is meant to be read first before anything else in MSW.
How should I start a new .model file?
Do not start from an empty file. The skill-local models/ folder contains validated templates by category; read references/model.md in full first, pick the closest template, load it via ModelBuilder, replace the EntryKey/Id/Name identifiers, customize through the builder, save under a typed subfolder of RootDesk/MyDesk/Models/, then refresh.
When should I use a .model with modelId instead of inline @components?
Whenever the same composition appears twice or more in a map, authoring a .model and placing each instance via modelId is the default; a single one-off decoration may use inline @components, and runtime SpawnByModelId always requires a .model regardless of count.
What are the two monster patterns this skill describes?
Pattern A is a verified Soldier-reference setup that assembles components from scratch with a custom script.MyMonsterAI and leaves StateComponent.IsLegacy at its default. Pattern B uses MonsterCanonical.model with an AIChaseComponent plus ActionSheet pipeline and mandates StateComponent.IsLegacy set to false.
When must I read builder-protocol.md?
Before any turn that creates or modifies a .map, .model, or .ui file (directly or via .mlua that spawns, places, or binds), you must read references/builder-protocol.md in full, every turn, because knowing one builder's protocol does not cover the others' write-side contracts.
All Files
19 filesInstall msw-general
Quick Setup:
- Copy the skill folder to
.claude/skills/ - Claude will automatically detect and use the skill
Repository
msw-git/msw-ai-coding-plugins-official