AlexaスキルをClaude Codeで自作した話(Lambda連携)
はじめに
Amazon Echoに話しかけたときに、自分が用意した処理を実行してくれるAlexaスキルを自作してみました。
スキルのコード自体はClaude Codeに作成してもらい、AWSへのデプロイもAWS CLIを使って自動化しています。一方で、Alexa Developer Consoleでの設定だけは手動で行う必要があったため、今回はその手順をまとめます。
今回作成したスキルは自分だけが使えれば十分なので、スキルストアへの公開はせず、「開発中」のまま自分のAmazonアカウントのみで利用できる形にしています。
事前準備
- AWSアカウント(Lambda用)
- Amazon Echoデバイス(Echo Dotなど)
- Alexa Developer Console用のAmazonアカウント(Echoデバイスと同一のアカウント)
Lambdaについて
スキルが呼び出されたときの処理(外部APIへのアクセスや応答テキストの生成)は、AWSのサービスである Lambda で動かします。
Lambdaはサーバーを管理せずにコードを実行できるサービスで、月100万リクエストまで無料で利用できます。今回のような個人利用であれば、費用はほぼかかりません。
作成方法
開発者アカウントを作成し、本人確認を済ませる。
スキル名・ロケール・モデル・ホスティングを設定して新規スキルを作成。
呼び出し名と発話サンプルをJSONで定義しビルドする。
Lambda関数のARNをエンドポイントに登録する。
シミュレーターと実機(Echo)で発話を確認する。
STEP1. Alexa Developer Consoleでアカウントを作成する
Alexa Developer Consoleにアクセスし、開発者アカウントを作成します。
このとき本人確認として、身分証などによる認証が必要です。
STEP2. スキルを作成する
「スキルの作成」をクリックします。

スキルに名前をつけて、プライマリロケールに「日本語(日本)」を選択します。

モデルには「カスタム」を選択します。

ホスティングサービスには「独自のプロビジョニング」を選択します。今回はLambda関数を自分で用意するためです。

テンプレートは「スクラッチで作成」を選び、スキルを作成します。

STEP3. 対話モデルを設定する
左メニューの「JSONエディター」を開き、対話モデルのJSONを貼り付けます。
対話モデルとは、Alexaへの話しかけ方のルールを定義するものです。主に以下の2つを設定します。
- invocationName(呼び出し名): スキルを起動するときに呼ぶ名前(例: 銭湯)
- samples(発話サンプル): スキルを開いた後にどんな言葉で操作するか(例:
混雑度を教えて、今混んでる)
JSONの中身は以下のような形式です。
{
"interactionModel": {
"languageModel": {
"invocationName": "銭湯",
"intents": [
{
"name": "GetCongestionIntent",
"slots": [],
"samples": [
"混雑度を教えて",
"今混んでる",
"空いてる"
]
},
{ "name": "AMAZON.StopIntent", "samples": [] },
{ "name": "AMAZON.CancelIntent", "samples": [] },
{ "name": "AMAZON.HelpIntent", "samples": [] }
]
}
}
}AMAZON.StopIntent などはAlexaの組み込みインテントで、「終了して」などの標準的な言葉に反応するため、合わせて定義しておきます。
JSONを貼り付けたら「モデルを保存」→「モデルをビルド」の順にクリックします。

STEP4. エンドポイントを設定する
左メニューの「エンドポイント」を開き、「AWS LambdaのARN」を選択します。事前にAWS CLIなどでデプロイしておいたLambda関数のARNを入力して保存します。
ARNの形式は以下のとおりです。
arn:aws:lambda:ap-northeast-1:(AWSアカウントID):function:(関数名)

STEP5. テストする
上部の「テスト」タブを開き、テストの実行段階を「開発中」に切り替えてから、テキストで発話を入力して動作を確認します。

STEP6. Alexaアプリでスキルを確認する
開発中スキルは作成すると自動的に有効化されます。念のため、Alexaアプリの「その他」→「スキル・ゲーム」→「マイスキル」→「開発」タブを開いて、作成したスキルが表示されていることを確認しておきましょう。


つまずいたポイント
「〇〇を開いて」と言ってもスキルが起動しない
実際に「アレクサ、(スキル名)を開いて」と話しかけても、Alexaに認識してもらえずうまく起動しないことがありました。
この場合、Alexaの定型アクションと組み合わせることで解決しました。
定型アクションとは、「おはよう」「おやすみ」などの決まったフレーズをトリガーに、複数のアクションをまとめて実行できる機能です。この定型アクションのアクションとしてスキルの起動を登録しておくと、安定して動作するようになりました。
設定はAlexaアプリの「その他」→「定型アクション」から行えます。
まとめ
Alexa Developer Consoleでの操作自体は難しくありませんが、エンドポイント設定を忘れると実機で動かないため注意が必要です。
スキルを「開発中」のまま運用すれば、自分のAmazonアカウントだけで使い続けられるので、個人用の自作スキルとして手軽に試せます。
もしスキルがうまく起動しない場合は、定型アクションと組み合わせることで安定して動作するようになります。





