refactor skillhandler