The Alexa Skills Kit Command Line Interface (ASK CLI) is a tool for you to manage your Alexa skills and related AWS Lambda functions. With the ASK CLI, you can now quickly and easily create new skills and update your existing skills from the command line and local development environment.
NPM:
Step 1: Prerequisites for ASK CLI
Step 2: Install ASK CLI
Use npm to install ASK CLI. Run the npm global install command into the ask-cli folder:
$ npm install -g ask-cli
If you are using Linux, the installation may require sudo
:
$ sudo npm install -g ask-cli
Step 3: Initialize ASK CLI
The first time you use ASK CLI, you must call the init
command to initialize the tool with your Amazon developer account.
$ ask init
You will be prompted to select your profile and to log in to your developer account. Once the initialization is complete, you can use ASK CLI to manage your skills.
Step 4: Use ASK CLI Commands to Manage Your Skills
Creating a new skill
The ask new
command allows you to quickly create a new Alexa skill.
$ ask new --skill-name 'my-skill'
$ cd my-skill
$ ask deploy
This will create a fully working "Hello World" skill that can be enabled and invoked immediately. If you make any subsequent changes, just use ask deploy
again to deploy all of your changes.
Working on an existing skill
The ask clone
command allows you to set up a local project from your existing skill.
$ ask clone --skill-id 'amzn1.ask.skill.UUID'
$ cd my-existing-skill-name
# make some changes here
$ ask deploy
ask deploy
will deploy all of your changes to skill manifest, interaction models, and AWS Lambda function(s).
To see all of the commands available in ASK CLI, refer to the ASK CLI Reference.
Change Log
May 3, 2018
v1.3.0
- Started supporting In-Skill Product management.
- Added new commands "ask add isp" and "add remove isp" to add/remove In-Skill Products to/from the local skill project.
- Added new command "ask status --isp" which can be used to track the deploy status of In-Skill Products.
- Modified "ask deploy" command to support deploying In-Skill Products with Skill.
- Added a new target "isp" to the "ask deploy --target " command to support standalone In-Skill Product deployment.
- Modified "ask clone" command to support cloning In-Skill Products associated with existing Skill.
- Added list of new API commands to support In-Skill Products management.
- Integrated the AWS credentials setup functionality into the CLI. CLI can use environment variables (ASK_REFRESH_TOKEN, AWS_ACCESS_KEY_ID, and so on) to run all the operations.
- New command "ask util generate-lwa-token", which enables the users to generate access token from their own 3P client credential.
- Changed the timeout for CLI generated Lambda function to 8s.
April 26, 2018
v1.2.2
- Supported the usage of profile for "ask new --template".
- Changed the invocation name of the hello world template to "greeter".
- Avoid enabling skill when using "ask deploy --no-wait" to create the skill and model for the first time.
April 25, 2018
v1.2.1
- Enforced the regex pattern of profile name for ASK CLI to be /[a-zA-Z0-9-_]+/.
April 18, 2018
v1.2.0
- Changed the SDK dependency of the HelloWorld template skill for "ask new" comand to "ask-sdk-core" v2 and "ask-sdk-model".
- Changed the runtime setting for CLI's creation of Lambda function from v6.10 to v8.10 to support latest Javascript syntax.
- Provided better error handling for "ask new --url" when the url or its content is invalid.
- Fixed the bug for "ask clone" with a profile where the name of the AWS profile is different than the ASK profile.
- Modified "Hello World" template by removing the US_FIRST_NAME intent to support non-US users.
April 11, 2018
v1.1.6
-
Added two new API commands: get-validation and validate-skill.
-
Added new command "ask validate" which can be used to validate a skill before submission for certification or at any time during development as regression testing.
April 10, 2018
v1.1.4
- Added new API command: intent-requests-history.
- Fixed bug for transforming skill manifest from v0 to v1.
March 12, 2018
v1.1.2
- Bug fix for "ask clone" with a non-default profile.
January 31, 2018
v1.1.0 brings the ASK CLI out of beta, with a few notable changes.
- Added new API commands: delete-account-linking, enable-skill, disable-skill, get-skill-enablement.
- Added get-skill-status API and remove get-model-status API. Response for get-skill-status will include the status for manifest and all interaction models for the skill.
- Added optional "stage" parameter for the following API commands, allowing retrieval of live skill details: get-skill, get-model, head-model, get-account-linking.
- skill.json now has "manifest" instead of "skillManifest" as the top-level key. The merge field in /.ask/config will also be changed to "manifest".
December 28, 2017
- Version: 1.0.0-beta.9
- Support the setting for default expiration time for create-account-linking API.
December 7, 2017
- Version: 1.0.0-beta.8
- "ask new --template" message improvements.
November 30, 2017
- Version: 1.0.0-beta.6
- Publish private skill management for ask-cli.
November 22, 2017
- Version: 1.0.0-beta.5
- "ask new" supports option usage of "--template" now. User can select specific template as the start of skill development.
October 27, 2017
- Version: 1.0.0-beta.4
- Support Lambda for India and FarEast region.
October 13, 2017
- Version: 1.0.0-beta.3
- Add delete-skill command in "api" namespace.
- Check port usage for ask init to avoid port conflict.
- Forbid empty string for account linking creation.
October 6, 2017
- Version: 1.0.0-beta.2
- Add constraints and filtering for skill names.
September 12, 2017
- Version: 1.0.0-beta.1
- Error message improvement for Lambda operations.
September 5, 2017
- Version: 1.0.0-beta.0
- Birthday for ask-cli.