A good manager must be at least good at anything their staff is doing
Completely disagree. I've never had a manager who was as good as me at doing my particular job, even when I was the most junior of developers and that has not once been a problem. Even the bad managers I've had weren't bad because they could help me with my day to day job. If I needed help with those aspects of my job I spoke to the project lead or one of the senior developer.