Passe compose - avoir agreement
*Etre always agrees with the subject, but avoir does not agree with the subject.
Apparently, there is an agreement with avoir if the object is before the verb, for example if you use le/la to mean it. Also, there is no agreement if there isn't a direct object.
Any other rules?
*excluding pronominal verbs
I think "etre" comes mostly with intransitive verbs (all of them are not intransitive), and some of the verbs are about movements (leaving, coming, going..). Avoir comes mostly with transitive verbs (all of them are not transitive like "j'ai eu une voiture"). Tell me if I am wrong.
Etre always agrees with the subject
I just want to add that rules are different with pronominal verbs, which use être. It doesn't always agree. Don't worry about it too much if you're still a beginner, but your statement above about être needs an asterisk. (More sentences with pronominal verbs in the passé composé have yet to be added in the Duo course.)
this seemed short and sweet: http://www.frenchtutorial.com/en/learn-french/passecompose/cod