Combine the avocado, extra virgin olive oil, lime juice, minced garlic, fresh cilantro, water, and salt in a blender or food processor. Blend until completely smooth and creamy, about 1-2 minutes. If the dressing is too thick, add a splash more water until it reaches your desired consistency. Set aside while you prepare the remaining components.
Heat a medium skillet over medium-high heat and add the ground beef, breaking it apart with a spoon as it cooks. Once the beef is mostly browned and no longer pink (about 5-7 minutes), add the chili powder, cumin, garlic powder, smoked paprika, dried oregano, salt, and black pepper. Stir well to coat the meat evenly with the spices and cook for another 1-2 minutes until fragrant. I like to let the spices bloom briefly in the residual heat of the meat—it really deepens their flavor. Remove from heat and set aside.
In a large bowl, combine the chopped romaine lettuce, halved cherry tomatoes, thinly sliced red onion, sliced black olives, and sliced green onions. Toss gently to mix all the vegetables evenly. I find that keeping the vegetables separate from the dressing until the last moment ensures the lettuce stays crisp and doesn't wilt.
Add the cooked seasoned beef from Step 2 to the vegetable mixture in the bowl and gently toss to combine. Pour the avocado dressing from Step 1 over the top and toss everything together until the salad is evenly coated. Serve immediately while the beef is still warm and the lettuce is crisp.