A mix of @GroupCommandDefinitions and normal commands are a little hard to use with tab completion.
1.) Consider differentiating @GroupCommandDefinitions somehow? Append ":", "->", etc?
2.) Tab completion doesn't kick in, unless the group has a space after it. Example:
Essentially, if you hit <TAB> and the buffer contains only one possible command (a group), immediately display all the group's commands. Currently, it "completes" the group name by adding a space and forcing you to hit tab again.
Also, consider using ":" between the group and commands, rather than a space.
3.) The listing of all possible commands is confusing, since groups and commands are not differentiated from each other. Example – here's Artificer's full tab-completion:
Several of those are groups (ontology, storedQuery, maven, etc.). Multiple Artificer users mentioned being confused.