The linter declares itself as a RubyLinter, but when you're running tools you shouldn't care what language the tool is implemented in and the interpreter that should be used to run it. That's what the #! lines are for - to say how you run the tool.
Why is this a problem? Well, the tool called mdl in my path isn't a ruby script. It's a shell script that runs the markdownlint/markdownlint docker container on the command that was supplied. This avoids my having to install ruby and the mdl tool into the environment.
So I have to change the linter.py code from:
to