In a large bowl, sift together flour, baking powder, and salt. Set aside.
In a standing mixer with the paddle attachment on medium speed, or with an electric mixer, beat butter and sugar until pale and fluffy. Beat in egg yolks and vanilla.
Reduce mixer speed to low and gradually add flour mixture and milk until just incorporated. Scrape dough on to a floured work surface, shape into a ball, and wrap in plastic wrap. Chill at least 2 hours or up to 2 days in advance.
To bake the cookies:
Preheat oven to 350 degrees. Line 2 baking sheets with parchment paper or silicone mats.
On a floured surface, roll chilled dough between parchment paper or wax paper to 1/8-inch thickness. Cut with Christmas cookie cutters. Transfer to prepared baking sheets with an offset spatula.
Repeat with the remaining dough. Scrape all remnants together and re-roll. If the dough becomes too soft or sticky, refrigerate an additional 10 minutes.
Bake until the edges are lightly browned, about 8 to 10 minutes (if thicker than 1/8 inch, they may take 10 to 15 minutes). Transfer to wire racks and cool completely before decorating with frosting (recipe follows).
To make the frosting:
In a standing mixer with the paddle attachment on high speed, or with an electric mixer, beat butter and sugar together.
Add vanilla and milk and beat until smooth. Add more milk as necessary to achieve the desired consistency for writing on cookies.
Divide frosting into small portions and color each with food coloring as desired. Transfer to piping bags and decorate cooled cookies.
Adapted from the Wisconsin Electric Power Company Christmas Cooky Book.