Un modo un po' complicato per farlo è post-elaborare il risultato di GROUP_CONCAT :
substring_index(group_concat(s.title SEPARATOR ','), ',', 3) as skills
Ovviamente questo presuppone che i nomi delle tue abilità non contengano virgole e che il loro importo sia ragionevolmente piccolo.
Una richiesta di funzionalità
per GROUP_CONCAT per supportare un esplicito LIMIT la clausola purtroppo non è ancora risolta.
AGGIORNAMENTO :Come utente Fragola
fa notare la tabella player_skills dovrebbe avere la tupla (player_id, skill_id) come chiave primaria, altrimenti lo schema consente di assegnare la stessa abilità a un giocatore più volte, nel qual caso group_concat non funzionerebbe come previsto.