Black should cover at to make an eye and avoid a double ko. is at and then =a, =b, =c and it's an approach ko for White, direct for Black.
bugcat: I'm not sure this was primarily a matter of reading. I came to the solution by just applying two observations.
1. "One eye beats no eye". A and B make an eye, C doesn't; so let's exclude C.
2. Black A allows White B; Black B allows White A. However, White B increases the liberties of the corner group whereas White A doesn't. Therefore Black B is better than White A.
At my level (3-5k) I can barely even try to read this semeai, so I leant on this path of reasoning. If I can narrow the position down to Black B, White A, and Black blocking to keep the eye, I can attempt to check that path -- if Black doesn't obviously die, great, we can play it.