Prep the pan: Line a 12-cup muffin tin with cupcake liners. Preheat your oven to 350°F (175°C).
Mix dry ingredients: In a bowl, whisk flour, baking powder, baking soda, and salt. Set aside.
Cream the fats and sugars: In a large bowl, beat the butter, oil, granulated sugar, and brown sugar until light and fluffy, about 2–3 minutes.
Add eggs and vanilla: Beat in the eggs one at a time, then mix in vanilla until smooth.
Combine wet and dry: Stir the milk and sour cream together.
Add the dry ingredients to the butter mixture in two parts, alternating with the milk mixture. Mix just until combined; don’t overmix.
Fill and bake: Divide batter evenly among liners, filling each about two-thirds full. Bake 16–20 minutes, or until a toothpick comes out clean.
Cool in the pan 5 minutes, then move to a rack to cool completely.
Make the frosting: Beat the butter until creamy, 1 minute. Gradually add powdered sugar, then vanilla, salt, and enough cream to reach a fluffy, spreadable texture. If coloring, mix in gel a little at a time.
Frost the cupcakes: Use an offset spatula for a smooth swoop or a piping bag for a tall swirl.
Keep the tops fairly flat if adding candy caps.
Assemble candy caps: Unwrap mini peanut butter cups and set them upside down. Use a dab of frosting or melted chocolate to “glue” a chocolate square on top. Add a tiny dot of frosting in the center, press on a sprinkle “button,” and attach a tassel cut from licorice or sour belts.
Add diplomas (optional): Roll small wafer cookies or pieces of fondant into tight tubes.
Tie with thin licorice or a tiny ribbon bow. Insert at an angle into the frosting.
Finish with school colors: Sprinkle edges with colored sprinkles or dust with edible glitter for sparkle.