In a medium mixing bowl, combine the olive oil, lime zest, lime juice, minced garlic, chili powder, smoked paprika, cumin, cayenne pepper, salt, and black pepper. Mix well.
Add the shrimp to the marinade and toss to coat evenly. Let the shrimp marinate for at least 30 minutes in the refrigerator (up to 2 hours for more intense flavor). While the shrimp is marinating, soak the wooden skewers in water if using them.
Preheat your grill or grill pan to medium-high heat.
Thread the marinated shrimp onto the skewers, making sure they are snug but not overcrowded.
Place the skewers on the grill and cook the shrimp for 2-3 minutes per side, or until they turn pink and opaque. Be sure not to overcook.
Remove the shrimp from the grill and let them rest for a minute.
Garnish with fresh cilantro and serve with lime wedges for added flavor.