yeah, I'm finding self really isn't meant to be used in this way. Shame. It's meant to be passed to other scripts and functions versus being used to manipulate the attached object. I keep thinking there's go to be a function like self.GetOwningObject() that would let you use it like this... I don't think GetParent() would work, but haven't tried, i don't think that's the relationship between the script and it's object.
What's wrong with making your own and adding packages? That's probably the way I would have gone anyways

To be honest the whole encounter I made was mostly an exercise in confining all the actions to script to keep it tiny in scope. Doing that actually helped out with moving on to stuff I'm working on now.
Seems like 80% of scripting in this game, once you get the basics down, is just trying to find the reference you're looking for lol. The doing stuff and controlling the flow is cake compared to having to go through all the hoops to find the references involved. Just look at the web of links and reference properties in the three phase encounter thing if you're still using it. Lots of reference properties is not terribly memory friendly when you start having hundreds and hundreds throughout the game.
You could also get rid of the Startattack in that script and use a defaultLinkRefStartCombatPlayer trigger. You place the trigger, link it to the skeever, and On load(I think it's Onload, check the script) the linked actor will attack the player.