Prepare the chicken: Trim any excess fat from the chicken thighs and slice them into thin strips, approximately ½ inch thick.
Make the marinade: In a large bowl, whisk together coconut milk, soy sauce, lime juice, brown sugar, garlic, ginger, red curry paste, coriander, cumin, turmeric, salt, black pepper, and vegetable oil.
Marinate: Add the chicken strips and toss until thoroughly coated. Cover and refrigerate for at least 30 minutes, or preferably 2–4 hours for deeper flavor.
Prepare the skewers: If using wooden skewers, soak them in water for at least 30 minutes to help prevent burning.
Thread the chicken: Remove the chicken from the marinade and thread each strip onto a skewer. Discard the leftover marinade.
Cook: Preheat a grill or grill pan over medium-high heat. Cook the skewers for about 3–5 minutes per side, depending on thickness, until the chicken is cooked through and lightly charred.
Check the chicken: The thickest pieces should reach an internal temperature of 165°F (74°C).
Make the peanut sauce: Add peanut butter, coconut milk, soy sauce, lime juice, brown sugar, curry paste, ginger, and garlic to a small saucepan. Warm over low heat, stirring until smooth.
Adjust the sauce: Add warm water 1 tablespoon at a time until the sauce reaches a smooth, creamy dipping consistency. Taste and adjust the lime juice, soy sauce, or sugar if needed.
Serve: Arrange the Thai chicken satay on a serving platter. Garnish with cilantro and chopped peanuts, and serve warm with peanut sauce and lime wedges.