In a gallon sized plastic bag combine the garlic cloves, honey, porter, red pepper flakes, Dijon mustard, soy sauce, black pepper, and olive oil. Add the chicken and refrigerate for 2-4 hours.
Remove the chicken from the marinade and alternately thread pieces of chicken, bell peppers, onions, mushrooms, and pineapple onto 4 or 5 large skewers. Set aside.
Heat the olive oil in a small saucepan over medium heat. Add the onions and saute for 3-4 minutes. Add the marinade and boil for 5 minutes. Remove from heat and pour into a small bowl.
Preheat a grill to medium high heat. Place the chicken skewers on the grill (you may need to brush oil on the grates prior to grilling). Cook for 10-15 minutes, flipping every 3 minutes and brushing with marinade after each turn, until the chicken is cooked through.
Remove from the grill and serve on the skewers or remove from skewers and serve over top of rice.