A category is complete iff its opposite is cocomplete, formally. This is something that is glossed over far too many times, from what I can tell. I'd like to dig into the weeds a little bit, and my approach is a bit from the logician's side (meaning will use little natural language). I will address only one direction, since the other follows immediately. We write 'cat' for the category of small categories, and either 'ob(—)' or $— _0$ for its class of objects.
Required to prove: If $\mathcal{C}^\text{op}$ is complete, then $\mathcal{C}$ is cocomplete.
If $\mathcal{C}^\text{op}$ is complete, then we have (by definition),
$$(\forall \mathcal{I} \in \text{ob(cat)}(\forall F \in [\mathcal{I}, \mathcal{C}^\text{op}]_0)(\exists (D, \mu : \Delta_D \Rightarrow F) \in \text{Cone}(F))\\(\forall (D', \mu' : \Delta_{D'} \Rightarrow F) \in \text{Cone}(F))(|\text{Hom}_{\text{Cone(F)}}((D', \mu'),(D, \mu))| = 1).
$$
For $\mathcal{C}$ to be cocomplete, it is required that
$$(\forall \mathcal{I} \in \text{ob(cat)})(\forall G \in [\mathcal{I}, \mathcal{C}]_0)(\exists (\nu : G \Rightarrow \Delta_E, E) \in \text{Cocone}(G))\\ (\forall (\nu' : G \Rightarrow \Delta_{E'})\in \text{Cocone}(G))(|\text{Hom}_{\text{Cocone(G)}}((\nu, E),(\nu', E'))| = 1).
$$
Now, this is sometimes regarded as 'obvious' or 'trivial', but unwinding these definitions would take a tremendous amount of work (and time). Yet, I still want to (somewhat) constructively prove the existence of the desired initial object $(\nu : G \Rightarrow \Delta_E, E) \in \text{Cocone}(G)$. That will probably entail the use of the 'opposite functor' $F^\text{op}$. Unfortunately, its definition usually actually has quotes in them (e.g., 'For $F : \mathcal{C} \to \mathcal{D}$, the opposite functor is the functor $F^\text{op}: \mathcal{C}^\text{op} \to \mathcal{D}^\text{op}$ that essentially does "the same" as $F$')...
However, I know such a functor exists, and I also know that since $\mathcal{C}^\text{op}$ is complete, so are all the $[\mathcal{I}, \mathcal{C}^\text{op}]$. Yet, as much as I've tried, pointing exactly to the right cocone with the right property (being initial in Cocone($G$)), has eluded me. I feel all the cards could be on the table already, and I'm just missing one key statement, or there is something larger that is missing. Will you tell me?
Thanks in advance (especially in this case ^^)!
 A: The definitions of limits, cones, etc. are exactly the same as the definitions of colimits, cocones, etc. but with the arrows pointing in the opposite direction throughout. That's the entire content of the proof however you choose to dress it up.
Here's one way to do it. A category $C$ has colimits of shape $I$ iff the diagonal functor $\Delta_{C, I} : C \to [I, C]$ which assigns to an object $c \in C$ the constant $I$-shaped diagram with value $c$ has a left adjoint; dually it has limits of shape $I$ iff this functor has a right adjoint. Taking opposite categories, we get that if $C$ has colimits of shape $I$ then $C^{op}$ has limits of shape $I^{op}$ (this is a genuine subtlety that you risk missing when you quantify over all $I$ instead of working with one $I$ at a time); formally, this is because

*

*the opposite of a functor $F : C \to D$ is a functor $F^{op} : C^{op} \to D^{op}$, so the opposite of the diagonal functor $\Delta_{C, I} : C \to [I, C]$ is a functor $\Delta_{C, I}^{op} : C^{op} \to [I, C]^{op}$;

*taking opposites in this way reverses the direction of composition of natural transformations, which gives that $[I, C]^{op} \cong [I^{op}, C^{op}]$, and hence that $\Delta_{C, I}^{op}$ can naturally be identified with a functor $C^{op} \to [I^{op}, C^{op}]$;

*this functor is (naturally isomorphic to) $\Delta_{C^{op}, I^{op}}$;

*taking opposites in this way also exchanges left and right adjoints (because left and right adjoints are related by reversing the direction of composition of natural transformations; this is easiest to see using the unit-counit definition of an adjunction), so $\Delta_{C, I}$ has a left adjoint iff $\Delta_{C^{op}, I^{op}}$ has a right adjoint and vice versa.

The main thing that is confusing about this argument, I think, is that $(-)^{op}$ (which is a $2$-functor) reverses some things but not others; e.g. it does not reverse the order of functor composition.
