It names the problem, filters candidates by CP fit, and only keeps swaps that move the diagnosed weakness.
Enable JavaScript to use the full app.