Some thoughts:
Did you remember to use the float conversion with floatv?
As you use a texture lookup this is most likely a pixel shader. Hence InNormal is already in viewspace. Is that also true for vecSkill1? You have most likely set it in world space, didn't you?
You don't need the detour via redskill etc. and dynlight. You can use vecSkill1 directly as a vector afaik.