Including Shaders in Asset bundles results in missing graphics

I have several Spine animations included in asset bundles, along with them I include their materials, textures and various Atlas files.
The actual Shader is the Spine/Skeleton shader and kept separately in the main project.
For whatever reason the shader invariably comes back as Missing when the assets are loaded in-game. Re-assigning it once loaded works fine, but it’s not really a long-term solution.

I’ve been reading similar-ish reports of this problem for the past few hours, most of them are years old and none of them seem to have firm solutions. either hacky workarounds (like attaching a script to the prefabs to rebind the shader on the fly) or including the shader in its own asset bundle.

Is there a way this is meant to be done?

You should store them in Always-included Shaders

It is important to add shaders used by streamed AssetBundles to this list to ensure they can be accessed.