SKILL.mdでAIの専門タスクを定義する:スキル設計で再現性を高める方法
毎回同じ説明を繰り返す問題
特定の作業をAIへ依頼するたびに、手順、制約、出力形式を説明し直すと、指示の省略や解釈差が生じます。この状況を改善するために導入したのが「スキルファイル(SKILL.md)」という仕組みです。
この記事ではスキルの対象範囲、手順、禁止事項を設計する一般原則を扱います。ブログ執筆への具体的な適用はブログ執筆AIの設定方法に分けています。
スキルファイルとは何か
スキルファイルは、特定のタスクについて「何をどういう手順で、どんな注意点を守りながら、どういうアウトプット形式で行うか」を定義したMarkdownファイルです。
料理の例で言うと、料理するたびに「塩を小さじ一杯入れて、次に卵を割って……」と口頭で説明する代わりに、レシピカードを1枚作っておくようなものです。レシピカードが手元にあれば、毎回口頭で説明しなくても同じ手順で作れます。
AIにとっても同様で、スキルファイルを参照するよう設定しておけば、毎回の会話で指示を一から説明しなくても、定義済みの手順に従って作業を進めます。
このサイトで作ったスキルの例
実際にこのサイトのハーネスに組み込んだスキルファイルをいくつか紹介します。
ブログ執筆スキル(my-blog-writing/SKILL.md)
著者ボイスのルール(敬体・誇張禁止・一人称制約)、記事の構成手順(日本語を先に書いてから英語を翻訳)、frontmatterの書き方、引用が必要な場合の参考文献形式、などを定義しています。このスキルを参照させることで、記事のたびに文体や構成のルールを再説明する必要がなくなりました。
コンテンツ校閲スキル(editorial-review/SKILL.md)
記事を公開する前にチェックする項目の一覧と、Critical(公開停止)とRecommended(推奨修正)の判定基準を定義しています。
ドキュメント作成スキル(docs-content/SKILL.md)
ドキュメントページの構成ルール(クイズの追加要件、見出し階層、対象読者ブロックの有無)を定義しています。
汎用指示とスキル定義の違い
汎用指示は「そのとき伝えた内容だけ」有効です。会話が変わればリセットされます。スキルファイルは、ファイルとしてリポジトリに存在するため、次の会話でも参照できます。
また、スキルファイルはチームで共有できます。複数人がAIに依頼する場合でも、同じスキルファイルを参照させることで、担当者が変わっても一定の品質を保ちやすくなります。
設計するときに決めること
スキルファイルを作るとき、私が最初に整理するのは次の3点です。
- 何のタスクか:スキルの対象範囲を明確にする(「記事を書く」ではなく「このサイトのブログ記事を著者ボイスで書く」)
- どんな手順か:ステップを具体的に並べる
- 何を禁止するか:AIが誤った選択をしやすい点を明示する
範囲が広すぎるスキルは再現性が下がります。「ライティング全般」より「このサイトのブログ記事作成」のように、タスクの範囲を絞る方が、実際の出力が安定します。
まとめ
SKILL.mdは、AIへの繰り返し指示をファイルとして定義し、再利用可能にする仕組みです。毎回の指示内容をスキルファイルに移すことで、作業の再現性が上がり、指示の省略による品質のばらつきを減らせます。
次のステップとして、既存のスキルファイルが実際のコードや設定と一致しているかを定期的に確認する「ドリフト検出」の仕組みも必要になります。それについては別の記事で説明します。