Ron Newcomb's Custom Library Messages is a good extension.
But there are some parser rejects I find specifically useful in Inform. The note below is a bit crude, and you may want to provide custom rejects to enhance a room's scenery (e.g. "the wall is sealed up. You will need to break through,") but it's useful as a start.
definition: a direction (called dir) is viable:
if the room dir of location of player is nothing, decide no;
decide yes;
before going nowhere:
let vd be the number of viable directions;
if vd is 0:
say "You can't go any direction right now. Maybe you need to solve a puzzle first." instead;
say "You can't go [noun], but you can go [list of viable directions]." instead;
Also,
Rule for printing a parser error when the latest parser error is the I beg your pardon error:
say "No action comes to mind."
You can search for this in the Inform IDE. 17.33 in 6g, "Printing a parser error." This covers many default mesages you'll see, and it really can help the player relax and bring out flavor in your game. It's no substitute for good puzzles, but anything you can do not to upset a player is a good thing.