Soak wooden skewers. If using wooden skewers, soak them in water for at least 20–30 minutes to prevent burning.
Whisk the marinade. In a bowl, combine BBQ sauce, honey, soy sauce, apple cider vinegar, garlic, smoked paprika, black pepper, salt, olive oil, and red pepper flakes (if using). Reserve 1/3 cup of this mixture in a small bowl for glazing.
Marinate the chicken. Add chicken pieces to the remaining marinade. Toss to coat well.
Cover and refrigerate for 30 minutes to 2 hours. The longer it sits, the deeper the flavor.
Preheat the grill or oven. Heat a grill to medium-high (about 400°F/205°C). For oven broiling, set the rack 6 inches from the broiler and preheat on high.
Line a sheet pan with foil and place a wire rack on top if broiling.
Thread the skewers. Slide marinated chicken onto skewers, leaving a little space between pieces so heat can circulate. Discard any marinade that touched raw chicken.
Start cooking. Grill the skewers 4–5 minutes per side, turning once they release easily. If broiling, cook 5–6 minutes per side.
You want light char marks and the chicken nearly cooked through.
Glaze generously. Brush the reserved sauce all over the skewers. Cook 1–2 minutes more per side to set and caramelize the glaze without burning.
Check doneness. The chicken is done when the internal temperature hits 165°F (74°C) and juices run clear. Add a final brush of glaze if you like extra sticky.
Rest and serve. Let the skewers rest 3–5 minutes.
Sprinkle with parsley or sesame seeds and serve with lime wedges for a bright finish.