The U6-sgRNA-EFS-Cas9-2A-Cre (pSECC) lentiviral vector was constructed by assembling four parts with overlapping DNA ends using Gibson assembly. Briefly, a 2.2kb part (corresponding to the U6-Filler fragment from LentiCRISPR28 (link)), a 0.3kb part (corresponding to the EFS promoter from LentiCRISPR28 (link)), a 5.3kb part (corresponding to a Cas9-2A-Cre fragment, which was generated by assembly PCR) and a 5.7kb lentiviral backbone were assembled using Gibson assembly following manufacturer guidelines. Detailed cloning strategies and primer sequences are available on request. For sgRNA cloning, the pSECC vector was digested with BsmBI and ligated with BsmBI-compatible annealed oligos (Supplementary Table 1). sgRNAs were designed using CRISPR Design24 (which was also used to predict potential off-target sites; see Extended Data Fig. 8 and Supplementary Tables 2) or E-CRISP29 (link), except for sgApc which was previously reported17 (link). An extra G (required for U6 transcriptional initiation) was added to the 5′ end of sgRNAs that lacked it.