I was also thinking of a prompt, though for a different purpose. As I mentioned, in this demo my defense throw isn't incorporated as envisioned. But a prompt could ask whether you want to defend against an action, and calculate as proposed in my concept.
For example, if the attempt was successful, it would look like this:
Alice attempts to slap Bob.
Then, Bob would get the prompt whether or not to defend. If he chooses not to, this would show:
Bob does not attempt to deflect Alice's action, and it succeeds.
If Bob chooses to defend, he might either succeed at defending, or fail at it.
If succeeds: Bob manages to deflect Alice's action, and it fails.
If fails: Bob cannot deflect Alice's action, and it succeeds.
I do not dislike your idea; both could be incorporated in the same prompt. But I think it makes sense to always print failed attempts and to print the attempt if it would succeed before the prompt shows. Not sure what would happen then if you deny the throw in the prompt.
Oh btw, I think the rank should be a setting of your character that would be publicly visible and freely changeable. So you would review your opponent's and your own rank before using /attempt; therefore only the opponent needs to get a prompt.
I will update my demo later and try to incorporate that. Thanks!