Voice powered personal assistant software is powerful but limited. We wanted to allow the functionality of such agents, such as Cortana, to be extended by the user using only voice commands. Our skill learner allows users to program new commands to Cortana by combining existing commands to create more complex functionality.
This functionality is centered around a teach command that allows the user to create new voice commands for Cortana. Upon teaching Cortana a new command using this teach command, Cortana asks for the keyword/trigger phrase of the new word and the user describes the steps to performing this new action using natural language.