Prep the fish: Pat the fish dry with paper towels. This helps the spices stick and the surface crisp up.
Season: In a bowl, mix chili powder, smoked paprika, cumin, garlic powder, onion powder, cayenne (if using), salt, and pepper. Toss fish with olive oil, then sprinkle on the spice mix and coat evenly.
Make the slaw: In a large bowl, whisk yogurt, mayo, lime juice, honey, salt, and pepper.
Add cabbage, carrots, red onion, and cilantro. Toss to coat. Adjust lime and salt to taste.
Chill while the fish cooks.
Preheat the air fryer: Set to 400°F (200°C) for 3 to 5 minutes. A hot basket helps with browning.
Air fry the fish: Lightly oil the air fryer basket or use a perforated liner. Arrange fish pieces in a single layer with a little space between.
Cook 7 to 10 minutes, flipping once halfway, until the fish flakes easily and edges look lightly crisp. Thicker pieces may need another minute or two.
Warm the tortillas: While the fish cooks, warm tortillas in a dry skillet for 20 to 30 seconds per side, or wrap in a damp paper towel and microwave for 20 to 30 seconds. Keep covered to stay soft.
Assemble: Layer slaw on warm tortillas, top with fish, and add avocado, a drizzle of hot sauce or chipotle mayo, and a squeeze of lime.
Finish with extra cilantro.
Serve immediately: Fish is best hot from the fryer, with the slaw cool and crisp.