Solution in white - After 0...O-O 1. Bd3 Kh8 2. Rf1, the incredible zugzwang situation had me completely baffled for quite some time (and even caused me to experiment a bit with some other possible mating nets). Black needs to lose a tempo, and (surprisingly) it wasn't easy for me to see how that could be done. As it turns out, the answer is rather strange:
0...O-O 1. Bd3 Rf1+! (the only possible tempo loss for Black!) 2. Rxf1 Kh8 3. Rf8#
Another simple Helpmate I composed. Black moves first, White mates on his 3rd move: