When you want to be able to call it its a global procedure. The catch that will confuse you si that every procedure executed in the script editor is global even if you don't define it as such.
You use local procedures when you want to consolidate the code for bvetter readability/modularity/less repetition. But local precedures ONLY live inside the scope of your file, So for all intents ad purposes form the outside they dont seem to exist they are part of any global procedures in the same file.
So if you want to use the procedure for any reason in the user space then it must be global. So every file has to have some global procedures or direct calls to locals in the main of the file to do anything useful.