Not sure if you can do the above, but what I did was to have a daily rule that creates a CTA for "once in a lifetime" on accounts that have a CSM. That way, every day when the rule runs it will check on those accounts that have a CSM assigned and create the CTA once in a lifetime (so it will only run once for that account). Not super efficient but it does the trick. :-D
We use a date formula for when a field changes. So, if you have a field that holds the assigned CSM (whatever format is fine), you would just need to make a new field that logs a date for whenever that changes. Ours is "Last Account Owner Date Change". Then you could trigger a CTA off of when that date = Rule Date, and run-on cron schedule every 2-hours.
I'll clarify that our Ops team is very willing to add stuff, so I didn't do that myself. Might not be as easy as I think it is, but that is our workflow anyway.