An extension is basically a web page, so you could have buttons for creating characters or using abilities, and even display any graphics for each user if you wish.
You would need some sort of backend server to store the data for each channel rather than the streamers loading the data from a file.
I’d suggest browsing some of the existing extensions on Twitch to get an idea of what they’re capable of and the sort of things people have done with them so far, it’ll give you a better understanding of how to go about it if you decide to create an extension for your idea.