I'm working on a cyoa engine, similar to the interactive slut life one, but would work with multiple games.
You'd be able to load different xml files which would define different CYOAs, and then it would load all the options and everything accordingly.
For example, here's the one that I've created so far to emulate Slut Life. https://pastebin.com/0w0wgekc
The format definitely isn't set in stone, however that's going to be the basic structure
I've ripped the html and css template directly from the slut life interactive thing, since I didn't really want to spend much time messing around with it, but I might end up replacing them with something new
Currently it's only very basic in implementation, I've gotten basic option selection working but things like only selecting one in a group still doesn't work.
I can't really examine how the existing interactive CYOA engine works, since it's 10k+ minified lines of code which is undecipherable