Alexa Skills Kit Command Line Interface Overview
- Alexa Skills Kit Command Line Interface (ASK CLI)
- Object Schemas
- Develop a skill with a team of developers
The Alexa Skills Kit Command Line Interface (ASK CLI) is a tool that developers use to manage their Alexa skills and related resources, such as interaction models and account linking details, from the command line. It can be used interactively, in scripts, or can be plugged into any build system or continuous integration or continuous deployment product that supports command line execution steps. It performs skill management actions by calling the Alexa Skill Management API under the hood. ASK CLI can be used to create, read, update, and test Alexa skills and connected AWS Lambda functions, as well as to submit skills for certification or withdraw them.
Alexa Skills Kit Command Line Interface (ASK CLI)
ASK CLI can be installed from npm. See ask-cli package on npm. If you already have ASK CLI installed and want to update to the latest version, install it in the same way as a new user.
See Alexa Command Line Interface Quick Start to see the prerequisites and to get started with ASK CLI. The ASK CLI makes it easy to do the following, among other tasks:
- Create a new skill project
- Deploy a skill project to the development stage
- Clone an existing skill to a local skill project
- Simulate and test a skill from the command line
- Call individual Alexa Skill Management APIs
- Download or upload Lambda code
- View CloudWatch logs
When you manage Alexa skills with ASK CLI or SMAPI, you need the JSON format for representing each resource.
Develop a skill with a team of developers
ASK CLI facilitates creating a skill with a team of developers.
Team account management best practice
ASK CLI uses the Authorization Code grant approach following the OAuth 2.0 standard. Thus as a client-side tool, so it is your responsibility to ensure the security of the the refresh token which can retrieve the access token. Good security practice requires additional caution when a skill is being developed by a team, as leakage of the refresh token can happen more easily, particularly if the team shares the same team account.
It is recommended that the team leader who owns the vendor owner account should also have an unshared customer account. The access for other developers, each of whom should also use their own customer accounts, is managed by memberships to the vendor. This approach strictly define the permissions within your team and voids the refresh token once a release has occurred.
For details about how to create a single application with multiple accounts, see Manage Your Amazon Developer Account and Permissions–Create Multiple Accounts.
To add developers to your vendor owner account, see Manage Your Amazon Developer Account and Permissions–Add Other Users.
Solution to compromised account
If you suspect your account has been compromised, you can follow the solution based on your situation below.
If you need to:
Revoke all the refresh tokens: Turn to Your Account > Manage Login with Amazon and remove your application from there. By doing this, all the refresh tokens that your team has already stored in ASK CLI will be invalidated, but the non-expired access token will still work. The next time that you authenticate through Login with Amazon, you will be prompted to grant the scopes again. Then ASK CLI application will be created again in Login with Amazon.
Reset password for your Amazon account: After you reset your password, you must revoke the refresh token by following the instructions in the previous point. This will guarantee that all the refresh tokens which have been stored in ASK CLI are revoked.