Instructions Are Advice. Hooks Are Rules.
Your instructions say "always run the linter after edits." Most of the time, that's exactly what happens, until the day it doesn't, and you find out later, from something else.
An instruction is a preference the model weighs, not a rule it's bound to. A hook is different: a script that runs automatically at a workflow point, whether or not the model would have judged it relevant this time.
So the test is simple. Does this need to happen every single time, no exceptions? If yes, it's not an instruction problem, it's a hook. And you don't have to write it: "write a hook that runs eslint after every file edit" gets you most of the way there.
Instructions are advisory. Hooks are enforced. Know which one your rule needs to be.