One possible design is to have the skills directly attached to types of things. You don't just have a general 'weapon' skill, but for each kind of weapon and the way you use it (ie- there are many kinds of swords and styles of using each one)
Next is where use of particular items used as tools are gateways to doing different activities/environments in your game world .
An example would be learning how to make an effective torch (as well as how to light and hold it). Try going into a cave carrying a glowing hunk of wood or a handful of burning brush and see how far you get. So exploring caves (or running through rough terrain on a moonless night) is made possible (as is setting a grass fire to drive an animal/ herd over a cliff).
Ropes to assist with climbing (or making snares or a 'tripwire' trap)
Making a shaft straightener tool for better arrows (and using it)
Preserving food for a journey and effective water containers for unfriendly terrain that needs traversing
Shoes/foot protection
Clothing
Boat...
Riding...
So the majority of skills (to be acquired/increased) would be for specific uses of specific tools, while some general overall skills are modifiers for that.
Such a system DOES take alot of programming logic (particularly when multiple overlapping skills are involved) for a wide range of actions (and their interaction with the terrain/prop objects). Obvious patterns of specialization for higher skill levels (which since you shouldnt have them all then requires interactions with NPCs or other players to have access to the results of higher skills).
A templated approach to the logic might alleviate alot of work (and leave more effort for handling all the complex end-cased)