Skills: Skills 入門とコア概念
最終更新:2026-08-31
毎回の会話で長いプロンプトを書き直していませんか?Skills でベストプラクティスをワンボタンにパッキング——次回は一键で呼び出せます。
1. Skills とは
Skills は AI コーディングアシスタントの再利用可能な能力拡張ユニットで、プロンプト(Prompt)、ツールバインディング(Tool Bindings)、トリガー(Triggers)の組み合わせで構成されています。Claude Code の .claude/skills/、OpenCode の skills/ ディレクトリ、Cursor Rules など、本質的にはすべて同じ理念です:
| 比較軸 | 生の会話(Skills なし) | Skills 使用 |
|---|---|---|
| プロンプト | 毎回手動入力 | 事前テンプレート、一键でロード |
| ツール呼び出し | 明示的に指定が必要 | 自動バインド、必要に応じて有効化 |
| 一貫性 | 人により品質が変動 | 標準化出力、品質が安定 |
| 再利用性 | コピー&ペースト | バージョン管理、チーム共有 |
| トリガー方式 | 手動 | 自動検出 + 手動呼び出し |
(1) Skills の位置づけ
Skills は「純粋なプロンプトエンジニアリング」と「完全自動 Agent」の間の空白を埋めます:
- 単なるプロンプトテンプレートではない——ツールをバインドし、トリガー条件を定義し、コンテキストを管理します
- 完全な Agent フレームワークではない——Agent の「プラグイン」であり、置き換えではなく強化です
- 使い捨てスクリプトではない——バージョン管理、組み合わせ可能、共有可能です
(2) コア能力
Skills コアアーキテクチャ
├── プロンプトテンプレート(システムプロンプト + タスクテンプレート + サンプル)
├── ツールバインディング(ファイル読み書き / Shell / 検索 / MCP ツール)
├── トリガー(キーワード / ファイルタイプ / コンテキスト条件)
├── 変数システム(ユーザー入力 / 環境変数 / コンテキスト注入)
├── 組み合わせオーケストレーション(スキルチェーン / 並行スキル / 条件分岐)
└── バージョンと共有(Git 管理 / スキルマーケット / チーム同期)
コード例の出力について
本コースのコード例は決定性/非決定性分離パターンを採用しています。これはAIエージェントツールチュートリアルの業界ベストプラクティスです:
| マーカー | 意味 | あなたの出力 |
|---|---|---|
| 出力: | 決定的な結果(インストール、設定、カウントなど) | 例とほぼ一致するはず |
| インタラクションフロー: | エージェントの動作フロー(LLM呼び出し、ツール選択など) | 実際のテキストは異なるが、フローは類似 |
| 検証方法: | 演習結果の確認方法 | 記載された手順に従って確認 |
1 + 1 = 2(常に同じ)。AIエージェントツール:agent.chat("コードを分析") = ???(毎回異なる)。これはAIエージェントツールの本質的な特性であり、バグではありません。
2. コア概念
(1) Prompt(プロンプト)
プロンプトは Skill の魂であり、そのスキル下での AI の行動規範を定義します:
name: code-review
system_prompt: |
あなたはシニアコードレビュー専門家です。レビュー時は以下の原則に従ってください:
1. まず意図を理解し、それから実装をチェックする
2. セキュリティ問題とパフォーマンスのボトルネックを優先的に关注する
3. 具体的な修正提案を提示し、曖昧な表現は避ける
4. 深刻度ランク:🔴 必須修正 / 🟡 修正推奨 / 🟢 参考までに
(2) Tool Bindings(ツールバインディング)
ツールバインディングは Skill 実行時に使用できるツールセットを定義します:
| ツールタイプ | 説明 | 例 |
|---|---|---|
| ファイルツール | プロジェクトファイルの読み書き | Read、Write、Edit |
| Shell ツール | コマンド実行 | Bash、Terminal |
| 検索ツール | コードとコンテンツの検索 | Grep、Glob |
| MCP ツール | 外部サービス接続 | データベース、API、ブラウザ |
| カスタムツール | ユーザー開発 | 任意の呼び出し可能関数 |
(3) Trigger(トリガー)
トリガーは Skill がいつ有効化されるかを決定します:
triggers:
- keyword: "コードレビュー|review"
- file_pattern: "**/*.py"
- context: "git_diff_available"
(4) Context(コンテキスト)
コンテキストは Skill 実行時の情報注入を管理し、プロジェクト構造、コードスタイル、チーム規約などを含みます。
3. 手動から自動化へ
Alice はチームのテックリードで、コードレビューの標準化を実現したいと考えています。最初は毎回手動で長いプロンプトを書いていました:
シナリオ:コードレビューの標準化
従来の方法——Alice は毎回レビューの度にプロンプトを書き直します:
Alice: "この PR をレビューしてください。セキュリティ、パフォーマンス、
可読性に注目し、深刻度でランク付けし、修正提案を……"
(毎回 200 字以上のプロンプトを書く必要がある)
Skills の方法——Alice は code-review スキルを作成し、以降は一键で呼び出せます:
# .claude/skills/code-review.md
「review」と言ったら、自動的にコードレビューを実行……
Bob はこう評価しています:「Skills の価値は単に時間の節約ではありません——チームのベストプラクティスを標準操作にし、誰が呼び出しても一貫した高品質な出力が得られることです。」
4. 主要プラットフォーム比較
| プラットフォーム | Skills の場所 | フォーマット | 特徴 |
|---|---|---|---|
| Claude Code | .claude/skills/*.md |
Markdown + YAML | ネイティブサポート、トリガーが豊富 |
| OpenCode | skills/ ディレクトリ |
Markdown | シンプルで直感的、コミュニティが活発 |
| Cursor | .cursor/rules/ |
Markdown | プロジェクトレベルのルール、自動有効化 |
| Windsurf | .windsurfrules |
テキスト | 単一ファイル設定 |
| Copilot | .github/copilot-instructions.md |
Markdown | GitHub エコシステムとの統合 |
❓ よくある質問
📖 まとめ
- Skills はプロンプト+ツール+トリガーの再利用可能な組み合わせパッケージです
- 四つのコア概念:Prompt(プロンプト)、Tool Bindings(ツールバインディング)、Trigger(トリガー)、Context(コンテキスト)
- クロスプラットフォーム共通:Claude Code、OpenCode、Cursor などすべて同様の仕組みをサポート
- 「毎回手動でプロンプトを書く」から「一键で標準化された呼び出し」へのパラダイムシフト
📝 練習問題
- 基礎問題(難易度⭐):自分の言葉で Skill と通常のプロンプトの3つのコアの違いを説明してください。
- 応用問題(難易度⭐⭐):日常業務の3つのシナリオを挙げ、どれが Skill としてカプセル化するのに適しているか分析し、理由を説明してください。
- チャレンジ問題(難易度⭐⭐⭐):「デプロイチェック」Skill の方案を設計してください:どんなプロンプトが必要か?どのツールをバインドするか?トリガー条件は何か?