You may have the cart before the horse here (or even two carts if you really want launchd or cron to schedule your process to run).
I would save your command to a script file and test it with your chosen shell (zsh recommended) and when it works manually, rename it to file.command and then open the file directly
open ~/Competitor\ Monitoring/Magic/run_node.command
Here is a bash example on letting the script check your directory if you don’t want to hard code them. It’s simpler to put everything in the same folder, though and then you don’t need any of the checking of path at all or passing the path to the script or command to the application after it launches.
Your script might be as simple as:
#!/usr/bin/env zsh
node index