Savagery bugs out with cooldown

I’m trying to make a melee ability that restores the caster’s energy, after much fiddling with different templates I’ve finally managed to get this working by using an autocast self buff, but my understanding is that autocast interferes with celestial powers so I would like to find another method if possible.

One of my earlier attempts was to use a savagery clone aka skill_weaponpool_chargedlinear but replacing the damage buff with an energy regen one, this works… until I add a cooldown to the ability which seems to make ability malfunction and the buff/charge only seems to last for a single frame.

Any idea how to get skill_weaponpool_chargedlinear to work with a cooldown? or another way to accomplish the same thing without using autocast?