Multi-Capability Skill (MCS) FAQ

Multi-capability skills (MCS) are Alexa smart home skills that extend the built-in support for certain utterances with your own custom voice interaction model. For example, have your skill use the built-in support for utterances that turn a device on or off, or have your skill support custom utterances such as "Alexa, ask invocation name what can this skill do?" in the same skill.

Create or upgrade skills with MCS

Q: How do I create a Multi-Capability skill (MCS)?
You can create a multi-capability skill by using the Alexa Skills Kit developer console or Alexa Skills Kit Command Line Interface (ASK CLI) to add multiple models to a skill. In general, a skill must meet the requirements for whatever feature you're implementing, whether it's a smart home feature or a custom skill.
Q: Can I upgrade an existing custom skill to MCS?
You can add a smart home model to an existing custom skill if your skill meets the pre-requisites for smart home skill development. See Smart Home API Prerequisites.
Q: Can I upgrade an existing smart home skill to MCS?
You can add a custom model to an existing smart home skill if your skill meets the pre-requisites for custom skill development. See custom skill requirements.
Q: Can I upgrade Alexa-hosted skills to MCS?
Yes. To upgrade an Alexa-hosted skill to MCS, set up an endpoint for your Smart Home model separately in the Smart Home left navigation menu on the Build tab. Alexa-hosted skills provide an endpoint only for Custom components for MCS.
Q: How do I communicate the MCS upgrade to my skill users?
When you upgrade an existing smart home skill to MCS by adding a custom model, communicate to your users about the new custom capabilities and how to use them. Let users know how to interact with the custom model capabilities by saying “Alexa, ask mySkill to…”. Use your skill description, product web site, and your company’s blog posts or forums to spread the awareness about the enhanced voice experience.
Q: How do I merge two live skills?
MCS doesn't support merging two live skills.
Q: How do I know if MCS is right for my skill? Can I change my mind after trying it out?
Try MCS on the development version of your live skill before submitting to certification to make sure that MCS fulfills your customers’ expectations. You may delete the new model and revert back to the original skill state as long as you haven’t submitted the skill for certification.
Q: Can I remove a model from my published skill?
No, you can't remove a model from a published skill. However, you can create a copy of your skill with the unwanted model removed. You must then publish your new skill and notify your customers to enable and use it.
Q: Can I add ISP (In-Skill-Purchasing) to MCS?
Amazon doesn't support ISP in MCS. If you have a Custom skill with ISP options, you must first remove from that Custom skill before upgrading to MCS. Similarly, after upgrading a skill to MCS, you cannot add ISP to the skill.
Q: Where do I view metrics for my skills?
View the metrics for your skills with Skill Management API on the Alexa Skills Kit developer console. Select each capability to view metrics for it.
Q: What's the certification process for a skill built with multiple APIs?
Submit all skills for certification. If you update your skill, resubmit it for certification. The certification process is the same for all skills, but the requirements for certification vary, depending on the API or model used. The skill must pass all the certification requirements for all of its capabilities before publishing the skill. For example, a skill that combines smart home and custom models must pass the test cases for both. For more details, see the certification requirements for the smart home, custom, and video models.

User experience

Q: How should I expect my users to react to the MCS mixed invocation?
Alexa data shows that users welcome the enhanced voice experience. Users adapt to the new voice experience whether they discover it though advertising or through experimentation on their own.
Q: What suggestions should I give my users for their device names?
Recommend to your skill users that they make their device names on your companion app identical to the device names on Alexa app. Alternatively, implement smart logic to identify the correct device if users have more than one device on their accounts.
Q: Many users have already enabled my live smart home or custom skill. If I upgrade my skill to MCS, can my existing customers still use it?
Yes, your existing customers can use the new capabilities without doing anything if the following criteria are true:
  • The account linking process (authorization URL, scope, domains, and so forth) doesn't require any changes.
  • The tokens exchanged during skill enablement work with the newly added functionality.

Otherwise, the customers must link their accounts again.

If the customers never performed account linking for a custom skill, you must notify your customers that they have to do the account linking for the smart home features to function.

Because smart home requires Auth Code Grant type authentication, if you have a custom skill that supports Implicit Grant type, migrate your authentication before adding smart home.

Q: How many sample phrases can my skill's detail page show?
The skill detail pages permit the same number of sample phrases, which is three sample phrases.

API Implementation

Q: How do I add support for state and change reporting in MCS?
You can add support for state and change reporting for device endpoints when you upgrade a custom skill to MCS. Your skill must follow the guidelines for sending events to the Alexa gateway and authenticating users to Alexa with permissions. To enable state and change reporting for existing users, Alexa runs an automated silent process sending your skill an AcceptGrant directive for each user. This process runs within a week of your upgrade date. Amazon then sends you an email with the results.
Q: How do the skill APIs address shared attributes or validations?
When skills share attributes or validation, the stricter rule applies. For example, smart home skills require account linking, so if you include smart home capability in your skill, account linking becomes mandatory for enablement regardless of other capabilities added to the skill.
Q: Can I specify different endpoints for each skill API and handling custom models?
Yes, you have the option to handle all requests for the skill with the same endpoint or use different endpoints for smart home and custom capabilities. Even if the endpoint is the same, specify the endpoint for both the smart home and custom model in the skill manifest.

Localization

Q: How does MCS support multiple languages and locales?
If you plan to support more than one language (or locale) your MCS must have an instance of each model type for each language. For example, if you wish to support English in both Canada and the US, your MCS needs a custom model and a smart home model for each language.