--- Quote Start ---
OK, agreed. But if I set my constraint to a value that (I think) can't possibly pass timing, for example;
set_max_skew -to [get_ports data_out
[*]] 0.0
Then wouldn't I expect TQ to report a failure?
--- Quote End ---
It depends on your io constraints i.e set_output_delay figures and clock rate.
skew does not tell TQ what are your actual constraints (clock data offset).
I know skew method is used for some cases of DDR if the external chip asks for skew only but I am not sure then how TQ check the tSU/tH. I believe in such cases the external chip doesn't care about data/clock offset as it may have automated logic to align.