Prep the skewers: If using wooden skewers, soak them in water for at least 20–30 minutes to prevent burning.
Pat the chicken dry with paper towels for better browning.
Make the marinade: In a large bowl, whisk together olive oil, lemon juice (and zest if using), soy sauce, honey, garlic, smoked paprika, cumin, oregano, pepper, and salt.
Marinate the chicken: Add the chicken to the bowl and toss to coat. Cover and refrigerate for 20–30 minutes. You can go up to 2 hours for deeper flavor, but don’t exceed 24 hours to keep the texture tender.
Prep the veggies: While the chicken marinates, cut bell peppers, onion, and zucchini into similar-sized pieces.
Keep cherry tomatoes whole so they don’t fall apart.
Preheat the grill: Heat a gas or charcoal grill to medium-high (around 400–425°F). If using a grill pan, heat it over medium-high and lightly oil the grates or pan.
Assemble the skewers: Thread chicken and veggies onto skewers, alternating colors for even cooking and a pretty presentation. Don’t pack them too tightly; a little space helps heat circulate.
Grill the skewers: Place the skewers on the grill.
Cook for 10–12 minutes total, turning every 2–3 minutes. The chicken should have clear grill marks and reach 165°F internally. If pieces are charring too quickly, move them to a cooler zone.
Rest and garnish: Transfer to a plate and rest for 3–5 minutes.
Sprinkle with chopped herbs and serve with lemon wedges.
Serve: Pair with rice, quinoa, or flatbread, and a dollop of tzatziki or yogurt sauce for a bright finish.