Richard Walker wrote

>  \hierarchical/path/to/module/perhaps_with_underscores/macro_name:argspec

It looks nice.
>
>(or according to Hans - I need more convincing):
>
>  \hierarchical/path/to/module/perhaps_with_underscores/macro_name:argspec:

The finishing char can be add on the fly. Instead of (after Hans Aberg)

  \def\getargspec#1{\expandafter\@getargspec\string#1}

  \catcode`\:=12
  \def\@getargspec#1#2:#3{Command ``#2'' has argspec #3!}

which only gets the very first spec:

  \def\getargspec#1{\expandafter\@getargspec\string#1\\}
                                                    %^^
  \catcode`\:=12
  \def\@getargspec#1#2:#3\\{Command ``#2'' has argspec #3!}
                        %^^

Regards
Javier