This is what I use. Fairly rudimentary, but up to date for SC 2.43.
Code
<?xml version="1.0" ?>
<spellcast xmlns:xi="http://www.w3.org/2001/XInclude">
<config
requireversion="2.42"
debug="false"
showgearswaps="false"
/>
<variables>
<var name="SJEarring">Kemas Earring</var>
</variables>
<sets>
<group default="yes" name="Standard">
<set name="Engaged">
<head>Unkai Kabuto +1</head>
<neck>Chivalrous Chain</neck>
<lear>Brutal Earring</lear>
<rear>$SJEarring</rear>
<body>Unkai Domaru +1</body>
<hands>Dusk Gloves</hands>
<lring>Ulthalam's Ring</lring>
<rring>Rajas Ring</rring>
<back>Atheling Mantle</back>
<waist>Swift Belt</waist>
<legs>Unkai Haidate +2</legs>
<feet>Dusk Ledelsens +1</feet>
</set>
<set name="WSkill" baseset="Engaged">
<head>Varangian Helm</head>
<body>Kirin's Osode</body>
<hands>Pallas's Bracelets</hands>
<lring>Spiral Ring</lring>
<back>Vigilance Mantle+1</back>
<waist>Warwolf Belt</waist>
<feet>Perle Solerets</feet>
</set>
<set name="FastCast">
<head>Unkai Kabuto +1</head>
<hands>Dusk Gloves</hands>
<waist>Swift Belt</waist>
<legs>Unkai Haidate +2</legs>
<feet>Dusk Ledelsens +1</feet>
</set>
<set name="Ranged">
<ammo>Demon Arrow</ammo>
<head>Optical Hat</head>
<neck>Arctier's Torque</neck>
<body>Kirin's Osode</body>
<hands>Seiryu's Kote</hands>
<lring>Behemoth Ring</lring>
<back>Amemet Mantle +1</back>
<legs>Dusk Trousers</legs>
</set>
<set name="Meditate">
<head>Myochin Kabuto</head>
<hands>Saotome Kote</hands>
</set>
<set name="Idle">
<hands>Seiryu's Kote</hands>
<feet>Perle Solerets</feet>
</set>
<set name="Resting">
</set>
<set name="GearCollector">
<item>Kemas Earring</item>
<item>Snow Gorget</item>
<item>Light Gorget</item>
<item>Light Belt</item>
<item>Keitonotachi</item>
<item>Soboro Sukehiro</item>
<item>Beursault Bow</item>
<item>Quint Spear</item>
<item>Thew Bomblet</item>
<item>Platinum Grip +1</item>
<item>Pole Grip</item>
</set>
</group>
</sets>
<rules>
<if mode="or" status="engaged" tpgt="6">
<disable slot="main|sub|range" />
</if>
<else>
<enable slot="main|sub|range" />
</else>
<if skill="*Magic|Ninjutsu">
<equip when="precast" set="FastCast" />
</if>
<if spell="Meditate">
<equip when="precast" set="Meditate" />
</if>
<elseif type="Weaponskill">
<if SpellTargetDistanceGT="5" notspell="Sidewinder|Namas">
<command>input /echo Too far away. Cancelling skill.</command>
<cancelspell />
<return />
</if>
<equip when="precast" set="WSkill" />
<if spell="*Gekko|*Yukikaze">
<equip when="precast">
<neck>Snow Gorget</neck>
</equip>
</if>
<elseif spell="*Kasha">
<equip when="precast">
<neck>Light Gorget</neck>
<item>Light Belt</item>
</equip>
</elseif>
<elseif spell="*Rana">
<equip when="precast">
<neck>Snow Gorget</neck>
</equip>
</elseif>
<elseif spell="Sidewinder|Namas*">
<equip when="precast" set="Ranged">
<neck>Light Gorget</neck>
<item>Light Belt</item>
</equip>
</elseif>
</elseif>
<elseif skill="*Jump">
<equip when="precast">
<body>Kirin's Osode</body>
<lring>Spiral Ring</lring>
<waist>Warwolf Belt</waist>
</equip>
</elseif>
<elseif skill="*Waltz">
<equip when="precast">
<body>Kirin's Osode</body>
<lring>Spiral Ring</lring>
<waist>Warwolf Belt</waist>
</equip>
</elseif>
<elseif commandprefix="/range">
<aftercastdelay delay="8" />
<equip when="precast" set="Ranged" />
</elseif>
<elseif spell="autoset">
<equip when="idle" set="Idle" />
<equip when="engaged" set="Engaged" />
<equip when="resting" set="Resting" />
</elseif>
<equip when="aftercast" set="%Status" />
</rules>
</spellcast>