Mix the pesto, olive oil, yogurt and ranch seasoning in a medium sized bowl.
If you haven’t already, cut the chicken into bite sized pieces (big enough to fit onto skewers), then stir it into the marinade so all the pieces of chicken are well coated.
Cover the bowl and refrigerate for 30 minutes or up to overnight (I marinated mine for 2 hours and it was quite flavorful).
Take the chicken out of the refrigerator about 30 minutes before you want to grill it. Preheat your grill to medium-high heat.
Slide the chicken and the onions onto your skewers.
Grill over medium-high heat for 3-5 minutes on each side. I visually check for doneness, and use a meat thermometer to double check.
Chicken should be cooked to 165°F. Remove from grill and serve! I served this with corn on the cob.