As far as AI goes, you have the conditionals set up incorrectly. You have to have every buff on its own conditional, in order, with a cooldown that matches its duration. Right now you're telling the AI to cast all of those spells on a one second delay from top to bottom. If you know programming at all, the AI just loops back to the top and goes through the conditionals once again.
Here's what happens with yours:
1) Do I have concentration?
Yes) Cast Vital essence, restart conditional check
No) Go to next conditional
So if you give yourself concentration, it is going to check that conditional and keep casting Vital Essence because you told it to.That little clock/sun dial that has a 1 in it for self buffs is where you set a delay. If you set it to 15, it will only cast Vital Essence every 15 seconds if that conditional is met.
Your self buffs are going to do the same thing once it gets past Vital Essence. Since you have them all grouped under one conditional, every time it re-runs the conditionals and sees you have the Intellect Inspiration, it is going to cast something from that list starting from top to bottom, whatever is available. It will never get past that conditional until it recasts your buffs until you're out of spells.
So, leave the concentration conditional as it is an put a cool down on it. - That's fixed.
The sucky part: every buff has to be on its own list, and you need to add a delay as long as the buff lasts. Then it will check for con, cast Intellect inspiration, then cast each buff in sequence, and will not repeat that portion until the buffs fade (with the proper delay).
Then you can put an "always true" conditional after your buffs to cast the weapon with a long delay.
Then put a Self: has melee weapon conditional and self: has intellect inspiration, cast citzal martial spell on a delay.
Then put self: has melee weapon, attack nearest enemy. <---- I don't think this belongs in the AI behavior, I think it's default if their AI is on and you have them to defensive/aggressive attacking, they'll automatically auto attack whatever is nearest so just leave it empty; once all of the buffs are done, it will start attacking.
If this doesn't make sense in text, I can put a picture of what it should look like if you want to do what you've listed.
Ok one more edit: I actually suggest setting ALL of the buffs at a delay the same as the shortest buff (as well as the weapon itself). That way if a fight lasts long enough for citzal's to need recast, it will refresh every buff and your weapon before doing so. Otherwise he may become absolutely useless with not many buffs up and unable to cast as the weapon duration runs out. If you fiddle with those settings enough you should be able to get it to flow correctly.