Easy. "
Podrías haberlo hecho" is used when there is a condition expressed. Example:
Podría haber terminado si hubiera tenido más tiempo.
I could have finished if I had had more time.
Podrías haberte caído si no hubieras tenido cuidado.
You could have fallen if you hadn't been careful.
If no condition is expressed, then "
podías haberlo hecho" or "
pudiste haberlo hecho" are preferred.
“Podíamos haber ido al cine para divertirnos un poco” (pero no lo hicimos)
“Podían haber llamado a la policía” (habría sido una buena idea, pero no lo hicieron)
“Podía haber hecho una tortilla para cenar” (pero no se me ocurrió, la verdad)
“Podía haberte pedido consejo”(pero no lo hice porque no quería que te preocuparas por mis problemas)
“¡Podías haberte matado!” (Lo que hiciste era peligroso, pero, gracias a Dios, no te ha pasado nada, no te has matado)
“Podía haberme levantado más temprano, pero tenía un sueño…..” (No me levanté, me quedé en la cama)
Now let's add a condition to the sentences above and let's see what happens.
“Podríamos haber ido al cine” (si no se nos hubiera hecho tan tarde)
“Podrían haber llamado a la policía” (si hubieran tenido un teléfono)
“Podría haber hecho una tortilla para cenar” (si hubiera tenido patatas)
“Podría haberte pedido consejo”(si hubieras estado a mi lado)
“Podrías haberte matado” (si hubieras subido a las rocas).
“Podría haberme levantado más temprano” (si no me hubiera acostado tan tarde)
The condition can be made explicit or not, but it's there.