Saving CCSD density for read-in

This is not so easily done because our JK object cannot take a density as input only orbitals.
So then you need to compute the integrals and contract them with the density yourself.

This is not overly difficult and there are plenty examples on GitHub - psi4/psi4numpy: Combining Psi4 and Numpy for education and development.
Depending on the system size you could use DF integrals: psi4numpy/density-fitting.ipynb at master · psi4/psi4numpy · GitHub

e, wfn = psi4.gradient('ccsd',return_wfn=True)
D = wfn.Da() # CCSD density

The so obtained density could be plugged into the HF equation.

For DFT the additional complication is to build the potential. Easiest is to do a DFT calculation first and afterwards exchange the density and recalculate the potential and energy. This is described here: Obtain the energy from DFT at arbitrary density matrix - #3 by dgasmith

There might be more elegant solutions that I haven’t though of. Possibly one can reuse the integrals written to disk during the CCSD calculation but for a prototype code the psi4numpy approach will get you far already