Skip to content

Commit 93a22cb

Browse files
committed
More notes.
1 parent 2ba4e4a commit 93a22cb

File tree

2 files changed

+122
-3
lines changed

2 files changed

+122
-3
lines changed

AWS Certified Alexa Skill Builder - Specialty.md

Lines changed: 119 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,23 +33,31 @@ Handle Corrections
3333
Plan for Errors (gracefully handle errors, don't use generic responses)
3434
Anticipate for Alexa not understanding (feature not available etc.)
3535

36+
[Be Adaptable](https://developer.amazon.com/en-US/docs/alexa/alexa-design/adaptable.html)
37+
3638
_Personalization_ - personalized skill remembers interactions and information about the user
3739

3840
Custom welcome message (explain the skill for first time, second time say welcome back etc.)
3941
Remember user information
4042
Remember user interactions (persist to database)
4143

44+
[Be Personal](https://developer.amazon.com/en-US/docs/alexa/alexa-design/personal.html)
45+
4246
_Availability_ - available skill guides the user and keeps all options open
4347

4448
Response Time Limits - 8 second time limit for user, prompt after the time limit
4549
Effectively Manage lists - simple options, use [Speech Synthesis Markup Language (SSML)](https://developer.amazon.com/en-US/docs/alexa/custom-skills/speech-synthesis-markup-language-ssml-reference.html)
4650

4751
Complete Task and End the Session - end session after you fulfill a user's request
4852

53+
[Be Available](https://developer.amazon.com/en-US/docs/alexa/alexa-design/available.html)
54+
4955
_Relatability_ - relatable skill allows the user to feel like they are having a conversation
5056

5157
Don't make it formal, vary responses, use transition and timeline markers
5258

59+
[Be Relatable](https://developer.amazon.com/en-US/docs/alexa/alexa-design/relatable.html)
60+
5361
## Voice Considerations
5462

5563
Think voice first and screen second (not a requirement), provide context and mind the 8 seconds response rule (no information overload)
@@ -160,10 +168,118 @@ npx alexa-sfb
160168

161169
## Invocation Name
162170

171+
> Only used for Custom Skill, not needed for prebuilt model
172+
163173
[Invocation Name Requirements](https://developer.amazon.com/en-US/docs/alexa/custom-skills/choose-the-invocation-name-for-a-custom-skill.html#cert-invocation-name-req)
164174

165175
Invoking using:
166176

167-
- IntentRequest
168-
- LaunchRequest (no intent)
169-
- CanFulfillIntentRequest (no name)
177+
- IntentRequest (Alexa - tell APP to do something)
178+
- LaunchRequest (no intent - Alexa open App)
179+
- CanFulfillIntentRequest (no name, Alexa searches for a skill to match request)
180+
181+
> Intent is an action that fulfills user's request (has a NAME and list of UTTERANCES)
182+
183+
2 types of Intents:
184+
185+
- Built-in
186+
187+
Standard
188+
_CancelIntent_
189+
_HelpIntent_
190+
_StopIntent_
191+
_FallbackIntent (no match)_
192+
NextIntent
193+
YesIntent
194+
NoIntent
195+
PauseIntent
196+
SearchAction (lookup information)
197+
198+
Standard with screen
199+
_NavigateHomeIntent_ (ends skill session, user leaves the skill)
200+
201+
[Standard Built-in Intents](https://developer.amazon.com/en-US/docs/alexa/custom-skills/standard-built-in-intents.html)
202+
203+
- Custom (complete control)
204+
205+
> Slot(s) are values passed to the utterance
206+
207+
[Slot Type Reference](https://developer.amazon.com/en-US/docs/alexa/custom-skills/slot-type-reference.html)
208+
209+
## Interfaces
210+
211+
Audio Player - streaming audio and monitoring playback
212+
Display/ DisplayTemplate
213+
Video App - streaming video files
214+
GadgetController / GameEngine
215+
CanFulfillIntentRequest - no name
216+
Alexa Presentation Language
217+
Auto Delegation / Dialog
218+
219+
[List of Alexa Interfaces and Supported Languages](https://developer.amazon.com/en-US/docs/alexa/device-apis/list-of-interfaces.html)
220+
221+
## Request Types
222+
223+
- LaunchRequest - opening the skill
224+
- IntentRequest - sent when intent corresponds with user query
225+
- SessionEndedRequest - when session ends (any reason)
226+
- CanFulFillIntentRequest - when Alexa is querying if there is a skill that can fulfill the intent (can opting but then need to implement it for all intents)
227+
228+
## Handlers
229+
230+
Request Handlers - handle incoming request and response
231+
Exception Handlers - for errors
232+
Handler Classes - implement the abstract class `AbstractRequestHandler` and its two methods, `can_handle()` and `handle()`
233+
234+
> Leverage userId and deviceId for personalization and segmentation along with DynamoDB
235+
236+
## Screen Devices
237+
238+
[Available standard built-in intents for Alexa-enabled devices with a screen](https://developer.amazon.com/en-US/docs/alexa/custom-skills/standard-built-in-intents.html#built-in-intents-echo-show)
239+
240+
> Must implement Amazon.PreviousIntent and Amazon.NextIntent
241+
242+
Card types:
243+
244+
- Simple (title and content)
245+
- Standard (title, text and image)
246+
- Linked Account
247+
- AskForPermissionsConsent
248+
249+
[Cards displayed on Alexa-enabled devices with a screen](https://developer.amazon.com/en-US/docs/alexa/custom-skills/best-practices-for-skill-card-design.html#types-of-cards)
250+
251+
[When to include cards, and how often?](https://developer.amazon.com/en-US/docs/alexa/custom-skills/best-practices-for-skill-card-design.html#when-to-include-cards-and-how-often)
252+
253+
> _Limit the number of cards_ Too many will take the user out of the voice experience. Avoid pushing cards with every response, unless it is absolutely necessary.
254+
255+
> For screen devices, voice should remain the primary form of interaction, and as much as possible, the user should be able to navigate through the skill strictly by voice.
256+
257+
Display templates:
258+
259+
- Body Templates (1 - 7) - can't select images
260+
- List Templates () - can select images
261+
- Images
262+
263+
[Display Template Reference](https://developer.amazon.com/en-US/docs/alexa/custom-skills/display-template-reference.html)
264+
265+
[Display Interface Reference](https://developer.amazon.com/en-US/docs/alexa/custom-skills/display-interface-reference.html#display-templates-for-skills-that-support-screen-display)
266+
267+
> Display Template is used if both Display Template and Card are in the response
268+
269+
> check the `{device: supportedInterfaces}`
270+
271+
## Alexa Presentation Language (APL)
272+
273+
> Offer more control than Display Template(s)
274+
275+
[Understand Alexa Presentation Language (APL)](https://developer.amazon.com/en-US/docs/alexa/alexa-presentation-language/understand-apl.html)
276+
277+
## Speech Synthesis Markup Language (SSML)
278+
279+
[Supported SSML tags](https://developer.amazon.com/en-US/docs/alexa/custom-skills/speech-synthesis-markup-language-ssml-reference.html#ssml-supported)
280+
281+
> Leverage _Voice & Tone_ tab to experiment with SSML tags
282+
283+
[PlaybackController](https://developer.amazon.com/en-US/docs/alexa/device-apis/alexa-playbackcontroller.html)
284+
285+
> The Alexa.PlaybackController interface describes messages that are used to play, stop, and _navigate_ playback for audio or video content.

Useful.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
[Alexa Skills Kit Blog](https://developer.amazon.com/en-US/blogs/alexa/alexa-skills-kit)
2+
3+
[Alexa Design Guide](https://developer.amazon.com/en-US/docs/alexa/alexa-design/get-started.html)

0 commit comments

Comments
 (0)