Troubleshoot Common Certification Failures
When you submit your skill to the Alexa skill store, it must pass a certification process before you can publish it live to Amazon customers.
This page provides information about common certification failures and offers potential solutions or workarounds to fix the problems.
Issue: Skill description is incomplete
Summary
Does the skill description provide relevant information about the core functionality of the skill?
Passing criteria
- The skill description is complete and there aren't any incomplete sentences.
- The skill description accurately describes all the functionality or features supported in the skill.
- All one-shot phrases in the skill description include the wake word and the correct invocation name.
Common failure scenarios
Issue | Summary of issue | Example of problem | Example of correction |
---|---|---|---|
Skill description doesn't include enough information. |
The short description contains the complete information to use the skill, but the detailed description doesn't contain all the information required to use the skill. |
Short Description: This skill provides a single random fact about space. |
Enter detailed information about how to use the skill in the detailed skill description. Keep the short description as a short sentence that states what the skill is about. |
Skill description describes different features from what's actually in the skill. |
The skill description references functionality that doesn't exist in the skill. |
Description: This skill quizzes you on history facts ranging from the 1800s to 1900s. |
Test your skill by voice and make sure that all the details are correct. |
Skill description contains a typo. |
The description incorrectly describes the skill as "an app." |
Description: To use the app, say "Alexa, Open My Horoscopes." |
You must fix the typo. This example requires changing the word "app" to "skill." |
Issue: Sample utterances contain errors
Summary
When the user invokes the skill and then states the intent by using the provided sample utterances, does each intent return a relevant, understandable, and error free response?
Passing criteria
- All intents return a relevant response to the request.
- All intents return an understandable and valid response.
Common failure scenarios
Issue | Summary of issue | Example of problem | Example of correction |
---|---|---|---|
The skill returns an error. |
When a user speaks back to the skill to confirm or deny an action, the skill responds with error. |
User: "Alexa, open My Horoscopes." |
Make sure the skill handles intents properly. This might require that you walk through the skill and test different scenarios or sample utterances that the user might speak. |
The skill returns an irrelevant response or an erroneous multi-select response. |
In your skill, the user selects Option A, but the skill responds as if user had selected Option B. |
User: "Alexa, open story reader." |
Listen to the response of the skill to make sure that it matches to each of the user's requests. |
The skill has special characters included in the sample utterance, which it can't pronounce. |
Card game skills might include clover or heart symbols that relate to the card suit – for example, ♣♥. |
User: "Alexa, open Random Card." |
A skill can't read special characters and symbols. Instead, spell the special characters out in plain language in the sample utterance. |
Issue: Skill sessions don't automatically close
Summary
Does the skill session close after the user completes the requested task? Is it clear to the user that the skill session is open or closed?
Passing criteria
- The skill session closes after the requested tasks complete. The user isn't prompted for any more inputs.
- The skill must clearly label if a session stays open and actively listens without continuous prompts. For example, on-going conversational skills or adventure skills.
- The skill provides a clear explanation to the user that indicates that a session is open when the skill prompts for input.
Common failure scenarios
Issue | Summary of issue | Example of problem | Example of correction |
---|---|---|---|
Skill sessions stay open after an error occurs. |
After a custom error occurs, such as "Sorry, I didn't understand that.", the session remains open without an additional prompt provided to the user. |
User: "Alexa, open Space Information." |
If your session must remain open after an error, include a specific re-prompt so that the user knows what to say next. |
Skill sessions stay open after the welcome prompt. |
After the welcome prompt finishes giving a short summary of the skill, the session stays open but doesn't prompt the user to take any actions. |
User: "Alexa, open My Horoscopes." |
After the skill provides the welcome prompt and gives a brief summary of the skill, add a prompt to direct the user to continue with an open ended question or multiple choice. |
Skill sessions remain open after a request finishes. |
The skill opens a new session after the welcome prompt, even though the skill already fulfilled the users initial request. |
User: "Alexa, open Space Information." |
For skills such as fact skills, make sure that the session ends after the welcome prompt. The notification ring on a device shouldn't stay blue, indicating that it's still listening for a response. |
Issue: First example phrase contains invalid keywords
Summary
Does the first example phrase contain the wake word and skill invocation name?
Passing criteria
- The first example phrase starts with a wake word. This can be "Alexa," "Computer," "Echo," or "Amazon."
- The first example phrase contains the skill invocation name and the skill launches after uttering the example phrase.
Common failure scenarios
Issue | Summary of issue | Example of problem | Example of correction |
---|---|---|---|
Skill doesn't use a wake word. |
The first example phrase doesn't include a wake word in the beginning of the phrase. Devices that are voice-initiated require a wake word to initialize. |
"Open Space Information." |
Add the wake word at the beginning of the phrase. |
The first example phrase uses an incorrect invocation name. |
The invocation name featured in the example phrase is different from the actual invocation name. |
Invocation Name in the example phrase: "Alexa, Open The Horoscopes." |
Make sure that the invocation name in the example phrases match the invocation name found on Invocation Page. You find this page under the Build tab in the developer console. |
The first example phrase doesn't have an invocation name. |
The first example phrase doesn't have an invocation name included in the example phrase. |
"Alexa, find Zip Code for Seattle Washington." |
Add the invocation name after the wake word. Without the invocation name, user requests route to the Alexa service rather than your skill. To invoke a skill, an invocation name is required. |
Issue: Problems with contextualized Text-To-Speech (TTS) or audio playback response
Summary
Do all the example phrases – including those mentioned in description – provide a contextualized TTS or audio playback response without any error?
Passing criteria
The skill provides relevant TTS or audio playback without errors.
Common failure scenarios
Issue | Summary of issue | Example of problem | Example of correction |
---|---|---|---|
The skill doesn't launch. |
Some invocation names don't work well as a launch phrase. |
Example Phrase: Alexa, begin |
Make sure that your example phrases reach the skill – some launch phrases work better than others depending on the invocation name. |
The skill response isn't the same as what's described in the description. |
The actual skill response is different from the intended request or different than what's written in the skill description. |
Example phrase: "Make an animal sound." |
Make sure that the example phrases respond to the intended requests and matches what's written in the skill description. |
The skill response contains an error. |
The user reaches the requested skill, but it responds with error. |
Example phrase: "Alexa, ask acoustic guitar sounds to play the a chord." |
Make sure that all example phrases respond appropriately without errors. |
Issue: Example phrases aren't modeled correctly
Summary
Are all example phrases modeled exactly on the sample utterances that are specified in the skill's intent schema?
Passing criteria
- All portions of the example phrases must exactly match the sample utterances. This doesn't include the wake word, invocation name, and any related launch phrasing.
- Any slot values used in the example phrase must be contained in the range of slot values.
Common failure scenarios
Issue | Summary of issue | Example of problem | Example of correction |
---|---|---|---|
Vocalized prompts don't match the skill prompt. |
A sample utterance must be defined for all phrases provided within the skill prompt. |
Example of problem vocalized phrase: To start, say "play the music" |
The exact phrase must be defined in the sample utterance. Similar utterances don't count. |
Example phrases aren't defined. |
There are example phrases or phrases in description that aren't defined. |
Example phrase: "Alexa, ask animal sounds to give me cow sounds." |
For modal requests or one-shot phrases, make sure that the exact phrase is defined in the intent schema. |
Slots values are incorrect. |
One of the slot values is missing. |
Example of problem vocalized prompt: "Choose between morning, afternoon, and evening." |
All vocalized values must be defined as slot values. For example: |
Issue: Sample utterance quantity is low
Summary
Is the skill consistently invoked when attempting one-shot requests that aren't covered in the sample utterances?
Passing criteria
Intents should have robust sample utterances so that user requests reach the skill.
Common failure scenarios
Issue | Summary of issue | Example of problem | Example of correction |
---|---|---|---|
Skill fails when a user provides a "Yes" or "No" answer. |
The literal words "Yes" and/or "No" aren't added to the sample utterance |
Example prompt: "Would you like to continue?" |
Make sure that "Yes" and "No" are explicitly included in the intent. It's also a good idea to include utterances such as "continue" or "do not continue", which users are likely to say. |
Skill fails when the user provides a one word answer. |
Units aren't included with the intent. |
Example prompt: "How long is five feet plus twenty feet." |
Users might respond with inches, feet, yard, or just with a number on their own without including any specific units. |
Skill fails when it asks the user an open ended question. |
For skills with multiple functionalities, there aren't enough variations of sample utterance's in the same intent to process the request. Sometimes a user might ask for the same request in a slightly different manner. |
Example of problem prompt: "What would you like to do?" |
Make sure that the skill's intent schema covers all possibilities of open ended questions that a user can ask. |
Issue: Unsupported launch requests and phrasing
Summary
Do all example phrases that include launch requests use supported launch phrasing requests?
Passing criteria
All example phrases must use supported launch phrasing for launch and one-shot requests.
Common failure scenarios
Issue | Summary of issue | Example of problem | Example of correction |
---|---|---|---|
The skill uses an incorrect invocation name. |
There is a typo in the invocation name. |
Actual Invocation Name: My Horoscope. |
"Alexa, open My Horoscope." |
The skill uses an incorrect launch phrase. |
Alexa doesn't support the launch phrase that's used. |
Example Phrase: Alexa, look up |
Alexa, open |
The skill doesn't use a wake word. |
A wake word isn't included in the beginning of the phrase, even though the invocation name and launch phrase are correct. |
Example Phrase: Open |
Alexa, open |
Issue: Duplicate sample utterances across non-Amazon intents
Summary
Are all of the sample utterances unique across all non-Amazon intents?
Passing criteria
The skill doesn't use duplicate sample utterances across different intents.
Common failure scenarios
Issue | Summary of issue | Example of problem | Example of correction |
---|---|---|---|
The skill fails when trying to use an Amazon Built-in intent. |
The extended Built-in intent is already defined in a different Built-in intent and the two intents are conflicting. |
Sample utterance: |
Delete the extended built-in intent, as it's already defined in |
The skill fails when trying to use a custom intent. |
The skill fails because two or more custom intents have the same sample utterance. |
Sample utterance:
|
Either change one of the sample utterances to better match the intent or delete the sample utterance from one of the intents. |
The skill fails when trying to a slot value. |
The skill fails because a custom slot value and an intent contain the same sample utterance. |
Sample utterance:
|
Delete one of the duplicate intents. |
Issue: Sample utterance and slot values contain unsupported values
Summary
Do the sample utterances and slot values use the correct language for each supported language?
Passing criteria
The skill's sample utterances and slot values are written in the correct language for each supported language.
Common failure scenarios
Issue | Summary of issue | Example of problem | Example of correction |
---|---|---|---|
The skill fails when trying to use an acronym or an initialism. |
Acronym: An abbreviation formed from the initial letters of other words and pronounced as a word. |
Example incorrect acronym: n a s a |
Example correct acronym: NASA |
The skill fails when trying to use special characters. |
The skill uses unsupported special characters. |
Example: →, #, + |
Change the characters into pronounceable words, such as next, number, hashtag, or *plus. |
The skill fails when using a different language. |
The skill tries to use an unselected language locale. |
The skill available in US English (en_US), but intents aren't written in English. |
When working with multiple locales for the same skill, make sure that you use the correct language and you have provided the proper support for each language. Don't select that you support another language unless you have translated the text into the target language. |
Issue: Test accounts aren't provided with submission
Summary
When you submit a skill for certification, you must provide the certification team with valid instructions to test your skill, including log-in information.
Passing criteria
Provide the certification team with valid test accounts and testing instructions.
Common failure scenarios
Issue | Example of problem | Example of correction |
---|---|---|
Your certification submission is missing log-in credentials. |
The certification team can't test account linking for your skill, due to a lack of valid credentials. |
Provide valid account linking credentials (e.g. username and password) with your certification submission. |
Issue: Smart home device discovery issues
Summary
When you submit a skill for certification, make sure that there are discoverable devices associated with your testing accounts.
Passing criteria
If your skill supports the Smart Home Skill API or the Video Skill API, you need at least one discoverable device during device discovery.
Issue | Summary of issue | Example of problem | Example of correction |
---|---|---|---|
No devices are discovered during testing. |
When you submit your smart home skill for certification, make sure that your discovered devices remain in your account and online until you receive certification feedback on the skill or certification is complete. |
The certification team can't find any discovered devices to test and verify the functionality of your Smart Home Skill skill. |
Add at least one discoverable device to the account that you submitted for certification. To enable testing by the certification team, make sure that account-linking test credentials are correct and the device is available 24 hours per day, seven days a week. |
Issue: Skill keywords contain invalid keywords
Summary
Your skill description and skill prompts shouldn't contain any keywords that indicate it's a test skill.
Passing criteria
The skill description and responses don't mention that the skill is a trial, sample, or test.
Issue | Summary of issue | Example of problem | Example of correction |
---|---|---|---|
Your skill fails certification because it uses invalid keywords. |
The skill description or prompt mentions that the skill is a trial, sample or test skill. |
Example skill description: This skill is for test purposes. This skill checks your knowledge of trains in Japan! Just launch the skill and the quiz begins, Enjoy. Example prompt: |
Remove any keywords that state the skill is trial, sample, or test. Remove any keywords in the prompts that state the skill is trial, sample, or test. |
Issue: Flash Briefing skills don't contain valid content
Summary
When you submit your skill for certification, your Flash Briefing skill must have valid content to play.
Passing criteria
Flash Briefing content can't be older than seven days. This date is pulled from your Flash Briefing updateDate
or pubDate
values.
If the content is older than seven days, Alexa won't process or read it. When you submit your Flash Briefing skill for certification, make sure your content is valid.
Issue | Example of problem | Example of correction |
---|---|---|
Flash Briefing skills must contain content from within the last seven days. |
User: "Alexa, what's my Flash Briefing?" |
User: "Alexa, what's my Flash Briefing?" |
Issue: Streaming audio issues
Summary
When you submit a custom skill that includes the AudioPlayer interface, make sure that the skill provides error-free audio content and that the URL is publicly accessible. For more details, see Stream audio with audio player.
Passing criteria
- The skill should provide relevant, error free audio content.
- The skill should fulfill the user request.
- The URL is publicly accessible, served over HTTPS to establish a secure connection, and consistently live.
Issue | Summary of issue | Example of problem | Example of correction |
---|---|---|---|
The skill doesn't fulfill the user request. |
The user enabled the skill expecting it would play the genre of music indicated by the skill name, but the skill doesn't plays content appropriate to the skill description. |
The user says, "Alexa, open sixties hits.", but the skill plays a song from the eighties. |
Correct the skill name and skill description to reflect the audio content. |
The URL wasn't accessible during testing. |
When you submit your skill for certification, make sure that your URL is accessible and remains online until you receive certification feedback on the skill or certification is complete. |
The certification team can't verify the functionality of your custom skill with audio. |
Host the audio file at an Internet-accessible HTTPS endpoint on port 443 and present a valid and trusted SSL certificate. To enable testing by the certification team, make sure that the URL is available 24 hours per day, seven days a week. |
Last updated: Apr 24, 2023