Make the tomato sauce:
Finely chop the onion and garlic. Roughly chop the carrot and red pepper.
Heat some oil in a pan and sauté the vegetables for about 8 minutes.
Add the cumin, coriander, smoked paprika and cayenne (if using). Stir to coat the vegetables.
Add the tomato purée, stir briefly, then pour in the passata (or chopped tomatoes) with enough water to cover. Season with salt and pepper.
Bring to a boil, then simmer for 20 minutes until thickened.
Turn off the heat, add fresh coriander leaves, and blend into a smooth sauce. Stir in the beans (if using), then set aside.
Prepare the salad base:
Boil the baby potatoes until tender, drain, let cool, then cut in half. Place them in a serving bowl.
Remove the skin from the chicken, shred or cut the meat into bite-sized pieces, and add to the potatoes.
Cut the kernels from the corn cob (or drain tinned corn) and mix them in the salad.
Steam or blanch the kale (or spinach), then add to the bowl.
Add a generous ladleful of the tomato sauce to the potato mixture and toss well to coat. (Use the leftover as a pasta sauce for another meal.)
Halve the avocado, remove the stone, cut the flesh into chunks, and gently fold into the salad.
Enjoy warm or at room temperature.