Just an idea...you might create and publish a Splunk app that depends on other apps/scripted inputs etc...
For example, Splunk for JMX covers such a broad range of applications because it connects to the JVM.Ergo, any application that runs on a JVM (JEE app servers, servlet containers,IOC frameworks,hadoop etc....) could have a Splunk app created by starting with Splunk for JMX.
I have been able to rapidly create simple apps for JBoss, Tomcat, Cassandra and Websphere ExtremeScale Grid using this approach.
Happy Splunking !!
It definitely would be awesome if Splunk had a real mechanism to do this sort of thing, but I've taken a homegrown approach which has done a decent job for me so far fwiw.
Sideview apps all depend on the Sideview Utils app being present, and they actually do a check to see whether
1) Sideview Utils is on the system (ugly: application.js goes and looks for it in the App nav menu, which means the required app cannot have is_visible=False in app.conf),
2) and then the apps can check whether the Utils version installed matches a required minimum version (Sideview Utils keeps it's own version string which you can get at Sideview.utils.getCurrentVersion(), and apps can check against a minimum required version with Sideview.utils.checkRequiredVersion("1.1.5"), which returns boolean if the installed version matches that minimum).
And if either of these conditions fail, the JS displays a relevant error message to the user in the UI.
The same idea could be applied to other app dependencies like Splunk for JMX, if you can correspond with the Splunk for JMX people and work out something similar.
If you want to know more about how Utils does it, there is a bit of documentation, setup instructions, and sample code in Sideview Utils itself. Download and install the app and then go to "key techniques > Other > how to detect Sideview Utils".
Actually, I'm the Splunk for JMX author, so I might follow your approach until something more formal comes along.