Pete,
That's an interesting question. Currently, I am integrating some of the automatic heal spell code you shared with me a while back, but it will only apply to classes that aren't already hardcoded (hybrids, etc...). It's not done though, because it's summer and I've been spending more time with the family.
The reason I hardcoded the Cleric and Druid heals specifically, is I want them to be raid healing capable, or at least have some smart situational logic. Instead of relying on the user to know what heals to use when, I wrote the plugin to know which heals to use when... So, based on HPs, etc... the healer will use certain heals without the user even knowing how to play that healer class. All they have to do is memorize some heals... Of course, I wrote some code to take care of the spell set too, but I haven't implemented it for the healers yet (just my wizards at 105). They don't take care of curse/disease/poison though (I wonder if I should work on that? Might be easy for MQ2 bots, but difficult for a raid scenario)...
I did the shaman as well because someone requested it. I am not sure whether the shaman would perform well in a raid, but should be fine in a group... In order to support that raid requirement, they have to be able to spam heals on the main tank in an "ideal" order, regardless of the order the player memorized the spells. I went based off my guild's (at the time) recommended spell rotation for a level 100 cleric, and worked my way to 105, then backwards. I use the same spell rotation on alt raids (current content) when I play my cleric.
I know, there's a huge downfall to this approach... The plugin has to be updated every time there's a level increase, or new spells are released (much like MQ2Melee), and it uses a lot more space (but, really, what's 1 MB these days).
As always, I am open to suggestions.