Alright, so this proposal involves leveling up skills in order to unlock skills in higher tiers. In this system, skills gain exp slowly per use, and levels up when exp reaches 100%. Obviously, higher levels of a skill will improve its capabilities. The skill will then have a level cap equal to the character's level, or maybe twice the character's level to prevent the overpowering of a single skill.
For example we have:
Fireball -> Inferno -> Dragon's Breath
Fireball, being the first in the skill tree, is learned, and can be used, at character level 1.
Inferno will then have a set of requirements such as: Character Level 10, Fireball level 5.
Dragon's breath will then have a higher set of requirements: Character level 18, Inferno level 15, Fireball level 10
Now, the lower-tier skills give bonuses to higher-tier skills. For instance, if Fireball is at level 10 or above, Inferno damage is increased by 10%. Then if Fireball is at level 20 or above, it adds another bonus to Inferno, such as a 1 second stun per cast. In effect, players would try to level up the lower-tier skills even when they have already unlocked high-tier skills in order to get the bonuses
The skill trees don't have to be linear. Fireball could branch out into two skills, and those two might branch out further so players could choose which skills to master in the tree.