Building a Skill requires determination, patience and passion for the user experience. For this very reason, the disappointment is often big when the first submission is not successful or when the feedback received contains unexpected suggestions.
Today we are going to address a few key points that every Skill should fulfill, in order to make certification process as straightforward as possible.
Let's take a look at the basic guidelines that a Skill's metadata, responses, and graphical elements should meet.
Metadata is any kind of information about your Skill like the description, the icon or your vendor name. All this information should be in a language that is supported by Alexa and matches the language of the selected locale.
Please also take a look at the Content Guidelines to ensure that your Skill’s concept is compliant with our policies.
The title must be relevant to the core functionality of your Skill. Please ensure that your name is matching your Skill’s description or it might be misleading for your users.
The description should provide information to your users on what they can do with your Skill and how to use it. Please make sure that your description explains the user experience and does not misrepresent the purpose of your Skill. It should also mention any prerequisites needed to use the core functionality (such as additional hardware, software or accounts).
Users will say a Skill’s invocation name to start a enabled custom Skill. Your invocation name should be related to your Skill’s title and be easy to pronounce.
You can change your selected invocation name during the development of a Skill, but not after the Skill is certified and published in the Alexa Skill Store. Please have a look at our developer documentation for more information about invocation names.
Your chosen example phrases will be part of your Skill’s description. New users will be trying these phrases most likely to get an idea of how your Skill works. Therefore, it is advisable to pick phrases which represent a good overview about your skill’s core functionality. Please check that these phrases are explicitly included in your sample utterances to ensure accuracy.
The first example phrase must contain the wake word “Alexa” and the invocation name to provide an example how to start the interaction with your Skill.
Your Skill’s voice interface must meet the following requirements to align with several key features of Alexa and to ensure a good user experience.
From time to time users start your Skill without asking for a specific intent or without giving Alexa enough information to properly understand how they want to proceed. For these scenarios, your Skill must provide a welcome prompt to ask the user what they would like to do after launching the Skill.
A welcome prompt:
For every response of your Skill, you can decide to close the session or leave it open. Responses that fulfill the user’s request without the need of additional information must close the session, while responses that require an answer from the user must leave the session open to receive the desired information.
Every Skill must have a help intent that can provide additional information about navigating the skill’s core functionality.
A help prompt:
If your Skill leaves the session open, it must also allow your user to stop and cancel the interaction at any time. The built-in AMAZON.StopIntent and AMAZON.CancelIntent already provide the most common commands like "stop", "cancel", "never mind" and others.
Optionally you can extend these built-in intents with additional sample utterances. It is also allowed to create new intents to provide a response or a confirmation question before closing (for example: “Are you sure you want to close this Skill?”).
Unlike a visual interface, where your users can only interact with the objects presented on the screen, there is no way to limit what users potentially can say in a speech interaction. Your Skill must be able to handle several input errors in an intelligent and user-friendly way.
If the request was not recognized correctly or it is not covered by your sample utterances, your Skill must ask the user to repeat or rephrase the input (you can also use the AMAZON.FallbackIntent to archive this functionality). To avoid an unexpected end of your Skill interaction, you can also provide an error message for your users.
The selected sample utterances for your Skill must follow the defined rules in order to successfully build a speech model.
Please follow our developer documentation to see all details about the expected writing conventions in different languages.
For supported devices, like Echo Show, Fire TV and Fire Tablets you can create Skill that use both screen and voice interaction. For richer interactions, improved displays and device customizations, you can also add templates with the Alexa Presentation Language (APL).
Graphical Home Cards are displayed in the Alexa app, the Alexa website and on screen-enabled Echo devices to provide additional context information to your voice interaction.
A Home Card:
You can setup an optional Display Interface or use APL to provide additional content on Echo devices with a screen.
A Graphical User Interface:
If you want to use a screen-based interaction, the user experience should be consistently for all screen-enabled Echo devices. You can use the Alexa simulator inside the developer console to check your Skill’s appearance on the various screen types.
The screen-based interaction:
If your Skill is considering these basic guidelines and scenarios, you already completed the first steps to a successful review. For more detailed information, have also a look at our certification checklists.
Also do not worry, if your submission was not successful at the first attempt. Our new Troubleshooting Common Certification Failures section provides potential solutions or workarounds to fix most of the upcoming problems.