Procedural Skinned mesh?

I understand what the SkinnedMeshRenderer does. I also understand how I can create a Mesh, and have it rendered through a MeshFilter. However, what I want to do is create a skinned mesh -- at runtime. The mesh class has vertex channels for position, normal, texture coordinates, color and tanget, but no vertex channel for bone index or weight.

Suppose I have a game that will download data at runtime, and this data will be in the form of a vertex buffer that contains position, normal, texture coordinate, bone index and bone weight data. How should I go about rendering this data in Unity? (I don't want to calculate the skinned mesh output "by hand" in JavaScript or C#; I want to use the built-in optimized skin rendering)

The mesh class has vertex channels for position, normal, texture coordinates, color and tanget, but no vertex channel for bone index or weight.

Yes, it does. Mesh.boneWeights, also Mesh.bindPoses; see the docs.