Toast hazelnuts in a 350 degree oven for 10-15 minutes.
Wrap them in a clean dish towel, then rub vigorously to remove loose skins (I only rub them for 20 seconds or so to remove the loosest skins - most skins remain on which adds a little more fiber and a nice texture to the nut butter).
Place toasted hazelnuts in a food processor with standard chopping blade in place. Pulse for a few minutes, until the mixture resembles coarse crumbs that are slightly moist (dry crumbs will appear first, then the oils will begin to release from the nuts adding some moisture).
Gradually add coconut oil, then honey and vanilla, pulsing as you go (mixture should resemble a thick paste after these additions).
Gradually add cacao powder and sea salt, pulsing as you go.
If you like a thicker nut butter, transfer to a storage container at this stage.
To get a more spreadable nut butter like that shown in the picture, transfer the mixture to a stand mixer and gradually add 3 Tbsp water while whipping on high speed.
(Makes about 1 cup)