Troubleshooting 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: problems with skill description

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.

Detailed Description: Simply say "Alexa, open Space Information" to launch the skill.

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.

Short Description: This skill provides a single random fact about space.

Detailed Description: This skill provides a single random fact about space. Simply say "Alexa, open Space Information" to launch the skill."

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.

Problem: The skill only includes quizzes for the 1800s and not the 1900s.

Test your skill by voice and make sure that all the details are correct.

For example, if the skill description says that the skill includes history quizzes from the 1800s to 1900s, you must verify that this functionality is accurate. If a feature doesn't exist or differs from what you initially wrote, change the description to match the core functions of the skill.

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."

Description: To use the skill, say "Alexa, open My Horoscopes."

Issue: problems with sample utterances

Summary

When using modal requests with 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."

Skill: "Welcome to My Horoscopes! You can ask for a specific zodiac at any time or I can go through all 12 signs. Would you like me to go through the list of signs?"

User: "Yes."

Skill: "There was a problem with the requested skill's response."

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.

In your skill, the user selects Option A, but the skill responds as if user had selected Option B.

User: "Alexa, open story reader."

Skill: "Welcome to the story reader skill. You are able to choose how the story progresses by choosing option A or option B at certain points of the story. Let's start."

Skill reads out a story.

Skill: "You now get to choose the next action the character makes. Do you choose option A or option B?"

User: "Option A."

Skill: "You chose Option B."

Skill continues the story with Option B.

Listen to the response of the skill to make sure that it matches to each of the user's requests.

In the provided example, the story should have continued with Option A.

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 ."

Skill: "10 of ♣".

Skill can't pronounce the clover symbol.

A skill can't read special characters and symbols. Instead, spell the special characters out in plain language in the sample utterance.

User: "Alexa, open Random Card."

Skill: "10 of clubs."

The skill reads out the word clubs instead of trying to interpret the clubs symbol ♣.

Issue: problems with skill sessions

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 Facts."

Skill: "Welcome to Space Facts! Which planet would you like to learn about?"

User: Ocean.

Skill: "Sorry, I didn't understand that."

The skill session remains open.

If session must remain open after error, include a specific re-prompt so that the user knows what to say next.

User: "Alexa, open Space Facts."

Skill: Welcome to Space Facts! Which planet would you like to learn about?

User: Ocean.

Skill: "Sorry, I didn't understand that. Please say a planet name to learn more about it."

The skill session remains open.

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."

Skill: "Welcome to My Horoscopes!"

The skill session remains open.

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.

User: "Alexa, open My Horoscopes."

Skill: "Welcome to My Horoscopes! Which zodiac would you like to know?"

The skill session remains open.

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 Facts."

Alexa: "A year on Mercury is just 88 days long" .

The skill session remains open.

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.

User: "Alexa, open Space Facts."

Alexa: "A year on Mercury is just 88 days long."

The skill session remains open.

Issue: problems with first example phrase

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 initalize.

"Open Space Facts."

Add the wake word at the beginning of the phrase.

For example. "Alexa, Open Space Facts."

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.

In our example, the user asks to open "The Horoscopes" when the skill is actually named "My Horoscopes" in the developer console.

Example phrase: "Alexa, Open My Horoscopes."

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."

Actual Invocation Name: Zip Code Finder.

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.

"Alexa, ask Zip Code Finder to find the zip code for Seattle Washington."

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 <invocation name>.

User: "Alexa, begin <invocation name>" .

History Page for the user utterance: "Alexa, begin <invocation name>" .

The history page doesn't reflect the correct skill name in the message that states "This request was sent to <skill name>."

Make sure that your example phrases reach the skill – some launch phrases work better than others depending on the invocation name.

You should always confirm your example phrase by voice and check the utterance history in the Alexa app.


The history page shows what utterance is registered in your request. This log should match the phrase that you spoke. The message you see is displayed in the following format: "This request was sent to <skill name>."

The skill response isn't the same as 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."

User: "Alexa, open Animal Sounds"

Skill: "Welcome to the Animal Sounds skill! What would you like to do?"

User: Make an animal sound.

Skill: Plays back a car honking sound.

Make sure that the example phrases respond to the intended requests and matches what's written in the skill description.

User: "Alexa, open Animal Sounds" .

Skill: "Welcome to the Animal Sounds skill! What would you like to do?"

User: Make an animal sound.

Skill plays back a sound of dog barking.

The skill response contains an error.

The user reaches the requested skill, but it responds with error.

Examples "There was a problem with the requested skill's response" or "undefined."

Example phrase: "Alexa, ask acoustic guitar sounds to play the a chord."

User: "Alexa, ask acoustic guitar sounds to play the G minor chord."

Skill: "I will play undefined chord."

Skill plays a chord.

Make sure that all example phrases respond appropriately without errors.

User: "Alexa, ask acoustic guitar sounds to play the G minor chord."

Skill: "I will play the G minor chord."

Skill plays the G minor chord.

Issue: problems defining example phrases

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"

Sample utterance: PlayIntent play music.

The exact phrase must be defined in the sample utterance Similar utterances don't count.

Sample utterance: PlayIntent play the music.

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."

Sample utterance: CowIntent cow sounds.

For modal requests or one-shot phrases, make sure that the exact phrase is defined in the intent schema.

Sample utterance: CowIntent give me cow sounds.

Slots values are incorrect.

One of the slot values is missing.

Example of problem vocalized prompt: "Choose between morning, afternoon, and evening."

Custom Slot Values:
  • {Time} morning
  • {Time} evening

All vocalized values must be defined as slot values. For example:

Custom Slot Values:
  • {Time} morning
  • {Time} afternoon
  • {Time} evening

Issue: problems with sample utterance quantity

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?"

Sample utterance:
  • YesIntent continue.
  • NoIntent do not 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.

Sample utterance:
  • YesIntent yes.
  • YesIntent continue.
  • NoIntent no.
  • NoIntent do not continue.

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."

Sample utterance: AnswerIntent {number}.

Users might respond with inches, feet, yard, or just with a number on their own without including any specific units.

Sample utterance:
  • AnswerOnlyIntent {number}.
  • AnswerIntent {number} feet.
  • AnswerIntent {number} inches.

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?"

Sample utterance:
  • AnswerIntent {number}.
  • PatternIntent learn more about patterns.
  • PatternIntent I want to know about patterns.
  • ColorIntent colors.
  • ColorIntent tell me more about colors.

Make sure that the skill's intent schema covers all possibilities of open ended questions that a user can ask.

Sample utterance:
  • AnswerIntent {number}.
  • PatternIntent learn more about patterns.
  • PatternIntent patterns.
  • PatternIntent tell me more about patterns.
  • PatternIntent I want to know about patterns.
  • ColorIntent learn more about colors.
  • ColorIntent colors.
  • ColorIntent tell me more about colors.
  • ColorIntent I want to know about colors.

Issue: problems with launch phrasing

Summary

Do all example phrases that include launch requests use supported launch phrasing?

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.

Example Phrase: "Alexa, open The 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 <invocation name>.

Alexa, open <invocation name>.

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 <invocation name>.

Alexa, open <invocation name>.

Issue: problems with duplicate sample utterances

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 a 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: Amazon.CancelIntent goodbye.

Delete the extended built-in intent, as it's already defined in Amazon.StopIntent.

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:
  • WhatCanIBuyIntent buy.
  • BuyConfirmIntent buy.

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:
  • IntentA I want a {Slot}.
  • IntentB I want a fact.

Custom Slot Values: {Slot} fact.

Delete one of the duplicate intents.

Issue: problems with sample utterance language

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.

Initialism: An abbreviation consisting of initial letters pronounced separately.

Example incorrect acronym: n a s a
Example incorrect initialism: gps

Example correct acronym: NASA
Example correct initialism: g. p. s.

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.

Sample utterance: StartIntent empezar.

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.