Перед вводным словом "кто" ставится запятая в следующих случаях:
1. Вводное слово "кто" используется в значении "любой человек" или "какой-то человек" и выделяется в предложении. Например: "Кто, кроме тебя, может помочь мне?" В данном случае вводное слово "кто" выделяется, и поэтому перед ним ставится запятая.
2. Вводное слово "кто" используется в значении "некоторые люди" или "некто" и выделяется в предложении. Например: "Кто из вас, друзья мои, хочет пойти со мной?" В данном случае вводное слово "кто" выделяется, и поэтому перед ним ставится запятая.
3. Вводное слово "кто" используется для обращения к неопределенному адресату и выделяется в предложении. Например: "Кто, скажите мне, забыл закрыть окно?" В данном случае вводное слово "кто" выделяется, и поэтому перед ним ставится запятая.
4. Вводное слово "кто" используется для усиления вопроса или утверждения и выделяется в предложении. Например: "Кто же знал, что это произойдет?" В данном случае вводное слово "кто" выделяется, и поэтому перед ним ставится запятая.
5. Вводное слово "кто" используется для выделения противопоставления и выделяется в предложении. Например: "Кто сказал, что это просто? Кто-то, кто никогда не пробовал." В данном случае вводное слово "кто" выделяется, и поэтому перед ним ставится запятая.
Однако стоит отметить, что перед словом "кто" не всегда ставится запятая. Например, если "кто" используется в значении "какой-то человек" и не выделяется в предложении, то перед ним запятая не ставится. Например: "Я знаю кого-то, кто может помочь тебе." В данном случае "кто" не выделяется, и перед ним запятая не ставится.
Таким образом, перед вводным словом "кто" ставится запятая, когда оно выделяется в предложении своим значением или функцией. Запятая перед "кто" помогает читателю понять, что это слово является вводным и не является неотъемлемой частью предложения.