Mix together the chili powder, cumin, paprika, oregano, salt, and red chili flakes in a small bowl. Set aside.
In the slow cooker, add the diced onion, minced garlic, tomato paste, lime juice, and 1-2 teaspoons of the spice mixture. Stir to combine evenly.
Pat the beef chuck roast dry with paper towels, then coat it evenly with the remaining spice mixture, pressing gently to adhere.
Place the seasoned beef on top of the onion mixture in the crockpot.
Cover and cook on low for 7-8 hours. Cooking time may vary depending on the size of your roast; adjust as needed.
After cooking, use two forks to shred the beef directly in the crockpot, removing excess fat or gristle.
If the beef is not tender enough to shred, cover and cook for an additional 30-60 minutes, then check again.
Once shredded, stir the beef thoroughly into the sauce. Let it cook on low for another 30-60 minutes to absorb all the flavors.
Taste and adjust seasoning with additional salt as needed before serving.