For me I think it would be:
1. Using basic tools like AdvanceMap to make superficial changes (like changing what Pokemon trainers have, etc.). At this stage, you have a basic working knowledge of mapping, and how to use the tools, but you don't really know how they work.
2. Using script editors like XSE or PKSV to do basic scripts (basic talk scripts, simple trainer battles, using the preset scripts in PKSV). At this stage, you have a basic idea of how the NPC scripting language works, but you don't yet know how to do anything more advanced than talk scripts on your own.
3. Being able to insert other people's routines and do basic hex editing. Also being able to do more advanced NPC scripting. At this stage, you know how to use a THUMB compiler and how to navigate a hex editor. So you are able to insert other people's routines, but you don't yet know how to make your own. Also at this stage, you can do other scripting types such as AI scripting, Battle Scripting and Animation Scripting on a basic level.
4. Understanding how the tools you've been using really work. That is to say, you have a good idea of what tables are, where they are used and how you can change them. At this stage, you probably have also tried editing other people's ASM routines, so you have more of an idea of how ASM works. Maybe you have written your own basic routines, but nothing super complex yet. This is the stage where you are starting to become really familiar with the inner workings of your chosen game.
5. A rich understanding of your chosen game. At this stage, you know how to write ASM routines, but more importantly, if you have a feature you want to implement, you will have a good idea of exactly how you would go about doing it. At this stage, you have a debugger and know how to use it well. You've written enough ASM routines that you have certain RAM addresses memorised. At this point, you also would have a good understanding of how certain tools work, and may even be able to make your own tool.
If I had to include a 6th stage, that would probably be knowing enough to be able to do your own research into the mechanics of the game and discover how to do something new.
This is based roughly on my own progression through ROM hacking over the course of seven years and counting.