Hmm it’s used extensively in enRoute, you might have to dig through the tutorials… unless Peter can point you somewhere more specific.
It can be used directly as an annotation on your classes, or as a meta-annotation, i.e. you can define an annotation such as @RequireFoobar and annotate THAT annotation with @RequireCapability(ns=“foobar”…). Then whenever somebody uses @RequireFoobar, they get the foobar requirement in their manifest.
So perhaps you can define your own @RequireNative annotation?