Should have – for unfulfilled past obligation

Should have - to express unfulfilled obligation in the past
Structure: should + have + past participle

We use should have for the past.
We use should have to say that someone didn't do something but it would have been better to do it.
You should have told them the truth.
You shouldn't have gone there - it was a mistake.
I don't think you should have done it.

Practise this grammar in an exercise: Intermediate grammar exercise: should vs. should have