Heres templates with comments for mlo ytyp, ymap and manifest:
Looking on comments in above templates will help you to create custom instance.

Frequent mistakes made:
In ymap name of shell instead collision
In ymap always put collision name not shell

In ymap <contentFlags value="0"/> or <contentFlags value="1"/>
In ymap content flag must be always <contentFlags value="73"/>  - its flag for interior

Missing collision definition in ymap: <physicsDictionaries/>
It must contain collision name like this:

Wrong number of exit portals in ymap <numExitPortals value="x"/>
It must contain exact number of exit portals like in ytyp Limbo

Missing room id in collision
In collission must be definied id room/rooms on floor

Shell not attached to limbo or wrongly attached to room.
Shell always is attached to limbo

Wrong numbers of portals (portalCount) in rooms.
Rooms contains portalCount of all portals (floor, mirror too), while limbo only exit portals.

Wrong boundaries for ymap, limbo/rooms.
Boundaries for ymap can be calculated by CodeWalker or you can set it manually but must be biig enough to display mlo instance, for limbo and rooms you need to set it manually (im using boundaries from shell)