Cut chicken into cubes and place in a large bowl.
In a separate bowl, whisk together honey, soy sauce, olive oil, garlic, ginger, black pepper, and red pepper flakes.
Pour the marinade over the chicken, ensuring all pieces are coated. Cover and refrigerate for at least 30 minutes, or up to 2 hours for more flavor.
Preheat the grill to medium-high heat. If using wooden skewers, soak them in water for 30 minutes to prevent burning.
Thread the marinated chicken, bell pepper, and onion onto the skewers, alternating between chicken and vegetables.
Place the skewers on the grill and cook for 10-12 minutes, turning occasionally, until the chicken is cooked through and has nice grill marks. The internal temperature should reach 165°F.
Remove skewers from the grill and let them rest for a few minutes before serving.
Serve with rice or a fresh salad for a complete meal.