Put wooden skewers in a pan of water for 30 minutes so they don’t burn on the grill.
To make the marinade, coarsely chop the garlic on a cutting board. Sprinkle with the salt and mash the garlic into a paste with the side of the knife. Transfer the garlic paste to a medium bowl. Add the cumin, paprika, oregano, and cayenne and mix. Stir in the grapefruit juice, lime juice, and oil. Season with the pepper.
Drain the soaked skewers. Thread the shrimp onto skewers, and repeat with the mango on separate skewers. Put in a glass or ceramic 9 × 13 inch baking dish. Pour about a third of the marinade over the skewers. Cover and refrigerate the remaining marinade to dress the salad. Cover the baking dish with plastic wrap and refrigerate, flipping the skewers occasionally, for no more than 30 minutes.
To prepare the salsa, rub the corn with 2 tablespoons of the oil and season with salt and pepper. Preheat an outdoor grill or grill pan to medium high (or preheat a broiler). Put the corn directly on the grill grates (or on the rack of a broiler pan) and cook until the kernels are slightly charred on all sides, turning every couple of minutes. Remove from the heat. Using a sharp knife, stand each cob on its wide end and carefully cut the kernels off of the cobs. Transfer the kernels to a large bowl. Add the avocado, onion, red pepper, jalapeño, cilantro, lime juice, and vinegar. Season with salt and pepper.
Grill (or broil) the shrimp, turning once, until opaque and slightly charred on both sides, about 2 to 3 minutes. Cook the mangoes until grill marks appear, about 1 minute on each side.
Divide the greens evenly among 4 dinner plates. Drizzle the reserved marinade over the greens. Top each with equal amounts of the shrimp and mango skewers and a couple of spoonfuls of the roasted corn and avocado salsa. Sprinkle with the cilantro and serve with remaining salsa on the side.