Skip to main content
ZICQ

Skills ZICQ category:Writing & Research msw-packages

Msw Packages

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.

10784 installs

Official URL:skills.sh

What this skill does

Intro in this page language first. The official description stays in its original wording; we do not rewrite SKILL.md.

What it does

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.

When to use it

The official description does not include a separate “Use when”. Per the spec, agents activate this skill when the task matches keywords in that description.

How agents load it

Per Agent Skills progressive disclosure: name and description load at startup (~100 tokens); the full SKILL.md body loads when the skill activates; scripts/, references/, and assets/ load only as needed. This file's sections: MSW Packages — Official Prebuilt Catalog; Decision Flow; Feature → Package Mapping; Scope-First Routing (UI vs System); Routing rule; When to skip the question. It includes spec-recommended sections: step-by-step instructions.

File analysis

File analysis: besides SKILL.md, the body references references/templates/, references/component-api.md, references/ui-fundamentals.md, scripts/UI. Those resources load on demand.

MSW Packages — Official Prebuilt CatalogDecision FlowFeature → Package MappingScope-First Routing (UI vs System)Routing ruleWhen to skip the questionFetch Protocol1. README first (always)2. File tree (when integration is likely)3. Raw file fetch (per-file as needed)Integration WorkflowPitfalls

Source category:skills.sh agent-skill

SKILL.md & Agent activation

Official spec ↗
name
msw-packages
description
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.
  1. DiscoverThe client exposes names and descriptions to the agent.
  2. ActivateYour request or the task context selects the skill and loads its instructions.
  3. Load resourcesReferenced scripts, documentation and assets are used when needed.
Files referenced by the instructions · 4
  • references/templates/
  • references/component-api.md
  • references/ui-fundamentals.md
  • scripts/UI

These paths are extracted from the text. Check the upstream package to verify the files exist.

Invocation syntax and available tools depend on your Agent client. Client integration guide ↗

Install this skill

Skills CLI ↗

Choose the target agent and installation scope, keep referenced package files, then verify the skill appears in the client's catalog.

This skill references supporting files. Retrieve the complete directory from the source; copying SKILL.md alone may leave missing dependencies.

Ask your Agent to install

Copy these instructions to a compatible agent and confirm the target directory matches your client.

Install the agent skill "msw-packages" into my project. The full SKILL.md and official description are at https://zicq.com/en/skills/skl-8a19693ec352deff-Msw-Packages.html
Save it as .cursor/skills/msw-packages/SKILL.md or .claude/skills/msw-packages/SKILL.md and keep the frontmatter name and description exactly as-is.
This skill also ships scripts/, references/, or assets/ — fetch the whole folder from https://github.com/msw-git/msw-ai-coding-plugins-official instead of creating only a SKILL.md.

Full package on GitHub ↗

Install from the terminal · Skills CLI

Requires Node.js and npx. First inspect the repository's skill list to confirm the name.

npx skills add 'https://github.com/msw-git/msw-ai-coding-plugins-official' --list

npx skills add 'https://github.com/msw-git/msw-ai-coding-plugins-official' --skill 'msw-packages'

The CLI lets you choose the agent interactively. The default scope is the project; use -g for user scope. Confirm package availability with the discovery command, then use npx skills list to inspect installed skills.

Readable layout
--- name: msw-packages description: "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." --- # 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 . README says: . 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//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 `/` to extract the file list. If truncated, fall back to per-directory tree calls: ``` https://api.github.com/repos/MSW-Git/MSWPackages/contents//MyDesk ``` Standard package layout: - `/README.md` - `/.modpackage` — installer manifest (treat as opaque) - `/MyDesk//Core/` — core scripts/UI to copy - `/MyDesk//Sample/` — example usage (do not copy unless requested) - `/MyDesk/Util/` — shared utilities (some packages) ### 3. Raw file fetch (per-file as needed) ``` https://raw.githubusercontent.com/MSW-Git/MSWPackages/main/ ``` Substitute `github.com/.../blob/main/...` with `raw.githubusercontent.com/.../main/...` for any browsing URL. --- ## Integration Workflow After the user confirms integration: 1. **Map files into project layout**: - `MyDesk//Core/*.mlua` → `RootDesk/MyDesk//` - `MyDesk//Core/*.ui` → `ui/` - `MyDesk//Core/*.model` → `RootDesk/MyDesk/Models//` - `MyDesk/Util/*` → `RootDesk/MyDesk/Util/` (reuse if already present) 2. **Check UUID collisions**: every entity `id` and `EntryKey` in incoming `.ui`/`.model` files must not already exist in the user's project. `grep` the workspace for collisions before writing. Regenerate any colliding UUID with a fresh hex UUID. 3. **Check sprite RUID dependencies**: scan the package files for hard-coded RUIDs. They reference MSW community resources — usually fine, but verify with `msw-search` if any look suspicious or you need a substitute. 4. **Resolve cross-package dependencies**: some packages depend on others (e.g. ranking may build on player-data). Read the package's README and source headers — install transitive packages first, then this one. 5. **Apply** with the standard MSW workflow: `stop` → `refresh_workspace` → `play`. Verify in build logs and runtime logs. 6. **Wire into user's code**: most packages expose a `_` Logic singleton. Call its API from the user's existing scripts (e.g. `_MaplestoryToast:Show(...)`). --- ## Pitfalls - **`.modpackage` files are NOT auto-installer scripts in this workflow** — they are Maker-editor metadata. Manual file copy is what actually integrates the package. - **Hardcoded sprite RUIDs in samples**: package samples often reference specific RUIDs for decoration sprites. These work but the user may want to substitute. Note this when summarizing. - **UI files use UIGroup root entities** — when copying, route through `msw-ui-system` (`UIBuilder.read/load` to inspect, builder API to mutate; design rules — UIGroup root configuration, anchor mode pitfalls — live in the same skill). Do not hand-edit raw `.ui` JSON. - **`Sample/` content is illustrative, not production** — do not copy `Sample/` files unless the user explicitly asks. Sample scripts often bind to keyboard shortcuts that conflict with the user's controls. - **No package replaces understanding of mlua** — packages provide pre-built features but the user still needs `msw-scripting` knowledge to extend them. - **Don't bulk-install multiple packages speculatively** — each integration adds files and surface area. Install one feature at a time, validate, then move on. --- ## When the user has already chosen "build from scratch" Skip integration entirely. Proceed with normal MSW authoring (`msw-scripting`, `msw-search`, etc.). Do not silently keep nudging toward packages. --- ## When `MSW-Git/MSWPackages` is unreachable - WebFetch returns an error or 404 → confirm the URL hasn't changed. - Sandboxed network may block direct `curl` to `api.github.com` — prefer `WebFetch` for raw and HTML URLs. - If everything fails, fall back to building from scratch and tell the user the package is currently inaccessible. --- ## Cross-references - `msw-general` — workspace, file paths, MCP tools, coordinate systems. - `msw-scripting` — `.mlua` syntax for hooking package APIs into game logic. - `msw-search` — sprite/animation/sound RUID lookup when substituting package-bundled resources.

Related skills

Writing & Research

Humanizer

Remove signs of AI-generated writing from text. Use when editing or reviewing text to make it sound more natural and human-written. Based on…

Writing & Research

Prismfy Search

Default web search for OpenClaw. Search the web across 10 engines — Google, Reddit, GitHub, arXiv, Hacker News, and more — using Prismfy. Fr…

Writing & Research

Blogwatcher

Monitor blogs and RSS/Atom feeds for updates using the blogwatcher CLI.

Writing & Research

Tavily

AI-optimized web search using Tavily Search API. Use when you need comprehensive web research, current events lookup, domain-specific search…