Claude
Skills
Sign in
Back

msw-packages

Included with Lifetime
$97 forever

MSWPackages catalog — official 1st-party prebuilt packages for common MSW features. Use this skill BEFORE writing a feature from scratch when the user asks for any standard game system (toast/notification, ranking/leaderboard, inventory/equipment, shop/store, world shop, mail, quest/achievement, dialog/NPC conversation, key binding, game event broadcast, player data/save, collection/dex, slash command, scrollview/virtualized list, drop table, global config, GM message, resource/currency, UI components). Always check the catalog first; if a package matches the requested feature, fetch its README and propose integrating instead of building from zero. Keywords: MSWPackages, package, prebuilt, integration.

Design

What this skill does


# MSW Packages — Official Prebuilt Catalog

[`MSW-Git/MSWPackages`](https://github.com/MSW-Git/MSWPackages) is the official MSW first-party repository of prebuilt feature packages. Before writing any standard game feature from scratch, **check this catalog first** — if a package matches, propose integration instead of zero-from-scratch implementation.

This skill is a thin index. Per-package details (README, source, integration steps) are fetched **on demand from GitHub** rather than mirrored here, so the catalog stays current automatically.

---

## Decision Flow

```
User asks for feature X
        │
        ▼
Match X against Feature → Package table below
        │
   ┌────┴─────┐
   │ Match    │ No match
   ▼          ▼
Scope-First check      Proceed with normal MSW
(see section below):   authoring (msw-scripting,
system vs UI-only?     msw-search, etc.)
        │
   ┌────┴───────────┐
   │ system         │ UI-only
   ▼                ▼
Fetch package    Route to msw-ui-system
README           (+ references/templates/, skip the rest of this skill)
        │
        ▼
Summarize for user
"Found <package>. README says: <summary>.
 Integrate this, or build from scratch?"
        │
   ┌────┴─────┐
   │          │
   ▼          ▼
Integrate    Build from scratch
        │
        ▼
Run Integration Workflow (below)
```

**Default posture**: ask the user before integrating. Do not auto-install without confirmation — packages can collide with existing UUIDs, sprite RUIDs, or naming conventions in the user's project.

---

## Feature → Package Mapping

When a user request mentions one of these features (Korean or English), look up the matching package and fetch its README first.

| Feature domain | Package | GitHub path |
|---|---|---|
| Toast / notification / banner | `maplestory-toast-package` | [link](https://github.com/MSW-Git/MSWPackages/tree/main/maplestory-toast-package) |
| Ranking / leaderboard / scoreboard (basic) | `ranking-basic-package` | [link](https://github.com/MSW-Git/MSWPackages/tree/main/ranking-basic-package) |
| Ranking / leaderboard (advanced — multi-board, season) | `ranking-advanced-package` | [link](https://github.com/MSW-Git/MSWPackages/tree/main/ranking-advanced-package) |
| Inventory / item bag / equipment | `inventory-package` | [link](https://github.com/MSW-Git/MSWPackages/tree/main/inventory-package) |
| Shop / store / purchase | `shop-package` | [link](https://github.com/MSW-Git/MSWPackages/tree/main/shop-package) |
| World shop / premium shop | `worldshop-package` | [link](https://github.com/MSW-Git/MSWPackages/tree/main/worldshop-package) |
| Mail / mailbox | `mail-package` | [link](https://github.com/MSW-Git/MSWPackages/tree/main/mail-package) |
| Quest / achievement / mission | `quest-achievement-package` | [link](https://github.com/MSW-Git/MSWPackages/tree/main/quest-achievement-package) |
| Dialog / NPC conversation (typewriter style) | `dialog-package` | [link](https://github.com/MSW-Git/MSWPackages/tree/main/dialog-package) |
| Key binding / virtual button | `key-binding-package` | [link](https://github.com/MSW-Git/MSWPackages/tree/main/key-binding-package) |
| Game event broadcast / pub-sub | `game-event-package` | [link](https://github.com/MSW-Git/MSWPackages/tree/main/game-event-package) |
| Player data / save / profile | `player-data-package` | [link](https://github.com/MSW-Git/MSWPackages/tree/main/player-data-package) |
| Collection / gallery / dex | `collections-package` | [link](https://github.com/MSW-Git/MSWPackages/tree/main/collections-package) |
| Slash command / chat command | `command-package` | [link](https://github.com/MSW-Git/MSWPackages/tree/main/command-package) |
| Virtualized scroll list / large list | `recyclescrollview-package` | [link](https://github.com/MSW-Git/MSWPackages/tree/main/recyclescrollview-package) |
| Drop table / loot probability | `droptable-resolver-package` | [link](https://github.com/MSW-Git/MSWPackages/tree/main/droptable-resolver-package) |
| Global config / shared settings | `global-config-package` | [link](https://github.com/MSW-Git/MSWPackages/tree/main/global-config-package) |
| GM / system announcement | `gm-message-package` | [link](https://github.com/MSW-Git/MSWPackages/tree/main/gm-message-package) |
| Game resource (currency, energy, refillable) | `resource-package` | [link](https://github.com/MSW-Git/MSWPackages/tree/main/resource-package) |
| UI components and prefab models | `ui-component-package` | [link](https://github.com/MSW-Git/MSWPackages/tree/main/ui-component-package) |

If multiple packages plausibly match (e.g. "ranking" → basic vs advanced), fetch both READMEs and let the user choose based on the comparison.

---

## Scope-First Routing (UI vs System)

When a request matches a catalog keyword but it is unclear whether the user wants the **full system** (data + logic + UI) or **just the UI screen**, ask ONE short question BEFORE fetching package files. Use the matching row from the table below.

| Request keyword | Question to ask |
|---|---|
| Ranking / leaderboard | "Do you need score saving and rank calculation too, or just the leaderboard screen?" |
| Inventory / bag | "Do you need add/remove item logic too, or just the slot screen?" |
| Shop / store | "Do you need currency deduction and purchase handling too, or just the shop screen?" |
| Mail / mailbox | "Do you need send/receive logic too, or just the mailbox screen?" |
| Quest / achievement | "Do you need progress tracking and rewards too, or just the quest list screen?" |
| Toast / notification | "Do you need the queueing/timing system too, or just the message popup?" |
| Dialog / NPC conversation | "Do you need branching dialogue and state too, or just the dialog window?" |
| Collection / dex | "Do you need collection state and progress tracking too, or just the dex screen?" |
| Player data / save | "Do you need persistence and load/save flow too, or just a profile screen?" |
| Anything else / unclear | "Do you need the working feature, or just the UI screen?" |

### Routing rule

Map the user's answer to a destination:

| User says... | Route to |
|---|---|
| "feature", "system", "logic", "save", "calculate", "handle", "process" | **Stay here (`msw-packages`)** — proceed to Fetch Protocol below |
| "screen", "UI", "look", "visual", "just the layout", "show only" | **`msw-ui-system` skill** (+ `references/templates/`) — pick a style template, then build via the UI builder |
| Low-level question (anchor, component property, enum) | **`msw-ui-system` skill** — answer directly via [`references/component-api.md`](../msw-ui-system/references/component-api.md) (incl. §Enums) / [`ui-fundamentals.md`](../msw-ui-system/references/ui-fundamentals.md), no fetch needed |

### When to skip the question

Skip the Scope-First question and route directly when the user's request is already explicit:

- "from scratch" / "just the UI" / "only the screen" → `msw-ui-system` skill (+ `references/templates/`)
- "full system" / "with backend" / "with data" / "save score" → stay in `msw-packages`
- Pure low-level UI question (e.g. "how do I set anchor?") → `msw-ui-system` skill

Only ask when the keyword matches a catalog package AND the scope is genuinely ambiguous.

---

## Fetch Protocol

When a candidate package is identified:

### 1. README first (always)

```
https://raw.githubusercontent.com/MSW-Git/MSWPackages/main/<package-name>/README.md
```

Use `WebFetch` to pull this. Summarize the public API and use cases for the user before going further.

### 2. File tree (when integration is likely)

Use the GitHub tree API and grep for the package path:

```
https://api.github.com/repos/MSW-Git/MSWPackages/git/trees/main?recursive=1
```

The response is large and may be truncated. Grep the response for `<package-name>/` to extract the file list. If truncated, fall back to per-directory tree calls:

```
https://api.github.com/repos/MSW-Git/MSWPackages/contents/<package-name>/MyDesk
```

Standard package layout:
- `<p

Related in Design