Alexa Skills Kit SDK に関する知識ゼロからスタートして、約3週間で、審査を通って公開されたSkillを開発するのに役立ったURL

# はじめに
「大事だったところに、赤い印をつけました」（2018年2月時点）
先日、申請したスキルが公式認定を通って公開されたので、各種リンク（公式情報中心）を備忘もかねて投稿します。

# リリースしたSkill
家族の要望も入れてつくったクイズのカスタムスキルで、

- 「[魚へんクイズ](https://www.amazon.co.jp/dp/B079PTJTZ3)」（難易度高めの漢字）
- 「[草かんむりクイズ](https://www.amazon.co.jp/dp/B079RPWF1J)」（難易度低めの漢字）

の二種類です。

> Alexa出題「草かんむりに、母と書いて、なんと読むでしょう...？」 →　ユーザー回答「苺 !」 

のように遊びます。課金予定設定も完全OFFなので、環境のあるかたはぜひ楽しんでいただけたらうれしいです！

（Alexa　https://alexa.amazon.co.jp/spa/index.html）
<img width="232" alt="skills.JPG" src="https://qiita-image-store.s3.amazonaws.com/0/121307/abb1490c-e1b3-de20-33b3-11d5434ff0e6.jpeg">


以下のような進行状況でした。

- 2018/1/21 実機入手　←　スタート
- 2/3 Alexa公式ハンズオン参加
- 2/9 「魚へんクイズ」を審査へ提出
- 同日 フィードバック（申請チェックリスト対応漏れ）
- 2/13 フィードバック内容修正後、「魚へんクイズ」と「草かんむりクイズ」を審査へ再提出
- 同日 両スキル審査通過　←　リリース

帰宅して、私が夜中につくって、家族で朝テストするー　というようなことをしていました。
「魚へんに”京都のきょう”と書いてなんとよむでしょう」というAlexaの問いに、こどもたちが「ゴリラ－！」と答えるなど、厳しいテストをしてくれました。

# TL;DR
公式情報is至高。

- （重要度：<font color="red">★★★★★</font>）デザインプロセスについて
    - 実装していくうちに「この機能はやめておいた方がいいな…」ということが次々顕れたので「最終的に何がやりたいのか」を単純明快にしておかないと破綻…。Alexa公式の 音声デザインガイド > デザインプロセス が助けになりました
    <blockquote class="twitter-tweet" data-lang="ja"><p lang="ja" dir="ltr">スキルを開発する上では、音声デザインが重要です。台本やセリフの作り方など、例を載せています⇒<a href="https://t.co/IjYrpk7KXa">https://t.co/IjYrpk7KXa</a>　<a href="https://twitter.com/hashtag/Alexa?src=hash&amp;ref_src=twsrc%5Etfw">#Alexa</a> <a href="https://twitter.com/hashtag/%E3%82%A2%E3%83%AC%E3%82%AF%E3%82%B5?src=hash&amp;ref_src=twsrc%5Etfw">#アレクサ</a> <a href="https://twitter.com/hashtag/AlexaSkills?src=hash&amp;ref_src=twsrc%5Etfw">#AlexaSkills</a> <a href="https://t.co/Eo4Yz3RM29">pic.twitter.com/Eo4Yz3RM29</a></p>&mdash; Alexa Developers JP (@AlexaDevsJP) <a href="https://twitter.com/AlexaDevsJP/status/963335498021261312?ref_src=twsrc%5Etfw">2018年2月13日</a></blockquote>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

- [github] alexa公式サンプル他コード群 （重要度：<font color="red">★★★★</font>）
https://github.com/alexa
    - ずばりクイズのサンプルなどもあるので、車輪再発明はせずに、公式からスタート地点をつくれてよかったです
    - インテント・スロット・エンドポイントの３つのちからをどう組み合わせて機能を実現するか、の読み解きについて
    - プログラムを書くエンドポイント（lambda実装など）を中心に実装を考えてしまいがちだったのですが、インテント・スロットへの機能設定次第で可能になることが広がるので、各サンプルの models ディレクトリが参考になりました
- [alexa] Alexaスキルの音声インターフェースとユーザーエクスペリエンスのテスト （重要度：<font color="red">★★★★</font>）
https://developer.amazon.com/ja/docs/custom-skills/voice-interface-and-user-experience-testing-for-a-custom-skill.html
    - 審査の際、フィードバックで頂いたのはこちらの内容でした。読み漏らしていました…。
- Alexa公式ハンズオン
    - 「何ができるか」の情報はドキュメントなどで分かる部分が多いのですが、「何ができないか」などを知見の深いかたに直接伺う機会を頂けたので、今後のためにもとても良かったです

↓↓↓　以下、いろいろリンクです　↓↓↓　　

# 1. アカウント周り（重要度：<font color="red">★★★</font>）
[Alexa Blog Japan] Alexa 開発者アカウント作成時のハマりどころ
https://developer.amazon.com/ja/blogs/alexa/post/9f852a38-3a44-48bd-b78f-22050269d7c7/hamaridokoro

- ↑　まんまとハマって時間を無駄にした
- 設定項目「開発者名」は原則変更できない（サポート問合せ個別対応事項）
- ↓　クレジットはスキル公開前から申請できる

[Alexa] AlexaのAWSプロモーションクレジット (申請すれば、Alexaスキルの開発とホスティングがほぼ無料に)
https://developer.amazon.com/ja/alexa-skills-kit/alexa-aws-credits

# 2. コンセプト検討時
[Alexa docs] 音声デザインガイド > デザインプロセス（重要度：<font color="red">★★★★★</font>）
https://developer.amazon.com/ja/designing-for-voice/design-process/

[Alexa blog 日本] Alexaスキル内の広告について（ # 開発完了後の認定フェーズで失敗しないために...）
https://developer.amazon.com/ja/blogs/alexa/post/de085f2a-3cfb-4549-9f23-52cdef6f263a/certification-jp-3rd

[google - news] "alexa マネタイズ"
https://goo.gl/dMdqgM

[google - news] "alexa business" # 2018/02/10 時点 alexa for business 日本版リリース時期未定
https://goo.gl/XvgD3R


# 3. 知識導入
[Alexa] Alexaスキル開発トレーニング 全6回（重要度：<font color="red">★★★</font>）
https://developer.amazon.com/ja/alexa-skills-kit/training/building-a-skill

[github] alexa 公式 alexa/skill-sample-nodejs-fact (最もシンプルなサンプル)
https://github.com/alexa/skill-sample-nodejs-fact/blob/en-US/lambda/custom/index.js

[github] alexa 公式 Alexa 豆知識スキルの作成　手順とサンプル（日本版）
https://github.com/alexa/skill-sample-nodejs-fact/blob/ja-JP/instructions/1-voice-user-interface.md

[Alexa Skills Kit Docs] Alexa Skills Kit用語集
https://developer.amazon.com/ja/docs/ask-overviews/alexa-skills-kit-glossary.html
- 用語集掲載語句について、ひととおり知ってる、となれば基礎知識OKかと

[alexa] 公式イベント（ハンズオン他）
https://developer.amazon.com/ja/alexa/events 

# 4. 実装
[github] alexa公式サンプル他コード群 （重要度：<font color="red">★★★★</font>）
https://github.com/alexa

[Alexa 音声デザインガイド] Alexaのセリフについて（重要度：<font color="red">★★</font>）
https://developer.amazon.com/ja/designing-for-voice/what-alexa-says/

[Alexa Skills Kit Docs] 一般的標準インテント（日本版で利用可能なもの）リスト（重要度：<font color="red">★★</font>）
https://developer.amazon.com/ja/docs/custom-skills/standard-built-in-intents.html

[Alexa Skills Kit Docs] スロットタイプリファレンス（日本版で利用可能なもの）リスト（重要度：<font color="red">★★</font>）
https://developer.amazon.com/ja/docs/custom-skills/slot-type-reference.html

[Alexa Skills Kit Docs] カスタムスロットタイプの値に関する推奨事項
https://developer.amazon.com/ja/docs/custom-skills/best-practices-for-sample-utterances-and-custom-slot-type-values.html

[aws] Amazon Developer Forums > Alexa Skills Kit (ASK) (日本語) のすべての投稿
https://forums.developer.amazon.com/spaces/293/alexa-skills-kit-ask-jp.html





# 5. 認定申請前に（テスト他）
[Alexa blog 日本] Alexaスキル認定へのヒント集
https://developer.amazon.com/ja/blogs/alexa/post/0ce8abf3-2b86-4a1d-9c6f-cee639d8bddf/certification-jp

[Alexa Skills Kit Docs] カスタムスキルの認証要件, 申請チェックリスト（重要度：<font color="red">★★★</font>）
https://developer.amazon.com/ja/docs/custom-skills/certification-requirements-for-custom-skills.html

    ・ ポリシーガイドライン
    ・ セキュリティ要件
    ・ 機能テスト
    ・ 音声インターフェースとユーザーエクスペリエンスのテスト（重要度：★★★★）

- 使用したSE素材など、スキル構成要素の著作権に関する備考は、「Amazon開発者コンソール > ALEXA > (該当スキル) > 公開情報 > グローバルフィールド > テストの手順」に記入する



# 留意事項

- 起動方法とインテント　（https://developer.amazon.com/ja/docs/custom-skills/understanding-how-users-invoke-custom-skills.html）
    - スキルを呼び出すと同時に特定の処理（インテント）をリクエストする 例）「アレクサ、十二星座占いで牡牛座の運勢をチェック」→　IntentRequest
    - 特定のリクエスト（インテント）をリクエストせず、スキルの呼び出しのみをする　例）「アレクサ、十二星座占いを開いて」　→　LaunchRequest
    - （右記より）