Prepare the dough: In a large bowl, mix flour, salt, and sugar. Dissolve yeast in warm milk and add to the flour. Mix and knead into a smooth dough. Cover and let rise for 1 hour.
Laminate with butter: Roll dough into a rectangle. Slice cold butter and spread over 2/3 of the dough. Fold like a letter (3 parts), then refrigerate 30 minutes. Repeat rolling and folding 2 more times, chilling in between.
Shape the Gipfeli: Roll the dough out into a large rectangle. Cut into triangles. Roll each triangle from the wide end to the tip, shaping into a crescent.
Final rise: Place on a baking tray with parchment paper. Cover and let rise for 30–45 minutes.
Bake: Preheat oven to 200°C (390°F). Brush with egg yolk. Bake 15–20 minutes until golden brown.
Serve warm or let cool on a wire rack.