Consider the following scenario: An assassin hides from the PCs, pops up to take a shot at them, and then disappears.
RAW, it seems like I have to have the assassin roll a stealth check vs. the player's perception to determine surprise. Then, everyone rolls initiative, and we have to play out two rounds of combat: one for the attack and one for the assassin to disappear.
However, this feels awfully clunky to me, and eats up a lot of table time for what should be a quick shot. The goal here is not to have a combat encounter, but to spur the characters to action.
Instead, I could use DM fiat to just say that the assassin wins its rolls, and roll an attack against the PC's AC.
While this keeps things moving, the players were unhappy when I tried this because they didn't get any agency at all–a hit meant that they took damage without a save.
How have you successfully dealt with this situation?
Ideally, a good compromise would focus on just one or two rolls by the PCs. For example, if the assassin cast a spell on them, the PC could roll their saving throw to resolve the attack, I suppose.
While none of my players had the Alert feat, It's a good point for answers to address. Additionally, I don't care if the assassin is caught.