To see if your tool is the wrong tool for the job, one technique is to mock up a solution language and/or API that fits your domain well. Ignore existing tools and standards for the experiment.
If the difference between your draft language/API and your current tool ends up too large, you are probably using the wrong tool/language for the job: it's not fitting your domain tightly enough.
Similarly, ratio of domain coding to non-domain-coding (tool fiddling) is a good indicator of tool fit. You shouldn't be wasting too much time micromanaging tool minutia and quirks. (There are exceptions, such as when machine performance trumps dev labor costs.)
More on this from the C2 Wiki archive:
https://wiki.c2.com/?WorkBackwardFromPseudoCode