The only errors I can think of there would be if somehow the Game_Message#add method was changed, or the Vocab::ObtainSkill constant was changed.
Go to line 42 of Vocab (the first module in the script editor), and make sure there is only one %s in there. I'm using my own shoddy translation of the Japanese version, and I have that line as: ObtainSkill = "learned %s?", I'm not sure if that's what the English version has.
I now want you to check the Game_Message class. Go to line 56. It should read: def add(text)
If that's all fine, then a custom script is overwriting the Game_Message#add method. If this is the case and you don't know how to fix it, post your custom scripts here. It's probably just an extra argument without a default.
And yes, this was the right forum.