The post_commands plugin supports subcommands after arguments, instead of requiring subcommands before arguments. You can use Command#run to dispatch to post subcommands inside the Command’s run block.
run do |argv, opts, command| @something = argv.shift command.run(self, opts, argv) end