記事公開日
Kiroでベストプラクティスに沿ったAgent Skillsを自動生成する「Skill Creator Skill」を作ってみた

この記事のポイント
Kiroでベストプラクティスに準拠したAgent Skillsを簡単に作成するための自動生成Skillを開発・公開しました。
- Agent Skillsのベストプラクティス:
Anthropic社が提唱する「スケールを意識した構造化」や「エージェントの視点で考える」などの原則に基づいて設計しています。 - Skill Creator Skillの機能:
対話形式の要件ヒアリングから、SKILL.mdの自動生成、ベストプラクティスに沿っているかのバリデーションまでをシームレスに行います。 - Kiroでの動作確認:
実際に「Muscle Code Reviewer」というSkillを自動生成し、要件定義からファイル配置までの具体的な流れを解説しています。
はじめに
DXソリューション営業本部の三浦です。
先日KiroでもAgent Skillsが使用できるようになりました。
参考:Custom sub-agents (Skills) and Enterprise Controls (AWS Blogs)
Kiroが同じミスを繰り返さないようにしたり、プロジェクトや組織固有のルールの知識を与えるためにも手軽にSkillを作成できないかと考えました。
Skillsの開発元である、Anthropic社のClaude CodeやCursorでは公式がSkill作成用Skillやデフォルトでの機能提供をしていますが、Kiroにはないためベストプラクティスに沿ったかつ、Kiroで適切に作成するためのSkillを作成したので紹介します。
Agent Skillsのベストプラクティス
Skillを作成するにあたり、まずは公式のベストプラクティスを確認しましょう。
参考:Equipping agents for the real world with Agent Skills (Anthropic)
1. 評価から始める
代表的なタスクでエージェントを実行し、苦手な箇所や追加コンテキストが必要な箇所を特定します。その不足を埋めるためにSkillを段階的に構築します。
2. スケールを意識した構造化
SKILL.mdが扱いにくくなったら、内容を別ファイルに分割して参照する。- 相互排他的なコンテキストは別パスに分離してトークン使用量を削減する。
- コードは実行ツールとしてもドキュメントとしても機能します。スクリプトを直接実行すべきか、参照として読み込むべきかを明確にします。
3. エージェントの視点で考える
- 実際のシナリオでエージェントがSkillをどう使うかを監視し、観察に基づいて反復改善する。
- 予期しない軌道や特定コンテキストへの過度な依存に注意する。
nameとdescriptionに特に注意を払う(エージェントはこれらを見てSkillを発動するか判断するため)。
4. エージェントと一緒に反復する
- タスク中にエージェントに成功したアプローチやよくある間違いをSkillとしてキャプチャさせる。
- Skillを使って軌道を外れた場合、何が問題だったか自己省察させる。
- 事前に予測するのではなく、エージェントが実際に必要とするコンテキストを発見するプロセスを重視します。
作成したSkillの概要
Skill Creator Skill
「Skill Creator Skill」は、「Skillを作るためのSkill」です。
Kiroに「スキルを作って」や「Create skill」と話しかけるだけで起動し、対話形式で必要な情報をヒアリングしながら、ベストプラクティスに準拠したSkillファイル一式を自動生成してくれます。
Agent Skillsを手動で作ろうとすると、意外とやることが多いです。
SKILL.mdのYAML frontmatterを正しいフォーマットで書く- Skill名を
kebab-caseにする descriptionに「何ができるか」「いつ使うか」「トリガーキーワード」を漏れなく含める- 本文を500行以下に収める(超えたら
references/に分割) - ファイル参照は相対パスで1階層までとする
こういったルールをすべて覚えて守るのは大変です。そこで、このルールを全部知っているSkillに任せてしまおう、というのがSkill Creator Skillの発想です。
できること
Skill Creator Skillは大きく2つのフェーズで動きます。
フェーズ1: 要件ヒアリング
対話形式で、作りたいSkillの情報を聞き出してくれます。聞かれるのは主に以下の項目です。
| 項目 | 必須 | 説明 |
|---|---|---|
| Skill名 | ○ | kebab-case形式で指定。違反していたら自動変換してくれる |
| 目的・機能 | ○ | このSkillが何をするか |
| トリガー条件 | ○ | どんなキーワードで起動するか |
| 配置スコープ | ○ | グローバル( ~/.kiro/skills/ )かワークスペース( .kiro/skills/ )か |
| ワークフロー | — | 省略すると目的から自動推定 |
| scripts/references/assets/ | — | ディレクトリが必要かどうかを判断してくれる |
一度に全部伝えてもいいですし、足りない分だけ追加で聞いてくれます。情報が足りなければWeb検索で補完までしてくれる親切設計です。すべて揃ったら要件一覧を提示して「これでOK?」と確認が入ります。
フェーズ2: Skill生成
承認すると、以下を自動で実行します。
- Skill名のバリデーション(
kebab-case、64文字以内) SKILL.mdの生成(frontmatter + 概要・ワークフロー・ルール等の推奨セクション)- 必要に応じて
scripts/、references/、assets/ディレクトリの生成 - 指定した場所へのファイル配置
- 最終的なバリデーション(name形式、description品質、行数制約、ファイル参照パス、セクション構成のチェック)
バリデーションまで自動で走るため、生成されたSkillが「ベストプラクティスに準拠していない」という事態を防げます。
ディレクトリ構成
Skill Creator Skill自体のディレクトリ構成は以下のようになっています。
.kiro/skills/skill-creator-skill/
├── SKILL.md # Skill本体(ワークフロー、ルール、出力フォーマット)
└── references/
├── best-practices-summary.md # ベストプラクティスのクイックリファレンス
├── examples.md # 入力例・出力例・エッジケース集
├── guidelines.md # Progressive Disclosure、エラーハンドリング等のガイドライン
├── skill-template.md # 生成するSKILL.mdのテンプレート
└── validation-checklist.md # バリデーション全13項目のチェックリスト
SKILL.md本文にはワークフローとルールの要点だけを書き、詳細な例やガイドラインはreferences/ディレクトリに分離しています。これはAgent Skillsのベストプラクティスである「Progressive Disclosure(段階的開示)」に従った設計です。Kiroは必要なときだけreferences/のファイルを読み込むので、普段のコンテキスト(トークン)消費を抑えられます。
作り方もKiroらしく
このSkill自体も、KiroのSpec機能を使って構造的に開発しました。
「要件定義(9つの要件、26の受入基準)→ 設計(アーキテクチャ、コンポーネント、データモデル、11の正確性プロパティ)→ 実装タスク(8つのタスクグループ)」という流れで、Kiroと対話しながら段階的に作り上げています。
動作確認
実際にこのSkillを使って新しいSkillを作ってみます。
アクティベーション判定と情報収集
今回は、あえて命名規則に違反した名前をプロンプトで入力してみます。
- キーワードである「Agent Skill作成」を含む
- 名前は命名規則(ケバブケース)から逸脱
Agent Skill作成。CloudFormationテンプレートをレビューするスキルが欲しい。名前は Muscle Code Reviewer!!!。
Skillが呼び出されると、情報収集のためにWeb検索や、公式ドキュメント(MCPサーバー経由)を参照してくれます。
収集した要件の一覧提示と確認
要件を確認すると、あえて逸脱させたSkill名を正しくkebab-caseに修正して提案してくれています。
Skill作成のリクエストですね。まず、skill-creator-skillを確認して、ベストプラクティスに沿ったSkillを作成します。 skill-creator-skillの内容を確認しました。次に、ベストプラクティスとCloudFormationテンプレートのレビューに関する情報を収集します。 CloudFormationテンプレートのレビューに関するベストプラクティスを補完するためにWeb検索します。 十分な情報が集まりました。では、Skill Creator Skillのワークフローに従って、要件を整理します。 ユーザーから提供された情報を整理すると: Skill名: Muscle Code Reviewer!!! → kebab-case違反のため変換が必要 目的・機能: CloudFormationテンプレートをレビューする トリガー条件: 未指定(推定が必要) 配置スコープ: 未指定(確認が必要) Skill名 Muscle Code Reviewer!!! をkebab-caseに変換すると: 大文字→小文字: muscle code reviewer!!! スペース→ハイフン: muscle-code-reviewer!!! 英数字・ハイフン以外を除去: muscle-code-reviewer 結果: muscle-code-reviewer 以下の要件で確認させてください。 【収集した要件】 Skill名: muscle-code-reviewer(元の Muscle Code Reviewer!!! から自動変換) 目的・機能: CloudFormationテンプレートをレビューし、セキュリティ、ベストプラクティス準拠、構文の問題点を検出・改善提案する トリガー条件(推定): 日本語: 「CFnレビュー」「CloudFormationレビュー」「テンプレートレビュー」「CFnチェック」 英語: "Review CloudFormation", "CFn review", "Review template" 配置スコープ: ワークスペース(.kiro/skills/)(推定) ワークフロー(推定): テンプレートファイルの特定 → 構文チェック → セキュリティチェック → ベストプラクティス準拠チェック → レビュー結果の提示 出力フォーマット: 指摘事項(重要度・カテゴリ・該当箇所・改善提案)のリスト形式 scripts/: 不要(推定) references/: 要(AWS CloudFormationベストプラクティスのチェックリストを格納) assets/: 不要(推定) この内容でSkillを生成してよろしいですか?修正が必要な項目があればお知らせください。
Skillの生成と配置
内容を承認すると、Agent Skillsに指定された名称(muscle-code-reviewer)でSkillが作成・配置されます。
バリデーション
Skillの生成後、手順に基づいて自動的にバリデーションが実施されます。結果もわかりやすく出力してくれます。
了解、生成します。
バリデーションを実行します。
バリデーション結果:
チェック項目 | 結果
--- | ---
name形式(kebab-case) | ✅ muscle-code-reviewer
name文字数(64文字以内) | ✅ 21文字
nameとディレクトリ名の一致 | ✅ 一致
description品質(機能+使用タイミング+トリガーキーワード) | ✅ 3要素すべて含む
description文字数(1024文字以内) | ✅ 範囲内
SKILL.md行数(500行以下) | ✅ 156行
ファイル参照(相対パス、1階層以内) | ✅ references/security-checklist.md、references/best-practices-checklist.md
推奨セクション構成 | ✅ 概要・ワークフロー・ルール・出力フォーマット・例・ガイドライン
【生成された成果物】 ✅ バリデーション: すべてのチェックに合格
📁 .kiro/skills/muscle-code-reviewer/
├── SKILL.md - Skill定義ファイル(156行)
└── references/
├── security-checklist.md - セキュリティチェック項目の詳細一覧
└── best-practices-checklist.md - AWS公式ベストプラクティスチェック項目
Muscle Code Reviewer Skillを .kiro/skills/muscle-code-reviewer/ に生成しました。「CFnレビュー」「CloudFormationレビュー」「Review CloudFormation」等のキーワードで自動アクティベートされます。
まとめ
Kiroで使えるSkill作成用の自動生成Skillを作成し、検証してみました。
実際に使ってみると問題なく要件に沿ったSkillが生成できましたが、現時点ではKiro固有の機能を完全に活かしきれてはいない部分もあるため、Anthropic公式のアプローチをそのまま利用しても良かったかもしれない、と感じる部分もありました。
しかし、セキュリティインジェクションの防止を組み込んだり、日本語での細やかなプロンプト記述に対応している点では、カスタマイズしたSkillのほうが使いやすいかもしれません。
今後もより使いやすく、実践的なアップデートを重ねていきたいと思います。
↓QESではKiroについて積極的に情報発信していきますので是非ご覧ください!
もし「Kiroの導入を検討したい」「AWS環境の構築、移行」などのリクエストがございましたら、弊社お問合せフォームまでお気軽にご連絡ください。 複雑な内容に関するお問い合わせの場合には直接営業からご連絡を差し上げます。 また、よろしければ以下のリンクもご覧ください!
<QES関連ソリューション/ブログ>
<QESが参画しているAWSのセキュリティ推進コンソーシアムがホワイトペーパーを公開しました>
※Amazon Web Services、”Powered by Amazon Web Services”ロゴ、およびブログで使用されるその他のAWS商標は、米国その他の諸国における、Amazon.com, Inc.またはその関連会社の商標です。


