Whisk together the flour, baking powder, and salt. Set aside.
Beat the butter and granulated sugar until light and fluffy, about 2 minutes. Add the eggs one at a time, then mix in the ube extract and ube halaya.
Add the dry ingredients to the wet ingredients and mix until just combined, adding milk as needed.
Cover and refrigerate the dough for at least 1 hour.
Heat the oven to 350°F and line a baking sheet with parchment paper. Roll the chilled dough into balls, then coat each in granulated sugar followed by powdered sugar.
Bake for 10 to 12 minutes, until puffed and cracked.
Cool on the baking sheet 5 minutes, then move to a wire rack.