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.
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:
- `<pRelated in Design
contribute
IncludedLocal-only OSS contribution command center. Auto-refreshes the user's in-flight PR and issue state on invoke so conversations start with full context — no need to brief Claude on what's in flight. Helps the user find issues to contribute to on GitHub, builds per-repo dossiers of what each upstream expects (CLA, DCO, branch convention, AI policy, draft-first, review bots, issue templates), runs deterministic gates before any external action so AI-assisted contributions don't reach maintainers as slop. State is markdown-only: candidate files at ~/.contribute-system/candidates/, repo dossiers at ~/.contribute-system/research/, append-only event log at ~/.contribute-system/log.jsonl. No database, no cloud calls. Use when the user asks about their PRs / issues / contributions, wants to find new work to take on, claim an issue, build/refresh a repo's dossier, or draft a Design Issue or PR. Trigger with "/contribute", "what's my PR status", "find a contribution", "claim issue X", "draft a Design Issue for Y", "refresh dossier for Z".
architectural-analysis
IncludedUser-triggered deep architectural analysis of a codebase or scoped subtree across eight modes — information architecture, data flow, integration points, UI surfaces, interaction patterns, data model, control flow, and failure modes. This skill should be used when the user asks to "diagram this codebase," "map the architecture," "show the data flow," "give me an ERD," "trace control flow," "find the integration points," "verify the layout pattern," "audit the UX architecture," or any similar request whose primary deliverable is mermaid diagrams plus cited reports under docs/architecture/. Dispatches haiku/sonnet sub-agents in parallel for per-mode exploration, then verifies every citation mechanically before any node lands in a diagram. Not for one-off prose explanations of code (use code-explanation) or for high-level system design from scratch (use system-design).
mcp
IncludedModel Context Protocol (MCP) server development and tool management. Languages: Python, TypeScript. Capabilities: build MCP servers, integrate external APIs, discover/execute MCP tools, manage multi-server configs, design agent-centric tools. Actions: create, build, integrate, discover, execute, configure MCP servers/tools. Keywords: MCP, Model Context Protocol, MCP server, MCP tool, stdio transport, SSE transport, tool discovery, resource provider, prompt template, external API integration, Gemini CLI MCP, Claude MCP, agent tools, tool execution, server config. Use when: building MCP servers, integrating external APIs as MCP tools, discovering available MCP tools, executing MCP capabilities, configuring multi-server setups, designing tools for AI agents.
react-native-skia
IncludedDesign, build, debug, and optimise high-polish animated graphics in React Native or Expo using @shopify/react-native-skia, Reanimated, and Gesture Handler. Use when the user wants canvas-driven UI, shaders, paths, rich text, image filters, sprite fields, Skottie, video frames, snapshots, web CanvasKit setup, or performance tuning for custom motion-heavy elements such as loaders, hero art, cards, charts, progress indicators, particle systems, or gesture-driven surfaces. Also use when the user asks for fluid, glow, glass, blob, parallax, 60fps/120fps, or GPU-friendly animated effects in React Native, even if they do not explicitly say "Skia". Do not use for ordinary form/layout work with standard views.
plaid
IncludedProduct Led AI Development — guides founders from idea to launched product. Six capabilities: Idea (discover a product idea), Validate (pressure-test the idea against fatal flaws, problem reality, competition, and 2-week MVP feasibility), Plan (vision intake + document generation), Design (translate image references into a design.md spec), Launch (go-to-market strategy), and Build (roadmap execution). Use when someone says "PLAID", "plaid idea", "help me find an idea", "product idea", "idea from my business", "idea from my expertise", "plaid validate", "validate my idea", "pressure-test", "is this idea good", "find fatal flaws", "validate the problem", "plan a product", "define my vision", "generate a PRD", "product strategy", "plaid design", "design from image", "translate image to design", "create design.md", "extract design tokens", "plaid launch", "go-to-market", "launch plan", "GTM strategy", "launch playbook", "plaid build", "build the app", "start building", or "execute the roadmap".
nextjs-framer-motion-animations
IncludedAdds production-safe Motion for React or Framer Motion animations to Next.js apps, including reveal, hover and tap micro-interactions, whileInView, stagger, AnimatePresence, layout and layoutId transitions, reorder, scroll-linked UI, and lightweight route-content transitions. Use when the user asks to add, refactor, or debug Motion or Framer Motion in App Router or Pages Router codebases, especially around server/client boundaries, reduced motion, LazyMotion, bundle size, hydration, or route transitions. Avoid for GSAP-style timelines, WebGL or 3D scenes, heavy scroll storytelling, or CSS-only effects unless Motion is explicitly requested.