Create a Developer Console account

You use the developer console to create a configuration for the skill. This configuration collects information about the skill, such as its name, the type of interaction model to use, the endpoint or content feed, and other information. The Alexa service uses the configuration to determine which user requests should be sent to the service for your skill.

What do you need for a custom skill?

To build a custom skill, you need:

An Internet-accessible endpoint for hosting your cloud-based service.

The simplest option for this is to use AWS Lambda (an Amazon Web Services offering). In this case, you need an account with Amazon Web Services in addition to your Amazon developer account.

Alternatively, you can build and host an HTTPS web service. In this case, you will need a cloud hosting provider and an SSL certificate.

A development environment appropriate for the programming language you plan to use. You can author a Lambda function in Node.js, Java, Python, C#, or Go. You can author a web service in any language appropriate for web services.

A publicly accessible web site to host any images, audio files, or video files that you use in your skill. If you have no such files other than for a skill icon, you do not need to host any resources. One possible solution is to use an Amazon Simple Storage Service (S3) instance, (an Amazon Web Services offering).

Optionally, a device with Alexa for testing. Skills work with all devices with Alexa, such as the Amazon Echo, Amazon Echo Dot, Amazon Tap, Fire TV, and devices that use the Alexa Voice Service.

If you don't have a device, you can use a simulator on the Test page for testing. You can also see what the display templates for Echo Show and Echo Spot look like, although the display is not interactive. In addition, if your skill includes display and touch interactions, you require an Alexa-enabled device with a screen to test it.

What do you need for a smart home skill?

The cloud-enabled device that you want to control (such as a light, switch, or thermostat). The device must be controllable via a cloud-based service that you have access to.

An account with Amazon Web Services, needed for a Lambda function to host the skill code. Skills built with the Smart Home API must be hosted on AWS Lambda.

A development environment appropriate for the programming language you plan to use. You can author a Lambda function in Node.js, Java, Python, C#, or Go.

An Alexa-enabled device for testing. Skills work with all Alexa-enabled devices, such as the Amazon Echo, Amazon Echo Dot, Echo Show, Fire TV Cube, Fire TV, and devices that use the Alexa Voice Service.

If you don't have a device, you can use a simulator on the Test page for testing.