1. Plan and Design Your Skill a. Think about the value of your skill to other users b. Consider how it may enhance the experience of users. In particular, should it support items such as screen interaction, and should your skill be accessible to groups or everyone? c. Design a voice user interface, which maps out how users will and can interact with the skill you create 2. Set Up the Skill in the Developer Console a. Create a new skill using the developer console. When choosing a model, select "Custom" 3. Using the Voice Design to Build Your Interaction Model a. Create the interaction model in two ways: 1. Use the developer console to provide an updated console for the entire process of skill-building, which includes the interaction model. You can enter and edit the JSON for the interaction model in the editor for JSON, which is useful for pasting in the JSON. 2. Create the JSON for the interaction model. Then, create or update your skill with the Skill Management API or the ASK Command Line Interface b. The interaction model includes intents, slots, utterances, and a dialog model. 4. Write and Test the Code for Your Skill a. Create an AWS Lambda function, which will host the service for the skill. This a Amazon Web Services service that allows you to run code on the cloud without having to worry about the management of servers. OR build a web service for the skill you are creating and host it with a cloud provider. b. Write the code for your skill. If you use Lambda, you can code with: Java, Python, Node.js, C#, or Go. If you host your skill as a web service, you can us any programming language. c. Update your skill with your endpoint in the developer console. d. Test your skill using an Alexa-enabled device or with the Test page e. Update the metadata about your skill, which will appear in the Alexa app, within the Alexa Skills Store. 5. Beta Test Your Skill (Optional Step) a. Once the skill is finished, you can set up a beta test for your skill. This makes your skill available to a number of people that you personally select, which allows them to test it out. 6. Submit Your Skill for Certification a. Run the validation and functional tests on the developer console's certification page. This helps identify issues that need to be fixed before submitting the skill. b. Review the submission checklist, which include the tests performed by the certification team for Amazon. Passing all these tests speeds the certification process up. c. Once you have ensured that the skill fulfills certification requirements and you feel it is complete, you can submit the skill for certification.