Orb - how to force users to place command in a separate job

We’ve developed an orb:

Our commands require the executor to be used. This means users of our orb need to set a separate job, use the executor, and call our command there. If they try to do it in an existing job it will fail:

/bin/bash: cloudrail: command not found
Exited with code exit status 127
CircleCI received exit code 127

Is there a way for us to force users to run commands with our executor?

Ideally, you would want an opinionated job included in the orb to run the commands neccesary. You can’t force a step in a custom job to use a specific executor, as it’s up to the user to set the job-level executor.

Is there a way for us to provide a clear error saying “Sorry but you’re using the wrong executor”?

The only way I can think of is adding a special file to the Docker image you can check for the existence of, and change behaviour based on that. You could also provide an install command if someone would like to manually install the tool during their job, but we typically shy away from this recommendation to end users unless using a machine/macOS/Windows executor.