Chain skipping despite new cassette and chain
I had a similar problem with my road bike.  I replaced the cassette and it still skipped.  I replaced the chain and it still skipped.  Finally, I changed the rings and it worked perfectly. The rings looked only slightly worn but I think one or two of the teeth were shortened slightly through excess use.  I saved the rings just for a side-by-side comparison with future rings.