The Cortana Skills Kit

The Cortana skills kit allows developers to build new features (called skills) for Cortana.

The Cortana Skills Kit is currently in public preview. Please expect changes to the platform as the preview progresses.

What is a skill?

A skill is a construct that allows Cortana to do more. As a developer, you build skills which integrate your services, bots, Universal Windows apps, Android apps, and websites with Cortana so that users can use your capabilities to complete tasks and get things done.

As part of the invocation process, Cortana can (with the user's consent) pass information about the user to a skill at runtime, so that the skill can customize its experience accordingly. Excellent skills take advantage of Cortana's contextual knowledge of the user to do something useful and clever for them. This information, requested at registration time, is passed through in the target's URL or service schema.

Once invoked, certain types of skills can manipulate Cortana's interface to have a conversation between the skill and the end user.

Once published, users can see and use your skill on Cortana for Windows 10 Anniversary Update+ (Desktop and Mobile), iOS, and Android.

What can skills do?

As a general rule, skills allow you to enable any non-malicious functionality with Cortana. You as a developer must specify what the skill does, all circumstances that launch the skill, and all contextual info that is needed to execute the skill.

Once invoked, skills invoke targets to complete the user's request. A target is the code that you have written to make the skill do something. The targets currently supported by Cortana, as well as the platforms that support the target type, are listed below.

Skills appear on all platforms that support their registered target.

Invokable skill targets per platform

Cortana for Windows 10 (Anniversary Update+) Cortana on Android Cortana on iOS
HTTPS Service Endpoints
Microsoft Bot Framework Bots Coming soon Coming soon Coming soon
Websites
Windows Universal Apps
Android Apps

For more details on skill targets, please refer to the target API reference (coming soon).

How do end users use my skill?

Users in the en-us market can use Skills simply by speaking with Cortana. There is no installation or enable step for skills.

Users invoke skills by saying an invocation phrase. Today, invocation phrases consist of the following:

  • Ask <Provider Name> <connecting word> <utterance>, where <connecting word> ∈ {to, about, for, if, whether}
  • Tell <Provider Name> <connecting word> <utterance>, where <connecting word> ∈ {to, that}
  • Use <Provider Name> <connecting word> <utterance>, where <connecting word> ∈ {and, to, for}

Once the skill is selected, Cortana invokes the skill's target to complete the task.

Additional details on how users interact with skills can be found in the user interaction reference (coming soon).

Some Notes on the Developer Preview

The developer preview is a work in progress. Please expect changes to the developer preview as time goes on.

Next up:

Ready to create a skill? First, make sure your devices, as well as Cortana, are ready for development.