Better handle skills that apply upgrades to other components (e.g. health and energy)

The following discussion from !3006 (merged) should be addressed:

  • @pythonesque started a discussion: (+1 comment)

    If we ever add any other skills that do modifications, it might be good to break this case, rather than letting it fail silently. Could we instead have a fn modify_health() and fn modify_energy() on Skill or something, like we try to do for block kinds? I guess the same problem would apply there, but it's a little more likely for people updating the skills file to notice the function. Your call, I guess.