Heat a large skillet over medium-high heat. Pour the nuts into a preheated pan and fry, stirring occasionally, for 3-4 minutes. Pour the toasted nuts onto a plate and set aside.
Wipe the pan with a paper towel and put it back on the stove. Pour in olive oil and heat well. Place the cabbage in a preheated skillet and cook, stirring occasionally, until golden brown, about 5 minutes. Then add the shallots and garlic to the pan and cook, stirring occasionally, for about 1 minute.
Add cranberries, agave syrup, and a glass of water to the pan. Cover the pan with a lid and simmer the contents over medium heat for about 5-7 minutes, until the cabbage is soft (almost all the liquid should evaporate). Transfer the dish to a serving plate, sprinkle with walnuts, and drizzle with nut butter. Season with salt and pepper to taste (optional).