Prep the shrimp: Pat the shrimp dry with paper towels.
Dry shrimp sear better and pick up flavor. Place in a bowl.
Mix the seasoning: Combine chili powder, cumin, smoked paprika, oregano, garlic powder, onion powder, cayenne, salt, and pepper in a small bowl.
Marinate briefly: Toss shrimp with 1 tablespoon oil, half the seasoning, the lime zest, and half the lime juice. Let sit 10–15 minutes while you prep the vegetables. Don’t marinate longer; citrus can make shrimp mushy.
Slice the vegetables: Cut peppers and onion into thin strips.
Mince garlic. Keep everything ready near the stove.
Heat the skillet: Set a large cast-iron or heavy skillet over medium-high heat. Add 1 tablespoon oil and let it get hot until shimmering.
Sear the peppers and onions: Add peppers and onion with a pinch of salt.
Cook 6–8 minutes, stirring occasionally, until softened with a few charred edges. Stir in half the remaining seasoning and the minced garlic during the last 1–2 minutes. Transfer vegetables to a plate.
Cook the shrimp: Add the last tablespoon of oil to the skillet.
Spread the shrimp in a single layer. Cook about 1–2 minutes per side until pink and opaque. Sprinkle the rest of the seasoning over the shrimp as they cook.
Avoid overcrowding; work in batches if needed.
Bring it together: Return the peppers and onions to the pan with the shrimp. Add the remaining lime juice and the butter (if using). Toss for 30 seconds to glaze and meld the flavors.
Turn off the heat and sprinkle with chopped cilantro.
Warm the tortillas: Heat tortillas in a dry skillet for 20–30 seconds per side, or wrap in foil and warm in a 350°F (175°C) oven for 5–8 minutes. You want them soft and pliable.
Serve: Set out the sizzling shrimp and vegetables with warm tortillas and toppings. Build and enjoy immediately.