msw-behaviourtree

Generates and validates MSW .behaviourtree files with project-scanned node catalogs and Blackboard wiring.

Updated Sep 11, 2026
One-click install
npx skills add https://github.com/yoongang02/MapleFist --skill msw-behaviourtree-yoongang02
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: msw-behaviourtree
Source: https://github.com/yoongang02/MapleFist/tree/main/.agents/skills/msw-behaviourtree
Command: npx skills add https://github.com/yoongang02/MapleFist --skill msw-behaviourtree-yoongang02

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) components.

What problem does it solve? Authoring MapleStory Worlds .behaviourtree files by hand is error-prone: custom node UUIDs, version-stamped type strings, and strict parent/child graph rules must all match the project exactly, or the tree silently breaks. This Skill automates the full authoring workflow, from scanning the project for BT codeblocks to writing a validated tree file. ## Core Features & Use Cases - Project spec generation: Runs scripts/build-spec.cjs to scan every .codeblock whose paired .mlua extends ActionNode or DecoratorNode, producing a bt-spec.md catalog of definitionIds, property keys, and CoreVersion-stamped type strings. - End-to-end tree authoring: Builds the complete JSON graph — RootNode, Nodes, Blackboard variables, and nodeProperties — following fixed skeletons and hard graph constraints (decorator chaining, single start node, layout positions). - Self-validation: Applies a checklist covering UUID consistency, bidirectional parent/child references, version cross-checks, and JSON parseability before reporting done. - Use Case: A developer adds a new Chase action codeblock to their MSW project and asks for a patrol-and-chase behavior tree; the Skill rebuilds the spec, resolves the real codeblock UUID, and writes a valid .behaviourtree wired to Blackboard variables. ## Quick Start Ask the AI to create a behaviour tree named PatrolAndChase in your MSW project using the Chase and MoveTo action nodes with a TargetEntity Blackboard variable.

Frequently Asked Questions about msw-behaviourtree

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I create a behaviourtree file in MapleStory Worlds?

Run the build-spec.cjs script against your MSW project root to generate a bt-spec.md catalog of available action and decorator nodes, then assemble the tree JSON using the provided skeletons. The Skill resolves definitionIds from real .codeblock files and validates the graph before writing.

How do I add custom action or decorator nodes to a behaviour tree?

Custom nodes come from .codeblock files whose paired .mlua declares `script X extends ActionNode` or `extends DecoratorNode`. After creating them in the Maker BT editor, re-run the spec builder so their UUIDs and property names are cataloged, then reference them by name in the tree.

Why does my behaviourtree fail to load after a CoreVersion update?

Every MOD.Core.* type string in Blackboard variables and nodeProperties embeds a Version=X.Y.Z.Z tag that must equal the project's current CoreVersion. After a version bump, re-run the spec builder and regenerate the tree so the stamped type strings match.

Can multiple decorators wrap the same action node in a BT?

Yes, but they must be chained, not placed as siblings. Each decorator's decoChildNodes points to the next decorator, forming Composite → DecoratorA → DecoratorB → Action, with each decorator having a unique parent within that chain.

What are the limitations of authoring BT codeblocks with this Skill?

The Skill cannot create new .codeblock/.mlua node pairs directly; those must be authored in the Maker BehaviourTree editor GUI first. It only generates the .behaviourtree graph files that reference existing nodes discovered by the spec scanner.