逆引きASK CLI:自分の作ったスキルテンプレートでask newしたい

Alexaスキル開発

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 しても色々修正しないといけなかったりするんですよね。

ぜひ自分の開発スタイルに合ったテンプレートを作成して、開発をスムーズに始められるようにしてみてください。

この記事がみなさんの開発の助けになれば幸いです。
それでは、今日も素敵なアレクサライフを!

コメント

タイトルとURLをコピーしました