The explanation is a bit cumbersome, that's why I made it optional. What's there now is quick and dirty. My thinking down the road is I would keep track by user as to who was known not to need an explanation, and also offer incrementally more detailed explanations if the user has trouble with the joke protocol. I think that's most in spirit from my read of the UX guidelines.
I've definitely got some work to do on animations. I didn't want sampled human laughter, because Jibo's not a human. I'm experimenting with various synth sounds to get something more like computer-generated laughter. I've got a framework in place so I can just drop in new animations and they are instantly available to the skill - no need to change code - so I can easily (and would like to) have a lot of different laugh animations with a lot of variety. (long/short, noisy/quieter, sudden guffaws and quiet chuckles, if you will).
[If anyone wants to add animations, feel free to fork and pull request. Make sure you credit yourself in the README.md.]
Thanks for checking it out. I don't intend to put this one on the store when it's available - my intent is to keep it open source so people can get a free laugh from their Jibo on day 1.