Meanwhile, heat the oil in a large skillet over medium heat. Add the onion and cook, stirring occasionally, until golden, about 10 minutes. Stir in the garlic, ginger, turmeric, chili powder, and garam masala and cook another minute until fragrant. Add the tomato and cook another few minutes, breaking it down with a wooden spoon as it cooks. If the spices stick to the pan, add a tablespoon of water. Stir in the yogurt and cilantro. Add the shrimp to the sauce and season them with ½ teaspoon salt. Cook the shrimp 2-3 minutes, stirring to coat them with the sauce.