There is definitely a middle ground.
For instance, in the game I’m writing, types of magic are skills, or require complex rituals (basically skill challenge), in a system where you cannot ever get guaranteed success (only statistically very probable success).
In this system, each skill describes the sorts of things it can do, and what general principles underpin it. Then, you use skills like the physics engine in Gary’s Mod. The limits are scale and frequency of use, with spendable tied to attributes to overcome either limit or just juice a check into greater levels of success.