Alexaのスキル開発をする方法は、開発コンソールを使う方法とASK CLIというツールを使う方法があります。
最初は開発コンソールを使ったほうがわかりやすいですが、ASK CLIを使ったほうが効率がよかったり、ASK CLIでしかできない操作もあったりします。
今回は自作のスキルテンプレートをASK CLIで使う方法を紹介します。
事前準備:スキルの作成
まずはテンプレートにするスキルを開発しましょう。自分の開発しやすい環境で作っておくとテンプレート化した時にスムーズに開発をすすめられるようになります。
ステップ1:スキルテンプレートの作成
自作のスキルをテンプレートととして使えるように修正します。
既に開発したスキルをテンプレートで使用できるようにしていきます。
.ask フォルダ配下を ask-states.json だけにしましょう。
そして、ask-states.json のスキルの情報は削除して↓にしておきます。
{
"askcliStatesVersion": "2020-03-31",
"profiles": {
"default": {
"skillInfrastructure": {
"@ask-cli/lambda-deployer": {
"deployState": {}
}
}
}
}
}
ステップ2:Githubに登録する
スキルテンプレート用のソースコードをGithubに登録します。
ステップ3:ブランチを作成する
今回の作業で一番のポイント、スキルテンプレート用のソースコードのリポジトリで
”ask-cli-x”という名前でブランチを作成します。
(ask newコマンドでこの名前のブランチを探してcloneするようです。)
ステップ4:ask new でスキルを作成する
いよいよ ask new コマンドを実行します。
実行の時にテンプレート用のリポジトリを以下のように指定します。
ask new --template-url https://github.com/・・・/・・・.git
ask new のみだと、言語やテンプレートの選択が出てきますが、テンプレートを指定しているので選択はでてきません。
代わりに以下の注意が表示されます。
[Warn]: CLI is about to download the skill template from unofficial template https://github.com/div-alexa/alexa-skill-template.git. Please make sure you
understand the source code to best protect yourself from malicious usage.
オフィシャルなテンプレートじゃないので悪意のあるものじゃないか気をつけて、ということですが自作なので問題ないですね。

スキル名、フォルダ名を入力すれば、無事完了です。
完了したら作成したフォルダに入って、ファイルを確認してみましょう。
skill.json の name が指定したスキル名になっているはずです。
VSCodeを使っている方なら、今作ったスキルをGitHubに発行することも簡単にできます。

まとめ
ask newコマンドで自作のテンプレートを使う方法をご紹介しました。
公式のテンプレートだと言語が英語なので ask new しても色々修正しないといけなかったりするんですよね。
ぜひ自分の開発スタイルに合ったテンプレートを作成して、開発をスムーズに始められるようにしてみてください。
この記事がみなさんの開発の助けになれば幸いです。
それでは、今日も素敵なアレクサライフを!
コメント