Chain keeps skipping - did I cut it too short? My old chain was skipping a lot, so I replaced it with a new one. The new chain barely skips at all, except for in the highest gears/smallest three cogs on the back cassette. The skipping comes progressively often as the gear increases.
The cassette does not look worn out. The rear derailleur seems to be indexed correctly but curls up very tight in highest gears.
I cut the new chain to be the same length as the old. In order to do this I only had to remove one link in the chain, which makes me wonder if the previous chain was cut too short (or too long).
The cassette does not look worn out

A cassette that is worn does not look worn.
It'll skip anyway despite not looking worn.
I suspect your cassette is simply too worn.
(Interestingly, for chainrings the opposite is true: a chainring can look very visibly worn due to the non-even wearing at different crank orientations, and still work.)

The new chain barely skips at all, except for in the highest gears/smallest three cogs on the back cassette. The skipping comes progressively often as the gear increases.

This is exactly the symptoms of a worn out cassette. The skipping happens at the smallest sprockets. The smaller the sprocket is, the more likely it's to skip.
The skipping always happens when putting a new chain. With the old worn out chain, it won't skip unless it's practically destroyed as the cassette wear matches the chain wear. After a new chain is put in, the wears no longer match and thus the skipping starts.