In a medium bowl, whisk together the flour, cocoa powder, baking soda, baking powder and salt.
In a large bowl (or the bowl of a stand mixer) add the sugar and butter. Mix with an electric mixer for 1-2 minutes until creamed. Add the egg and mix for another 1-2 minutes, scraping down the sides.
Add the dry ingredients in 3 additions, mixing after each addition. Mix the dough until completely combined. Cover the dough tightly with aluminum foil or plastic wrap and chill for 30 minutes.
Preheat the oven to 375F. Line 2 baking sheets with silicone baking mats or parchment paper.
Using a ½ tablespoon or teaspoon measure, scoop out 1-2 teaspoon size balls of dough. Roll into a ball and place on the lined baking sheet. Flatten the dough balls slightly.
Bake for 6 minutes for soft cookies or up to 8 minutes for crisper cookies. Let cool for 5 minutes then transfer to a wire cooling rack to cool completely.
Mix the cream cheese, butter and vanilla at medium-high speed in the bowl of a stand mixer fitted with the paddle attachment (or in a large bowl using handheld mixer) until well combined, about 30 seconds.
Add the vanilla and powdered sugar and beat on low speed for 10-15 seconds, then increase the speed to medium-high and whip for 1-2 minutes until fluffy.
To assemble the cookies, in a pastry bag with a ½ inch, round tip, (or a ziploc with a hole cut at the end) pipe teaspoon-size blobs of cream into the center of one cookie. Place another cookie, equal in size to the first, on top of the cream. Lightly press, to work the filling evenly to the outsides of the cookie. Repeat with the remaining cookies.
