The same way you build a proposal kernel q( theta’ | theta_current), for which you need to build a program that for any possible theta_current you get a proposal distribution.
I feel the way I phrased it originally was really weird. But the output from that step could be used a independence proposal kernel in a Metropolis-within-Gibbs sampler for the full conditional step x’ ~ q(x’ | y, theta)