protocols.io has generated a guide protocol of best practices when writing a protocol. It can be found here. It includes tips for making your protocol more reproducible, discoverable, and user-friendly. I recommend reading this protocol in its entirety before getting started.