Need to quickly change your skin without going to minecraft.net? Or do you want per world-specific skin in your singleplayer world / server?
Fabric Tailor
A server-side or singleplayer skin & cape changing / restoring mod. All with one simple command (on server):
/skin
Or with keybind k (on client).
It supports skin fetching via player's name as well as via URL. If you use player name, cape is fetched as well (if player has one). Not fan of existing skins? No problem, mod supports uploading skin from local storage as well.
As a side feature, it also requests textures from ely.by and mojang to work like skin restorer for server / singleplayer.
If installed on client / singleplayer, you can use gui to set caoe as well! (If playing on server, it needs to use fabrictailor as well.)
Capes
If you don't like capes, you can also disable them (for everyone) in generated config.
Using Forge?
FabricTailor works with Connector mod (that you can install for forge, it will load fabrictailor then), you just need to use ForgifiedFabricApi. Happy skin forging!
Who sees what?
Scenario 0 +
Scenario 1, but capes & HD skins will be visible to everyone
Servers