Unfortunately, asking questions is a painful topic. I would suggest running the Open Sesame example in the extension and then editing that to do what you want.
Questions and Hybrid Choices are the main options for this, yeah. If you want something simpler, “if the player consents” is built into core Inform and much easier to use, but it requires your questions to be phrased as yes/no.
You can use “if the player consents” any time you want.
Before jumping in the Playground:
say "Are you sure you really want to do this? Playgrounds are dangerous places.";
unless the player consents, stop the action.
Does if the player consents automatically set up a “Please type yes or no >” prompt? Is it exclusive, or can you input a different action to cancel?
It doesn’t print anything by default; you have to do that before calling the phrase. If you enter anything except “yes” or “no” (or “y” or “n”), it says “please enter yes or no” and repeats until you choose one or the other.
It’s a “blocking” phrase, meaning the code around it doesn’t continue executing until it’s gotten a response from the player, so it’s important that you not be able to enter anything else—if you could start a new action there, the code would get horribly tangled up!