Give the soft skills diminishing returns so players cannot grind them, but also still gain when they do actions because they actually need to. A cap per day is harsh. Those diminishing returns could be a counter that wears off as time goes by, so the gain for doing the action increases. Players that are actually using it as intended and not grinding gain full exp for said skill. While players who intend to grind receive a penalty for it. Gain should not be halted for everyone because some might grind. Also on that note for diminishing returns, while you don't want players to grind out skills, they shouldn't be fully punished for wanting to practice said skill. The idea would be that players who are using the skills normally will usually gain full or high exp unless they end up doing it more based on their current situation. While those who are grinding (practicing) gain less and less as they continue. This way you can actually gain more exp if you'd like to, but if you want to just sit and grind it's going to be tedious, boring, and not earn you very much for doing so compared to someone just doing it normally. An example is someone who played for a full day gained 100 exp using the skill normal, while a player who grinded the entire day gained 120. Due to diminishing returns, grinding would be a huge waste of time. 20 points over 24 hours is hardly worth the grinding. Though with the right breaks and time spent it would be possible to earn that little extra.