have a gift for (doing something)
To be talented or skilled at doing some specific thing. Rachel really has a gift for drawing—have you seen her latest piece? I had no idea Charlie had such a gift for acting!
have a gift for (doing) something
Fig. to have a natural talent for doing something. Tony has a gift for writing short stories. Sharon has a gift for dealing with animals.