Here's a breakdown:
Verbs that typically take "avoir":
* Action verbs: These describe actions that affect a direct object.
* Examples: manger (to eat), parler (to speak), écrire (to write), jouer (to play), lire (to read), regarder (to watch), etc.
* Verbs of change: These indicate a change in state.
* Examples: devenir (to become), changer (to change), grandir (to grow), etc.
* Verbs of possession: These describe ownership.
* Examples: avoir (to have), posséder (to possess), etc.
* Verbs of perception: These describe what someone senses.
* Examples: voir (to see), entendre (to hear), sentir (to feel), etc.
* Verbs of emotion: These describe feelings.
* Examples: aimer (to love), détester (to hate), craindre (to fear), etc.
Important exceptions:
* Reflexive verbs: These verbs have a reflexive pronoun (se) and generally take "être" (to be).
* Examples: se lever (to get up), se laver (to wash oneself), se coucher (to go to bed).
* Verbs of motion: These describe movement and generally take "être."
* Examples: aller (to go), venir (to come), arriver (to arrive), partir (to leave), etc.
* Some intransitive verbs: Intransitive verbs don't have a direct object and may take "être" or "avoir" depending on their meaning.
* Examples: rester (to stay), naître (to be born), mourir (to die), etc.
To sum it up:
Unless you are dealing with one of the exceptions, assume the verb takes "avoir" in compound tenses.
If you are unsure, it's always best to consult a grammar resource or dictionary to confirm.