She is a good girl. He is a good hockey player.
In the first sentence, good describes ‘girl’, which is a noun.
In the second sentence, good describes ‘hockey player’, which is a noun.
Well is an adverb. It is used when describing a verb or adjective.
He plays the piano well. I did well in the interview.
In the first sentence, well modifies the verb ‘plays’. He plays well.
In the second sentence, well modifies the verb ‘did’. He did well.
An important fact: Good can be used with linking verbs. A linking verb can be followed by an adjective. Examples of linking verbs are: look, taste, smell, sound, seems, become, and the verb BE. The adjectives that follow these linking verbs refer back to the noun before the linking verb. This means that when someone asks how you are, you can answer “I am good”, and you would be grammatically correct.
Exception: After the linking verb 'feel', either good or well can be used. 'I feel good' and 'I feel well' are pretty close in meaning. Well in this case refers specifically to health, whereas good can refer to one's physical and/or emotional condition.
The point of this blog is that you can only use adjectives like good after linking verbs. If you have an action verb like 'play', please use well.