Turning verbs into nouns


I am still not 100% when adding の to verbs

I understand that adding の to `泳ぐ` makes it into a noun `泳ぐの` so that you can
comment on it like in `泳ぐのが上手です` instead of `泳ぐが上手です` which sounds weird.

But then when it comes to suru-verbs I get confused.

`料理` is a noun but can be made into a verb using suru -> `料理する`, but then when
commenting on swimming skills it needs to be a noun _(noun が [description])_.

So my question is, do you use the original noun `料理` -> `料理が上手です`, or do you
turn it into a verb and then back into a noun `料理するの` -> `料理するのが上手です`

Also which one would be correct?:

  1. だれが歌が上手ですか
  2. だれが歌うのが上手ですか
  3. だれが歌うが上手ですか

This confuses me because the noun `歌` (song) has a verb with an added う -> 歌う.




Both 料理するのが上手です and 料理が上手です are perfectly valid and natural. People say the
latter more often simply because it is shorter.

Note that you have to use different particles when there is a target.

鶏 **を** 料理 **するの** が上手です。  
≒ 鶏 **の** 料理が上手です。  
＝ [He] is good at cooking chickens.

料理するの is a nominalized _verb_ , and it can take an object marked with を.
However, 料理 by itself is "just a noun", and thus it cannot take an object
marked with を. Instead, you have to use の, which links two nouns. (See also:
[Jlpt/n5q5: 弟は部屋◯掃除をしました。◯: の versus に
option](https://japanese.stackexchange.com/q/26120/5010))

>   1. だれが歌が上手ですか
>   2. だれが歌うのが上手ですか
>   3. だれが歌うが上手ですか
>

歌う ("sing") is a regular godan (consonant-stem) verb which happens to be
etymologically related to 歌 ("song"), which is a noun. (歌う is not a suru-verb;
we don't say 歌する.) Sentence 3 is plain wrong and you know why. Sentences 1 and
2 are both valid and natural, and there is no difference I can think of.




Both 料理するのが上手です and 料理が上手です are perfectly valid and natural. People say the
latter more often simply because it is shorter.

Note that you have to use different particles when there is a target.

鶏 **を** 料理 **するの** が上手です。  
≒ 鶏 **の** 料理が上手です。  
＝ [He] is good at cooking chickens.

料理するの is a nominalized _verb_ , and it can take an object marked with を.
However, 料理 by itself is "just a noun", and thus it cannot take an object
marked with を. Instead, you have to use の, which links two nouns. (See also:
[Jlpt/n5q5: 弟は部屋◯掃除をしました。◯: の versus に
option](https://japanese.stackexchange.com/q/26120/5010))

>   1. だれが歌が上手ですか
>   2. だれが歌うのが上手ですか
>   3. だれが歌うが上手ですか
>

歌う ("sing") is a regular godan (consonant-stem) verb which happens to be
etymologically related to 歌 ("song"), which is a noun. (歌う is not a suru-verb;
we don't say 歌する.) Sentence 3 is plain wrong and you know why. Sentences 1 and
2 are both valid and natural, and there is no difference I can think of.

