Boil the potatoes in salted water until they are just about tender when pierced with a fork. Remove and let cool until you can hold them in your hand. Slip off the peel. (see note)
Heat the first 2 tablespoons of oil in a skillet over medium flame. Add the onions and cook and stir until they are translucent, about 5 minutes. Remove half of the onions and set aside.
Cut the peeled and cooked potatoes into cubes, ½ inch or so. Add a tablespoon of the remaining oil to the onions in the skillet. Add the potato cubes; cook and stir about 10 minutes, making sure the potatoes are tender. Season with salt and pepper. Remove from the skillet and keep warm.
Add the remaining oil to the skillet. Stir in the reserved onions and the beans. Mash the beans with a fork or a potato masher, adding the salsa to moisten the beans. The beans should be moist like refried beans but not runny. Keep warm.
Soften the tortillas:
Heat oven to 350° F.
Mist both sides of the tortillas with cooking spray. Arrange them without stacking on two baking sheets. Put the first tray in the oven and heat until soft, far from crisp. Remove from oven.
To assemble and serve:
Spread about a tablespoon of smashed beans down the middle of each tortilla. Add a couple spoonfuls of potatoes. Repeat with the second tray of tortillas.
Arrange the avocado, cabbage, cilantro, salsa, tomatoes and cheese garnishes in separate bowls. At the table, let guests add garnishes to their liking.
You can steam the potatoes a day ahead. When they are cool enough to handle, slip off the skins.