.agents/skills/sc2data-wizards/SKILL.md
SC2 Data Editor — Wizards for automating complex or repetitive data creation/modification in XML. Use when creating .BlizWiz XML files to define templates for generating catalog entries (units, abilities, effects, actors, etc.) with user inputs, conditions, validations, and macros. Covers wizard elements (input, entry, condition, validate, macro), string evaluation (tokens, catalog references, arithmetic), and file placement. Always reference the Data Wizard Documentation for syntax. Do not use for direct data editing (use other sc2data-* skills) or Galaxy scripting.
npx skillsauth add KimPlaybit/Ultrasikism sc2data-wizardsInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Wizards are XML-based templates (.BlizWiz files) that automate the creation and modification of catalog entries in the SC2 Data Editor. They provide a dialog interface for user inputs, generate multiple related entries, enforce rules, and standardize complex data workflows. Wizards are loaded from user folders, maps, or mods, and can be run from the Data Editor menu.
| Resource | URL | |---|---| | Data Wizard Documentation | https://sc2mapster.wiki.gg/wiki/Data_Wizard_Documentation | | Wizard Tutorial | https://sc2mapster.wiki.gg/wiki/Data/Wizard_Tutorial | | SC2Mapster wiki | https://sc2mapster.wiki.gg/ | | ShadowDragon Base.SC2Data (example wizards) | https://github.com/ShadowDragonSC2/Base.SC2Data/tree/main/EditorWizards |
When editing .BlizWiz XML, always run this loop until diagnostics are clean:
EditorWizards.If a user asks to fix wizard XML errors, perform this end-to-end workflow rather than only describing it.
File placement: Wizards use
.BlizWizextension. Place inEditorWizards/folder in user game directory, or inside map/mod archive. Reload automatically on file changes.
File: MyWizard.BliZWiz
Root element is <wizardfile>, containing one or more <wizard> elements:
<?xml version="1.0" encoding="utf-8"?>
<wizardfile>
<wizard id="MyWizard">
<name>My Custom Wizard</name>
<description>Creates a unit with associated actor and effect.</description>
<category>Data/Custom</category>
<objecttypes create="Unit;Actor;Effect"/>
<!-- inputs, entries, conditions, etc. -->
</wizard>
</wizardfile>
Defines the wizard itself:
<name>: Display name in menu.<description>: Detailed description.<category>: Menu path (e.g., "Data/Custom").<objecttypes>: Supported types for create/load/view (e.g., create="Unit;Actor").<instructions>: Optional dialog instructions (per page).<hidden>: Hide from menu (for embedded wizards).User inputs for the dialog:
id: Unique identifier.type: Control type (e.g., WizardText, WizardMenu, WizardRadio, or any catalog type like int32, CStringLink).<name>: Label.<tooltip>: Help text.<default value="...">: Initial value.<item>: For menus/radios (with value and text).<condition>: Visibility conditions.page, column, etc.Example:
<input id="UnitName" type="string">
<name>Unit Name</name>
<default value="MyUnit"/>
</input>
Catalog entries to create/modify:
catalog: Type (e.g., "Unit").type: Entry type (e.g., "CUnit").<id>: Entry identifier (evaluated).<parentid>: Parent entry.<field>: Fields to set (with <value>, <index>, etc.).<token>: Tokens to set.<condition>: When to process.Example:
<entry catalog="Unit" type="CUnit">
<id>^UnitName^</id>
<field id="LifeMax">
<value>^HealthValue^</value>
</field>
</entry>
Boolean logic for UI/data flow:
input: Input to check.value: Required value.match: Comparison (equal, begin, end, contain).operator: Numeric ops (greater, less, etc.).logic: and/or/not.Example:
<condition input="HasShield" value="1"/>
Enforce rules:
type: error/confirm/warning.<condition>: When to validate.<text>: Message.Example:
<validate type="error">
<condition input="UnitName" empty="0"/>
<text>Unit name cannot be empty.</text>
</validate>
Reusable expressions:
id: Identifier.replaceSrc/replaceDst: Text replacement.truncate: Max length.Example:
<macro id="UnitId">MyMod_^UnitName^</macro>
Evaluated strings use ^tokens^:
^InputId^: Input value.^MacroId^: Macro value.ENTRYINDEX, VALUEINDEX, ITEMINDEX: Indices.ref=TYPE,ENTRYID,FIELDPATH or ref=TYPE,ENTRYID,FIELDPATH# for count.^Value1^ + ^Value2^.Example: <value>^BaseHP^ * 2 + 10</value>
type="Wizard:OtherWizardId" for sub-dialogs.<count> and ^VALUEINDEX^ for multiple fields.loadvalue and ^LOADID^ for editing.Always test wizards by running them in the Data Editor and checking generated XML against catalogsData.xsd.
data-ai
SC2 Data Editor — Units, Abilities, Movers, Turrets, Requirements, and Races in XML. Use when creating or modifying units (CUnit/CUnitHero), abilities (CAbilEffectTarget, CAbilEffectInstant, CAbilResearch, etc.), movement (CMover), turrets (CTurret), or tech requirements in GameData XML files. Always consult the catalogsData.xsd schema for exact fields and structure — do not assume unsupported fields exist. Do not use for Actors/visuals (use sc2data-actors-visuals), damage/effects (use sc2data-effects-weapons), or Galaxy scripting (use the galaxy-* skills).
data-ai
SC2 Data Editor — Effects, Weapons, Upgrades, and the damage chain in XML. Use when creating or modifying CEffect* (damage, search, apply behavior, launch missile, set), CWeapon, CUpgrade, or the full chain from weapon through to damage application. Also covers TargetFind, TargetSort, and Footprints. Always consult the catalogsData.xsd schema for exact fields and structure — do not assume unsupported fields exist. Do not use for actors/visuals (sc2data-actors-visuals) or unit/ability containers (sc2data-units-abilities).
testing
SC2 Data Editor — Behaviors (buffs, debuffs, auras, timers) and Validators (conditional tests) in XML. Use when creating or modifying CBehavior* (buff, attribute modifier, unit tracker, reveal) or CValidator* (unit type, unit order, comparison, combine) entries. Also covers behavior stacking, duration, Vitals modification, and how validators gate effects, abilities, and behaviors. Always consult the catalogsData.xsd schema for exact fields and structure — do not assume unsupported fields exist. Do not use for applying a behavior via an effect (use sc2data-effects-weapons) or actor visuals tied to a behavior (use sc2data-actors-visuals).
tools
SC2 Data Editor — Actors, visual effects, animations, sounds, and the actor event system in XML. Use when creating or modifying CActorUnit, CActorModel, CActorAction, CActorSound, CActorBeam, CActorSite, or any <On Terms="..." Send="..."/> event wiring. Covers actor creation, parent types, aliases, macros, death arrays, sound arrays, and all common actor messages. Always consult the catalogsData.xsd schema for exact fields and structure — do not assume unsupported fields exist. Do not use for game logic/damage (use sc2data-effects-weapons) or unit/ability data (use sc2data-units-abilities). Actors are client-side only — they cannot affect gameplay.