What you say you need can be done trough events, and i use common events for that, i can't remember it all as i have it all set up, but after school tomorrow i'll look over and give a full explanation, for now, a simple one
The start is to make a two variables (Name one EventLevel the other EventEXP), one to contain exp and one to contain level. Whenever the object (Fishing, mining etc.) you'll just use common events to run it. There you'll add a conditional branch going "EventLevel / else". In else you input so that you earn exp and once you reach level 10 it will read "EventLevel", here you just copy what's in the "Else" tab, but remove the exp variable so that you need to level at something better.
If you want it to be with weapons, it'll depend on what system your running (fighting), for normal RMXP battles, just make the page read weapons in the game in conditional branches (item / else -> input item / else till all weapons are covered), when the battle is over, it'll read the weapon your using and give exp to it, and in the else tab on the conditional branch for weapons you'' be able to add "EventLevel5", so that when you reach level 5 you'll eventually learn a new skill.
Now, i'm not the best to explain things, but i do hope you understand, and if not, feel free to tell me about it and i'll get a friend to help me explain xD
-Sincerely, Nub Cake