Alexa Skill Components
Develop better Alexa skills faster with high-quality pre-made skill components.
Please note: Alexa Skill Components are being provided as a pre-production alpha release in Developer Preview with limited support. Our goal is to solicit feedback on our approach and design building towards their broader general availability in the future. While we will make every effort to minimize it, we do not make any backwards compatibility or rapid turn-around bug-fix promises with this pre-production alpha release. You can sign up for the developer preview here to use these components.
We will be actively making updates to these components and we look forward to mature them with your feedback. So, check back in here to get the latest and greatest version.
Sign up and join us in our effort to help you build more engaging Alexa skills faster!
Table of Contents
Introduction
Skill Components are “ready to use” experiences that you can easily add to your skills, and configure them according to your needs. Each component is a collection of skill primitives, such as VUI dialogs & intents, Alexa Presentation Language (APL) documents, skill code, skill connection tasks, and skill events. They bring together design best practices and pre-built voice experiences, which solve for a myriad of interaction paths that a customer can take. You can import these components into your existing Skill Package, compile, and then deploy your skill. These components are built using Alexa Conversations (AC) and the Alexa Conversations Description Language (ACDL).
Getting Started
1. Install prerequisites
- Ensure you have Node.js v16.13.1+ and NPM v8.1.2+
- Install the ASK CLI for Alexa Conversations
- run
askx configure
to link your Alexa and AWS accounts to the CLI
- run
2. Familiarize yourself with Alexa Conversations Skill Development
- Alexa Conversations
- ACDL Language (for writing sample dialog flows)
- APL and APL-A (for writing audio/visual responses)
- Alexa Skills Kit (ASK) Plug-in for VS Code
For those unfamiliar with skill development, the flight search example skill tutorial is a good starting place.
3. Understand how components work
4. Choose a skill component
Choose a specific skill component that interests you and read it's own "Getting State" guide.
Components
The following skill components are contained in this package:
Component | Description | Status | NPM Package |
---|---|---|---|
Feedback Elicitation | Collect user feedback for your skill | Private Preview | Here |
Catalog Explorer | Explorer a catalog of items including ability to search, refine and perform actions | Private Preview | Here |
List Navigation | Pre-built experience to navigate through a list of items | Private Preview | Here |
Account Linking | Simplifies enabling account linking for your skill | Private Preview | Here |
In Skill Purchases | pre-built experience to enable in-skill purchases | Private Preview | Here |
How Components Work
Component Architecture
Components are NPM packages that skill developers can import into their skills; each component contains sample dialog flows (in the form of a ACDL reusable dialog) and API request handlers (developed in TypeScript) alongside default utterances and audio/visual responses (to aid in an easy on-boarding).
When a skill is deployed, the ACDL, API handlers, responses, etc. from any components being used by the skill will be merged into the skill's other resources and built at the same time.
Note that a skill must be using ACDL to utilize skill components.
Feedback Elicitation is the easiest component to start with to better understand skill components.
Contributing
Alexa's aim is to create a vibrant ecosystem of components jointly developed with the community of Alexa skill developers; all forms of contribution to skill components is welcome, including:
- Submitting issues to help us identify bugs, shortcomings and propose additional components.
- Submitting pull requests for changes to existing components or with a proposed new component.
- Providing feedback on issues and pull requests.
- Helping us expand and improve documentation
- Helping other skill developers on StackOverflow utilize skill components
- Discussing components and helping others in the Alexa Slack community or Developer Forum
Code of Conduct
This project has adopted the Amazon Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opensource-codeofconduct@amazon.com with any additional questions or comments.
Contributing Guide
Read our contributing guide for more information.
Support
Alexa is dedicated to ensuring skill developers of all experience levels can utilize skill components.
If your just getting started, make sure to review the general documentation and the documentation of any specific component that interests you.
If you want to discuss or need some help, please reach out the Slack community, Developer Forum, or on StackOverflow.
If you notice an issue in a component or wish to propose a new component, please submit a GitHub issue.
If your having trouble building a specific skill, then please reach out on the Alexa developer contact form
Security
See security issue notifications for more information on how to report security issues.
License
This library is licensed under the Amazon Software License.