In a large bowl, whisk together yogurt, lemon juice, garlic, ginger, cumin, coriander, paprika, turmeric, garam masala, chili powder, and salt.
Add chicken pieces to the marinade and toss to coat evenly. Cover and refrigerate for at least 1 hour, or overnight for best flavor.
Preheat grill to medium-high heat and lightly oil the grates.
Thread the marinated chicken pieces onto skewers.
Grill chicken skewers for 10-12 minutes, turning occasionally, until the chicken is cooked through and has a slight char on the edges.
Serve hot, garnished with fresh cilantro if desired.