This first step is optional. Skip it or cut back the volume of chilies if you don’t like things too spicy. Wearing gloves, tear chilies apart with your hands and discard the stems and seeds. Heat a griddle or cast iron pan over medium heat. Add chilies and toast for about 4 minutes, turning halfway through. They may lighten in colour and blister. Turn on your stove fan or open some windows because the fumes can be very strong. Let cool a bit.
Transfer chili pieces, if using, to a food processor or blender. Add garlic, oregano, smoked paprika, cumin seed, salt, fennel seed, cloves, cinnamon, and chili flakes (also optional if you are using the ancho chilies). Puree until the chilies are finely chopped, or, if not using, until everything is well mixed.
Add peanut butter, vinegar, and ¼ cup (60 mL) stock. Puree, gradually adding the remaining stock, until smooth.
Transfer this mixture to a large, dry, heavy-bottomed skillet. Crumble in the tofu. Bring to a simmer over medium heat then reduce the heat to medium-low and cook until it has dried out completely. You want to achieve a crumbly texture. This should take about 30 minutes. You will need to scrape the pan frequently to prevent burning, especially toward the end of the cooking time.
Serve immediately or let it cool and refrigerate for a few days. You can also freeze the tofu chorizo but it may change texture when you thaw it.