Where's the skin entry point? Is it the PHP class specified in skin.json -> ValidSkinNames.exampleSkin.class? If so, what method of that class is called by default?
Topic on Manual talk:How to make a MediaWiki skin/Flow
I'm not sure I understand the question.
ValidSkinNames will register your skin.
The class you specify there will extend class Skin which will define an outputPage method which will echo the contents of the body HTML tag of the page.
Much of this is abstracted. For example if you use SkinMustache (the recommended way), this will render the content of skin.mustache with the template data returned by SkinMustache::getTemplateData().
Does this answer your question?
Yes, that makes sense, thank you. So for a Mustache skin, it looks like MW checks skin.json, loads the templateDirectory/template.mustache specified there, and fills it with data from the PHP class specified there, specifically its getTemplateData() method. Not super intuitive, but makes sense once explained. Maybe I can make this a little more prominent in the documentation or comments somewhere.