The org.jboss.as.cli.scriptsupport.CLI will throw an exception if the user invokes the cmd method before invoking one of the connect methods. But the connect/disconnect methods are oriented toward remote connections. The result is you can't really use this class with the offline CLI.
I'm not sure what the best fix is here. Perhaps new method(s) analogous to connect/disconnect that establish a CommandContext but don't call connectController(). Or perhaps the checkNotConnected() call in the cmd method should just be dropped, and an unconnected command context created. But then the existing connect/disconnect methods would need to be reworked to deal with the fact that an unconnected command context may be present.