Zest the limes, then juice them into a nonreactive bowl; include the lime zest and all the juice.
Add the garlic, ground cumin, chili powder, dried oregano (Mexican), black pepper, and kosher salt. Whisk until the salt dissolves.
Whisk in the vegetable oil until the marinade looks lightly emulsified. You should have about 3/4 cup total.
For 2 pounds of protein or vegetables: place skirt steak, flank steak, chicken, shrimp, or sliced vegetables/mushrooms in a zip-top bag or shallow dish. Pour the fajita marinade over, turn to coat well, and press out excess air. Refrigerate and marinate as follows—beef (skirt/flank): 2–12 hours; chicken (thighs/breasts): 1–4 hours; vegetables/mushrooms: 30–60 minutes; shrimp: 20–30 minutes.
Remove from the marinade, wiping off excess; pat protein or vegetables dry. Let meat sit at room temperature 20–30 minutes while you heat a grill or heavy skillet to high.
Cook over high heat until charred and just done—steak 3–4 minutes per side to medium-rare (130–135°F) with a deep sear; chicken 6–8 minutes per side to 165°F; shrimp 1–2 minutes per side until pink and opaque; vegetables until charred and tender-crisp, 4–8 minutes. Rest meats 5 minutes, then slice steak across the grain for serving. Discard used marinade.