In relation to Missing Declared Variables
I'd like to propose the following additional Script Steps
Set Strict Notation [On/Off]
Multiple people from different language backgrounds working together on a solution. It s very easy for someone to make a typo or think of a Variable name in their own language and write it accordingly. So $Password might be thought of as $Passwort and due to its similarities one would not notice right away. Searching for these sort of bugs is tedious.
In a Script you can add a Declare section (just like a loop or if/end if section) and in this you add Set Variable script steps or any other Script Step that declares Variables (Show Custom Dialog, Insert Steps, Let Statements, ...).
In the rest of the script you can turn Set Strict Notation to On or Off.
Once Strict Notation is turned on you can only save the script if everything between Strict Notation On and Strict Notation Off/End of Script uses only variables declared in the Declare section.
That way you will never have typos in Variables again (except you erroneously use the name of another already declared variable)