In total, it doubles: 15% is the maximum level of enhancement due to the skill, and the same amount is given by the enhancement due to the hero's ability.
And, of course, not 5% per hero level! Otherwise, at level 20, the spells would deal 115% damage!! (+15 - skill, which will be maxed out by level 20)
But this is not observed; the skill increases by 5% per skill level, and therefore, in the end, it turns out to be doubled.
For example, Sandro has a basic level of the secondary skill, which gives +5% to the power of his offensive spells. For each level gained, Sandro gains +5% to the skill value,
i.e., 5% (basic) +5%*1 (Level 1) = 5.25% (and not 10%, as you think)... At level 20, we have 5%+(5%*20)=5%+100%=10%. (The increase is highlighted in red, i.e., +100% is the doubling).
That is, the general formula looks like this:
Damage bonus = (5/10/15%) * (1+0.05 * L), where L is the hero's level.
The maximum level is 108, so the maximum bonus for Sandro is 15%*(1+0.05*108)=96% to the power of offensive spells...
