GitHub Copilotを「自分専用」に進化させる!スキルの作り方と100のユースケース徹底解説

GitHub Copilot

GitHub Copilotにおける「スキル」とは?

GitHub Copilotにおける「スキル」とは、プロジェクト固有の規約、特定のライブラリの使い方、あるいは特定の役割(コードレビュアー、セキュリティ専門家など)をAIに学習・固定させることを指します。

これを実現する最も強力な方法が、リポジトリのルートに配置する .github/copilot-instructions.md ファイルです。ここに指示を記述することで、Copilot Chatの回答精度と、コード補完の質を劇的に向上させることができます。

[Image: GitHub Copilotがカスタム命令(.github/copilot-instructions.md)を読み込み、コードに反映させるまでのワークフロー図解]

【完全網羅】GitHub Copilotスキルのユースケース100選

開発のライフサイクルに合わせて活用できる100のスキル(命令セット)を、10のカテゴリーに分けて紹介します。

1. フロントエンド・UI開発(1-10)

  • アクセシビリティ・ポリス: WCAG 2.1準拠のARIA属性を常に提案する。
  • Tailwind職人: インラインCSSを禁止し、Tailwindのユーティリティクラスのみを使用。
  • React厳格モード: 状態管理に必ず useContextZustand を使用する設計。
  • デザインシステム変換: Figmaから抽出したトークン(JSON)をCSS変数に自動変換。
  • Next.js App Router最適化: 'use client' の最小化とサーバーコンポーネントの優先。
  • i18nオートメーション: ハードコードされた文字列を検出し、多言語対応ファイルへ外出し。
  • Storybook生成: コンポーネント作成時に .stories.tsx を自動構成。
  • SVGアイコン最適化: 埋め込みSVGの軽量化とReactコンポーネント化。
  • レスポンシブ検証: 常にモバイルファーストのメディアクエリを提案。
  • アニメーション設計: Framer Motionを使用した一貫性のあるUI演出。

2. バックエンド & API開発(11-20)

  • RESTful APIデザイナー: リソース志向の命名規則と適切なHTTPステータスコードを強制。
  • gRPC/Proto生成: サービス定義からのボイラープレートコード生成。
  • データベースマイグレーション: PrismaやTypeORMのスキーマ変更とマイグレーションファイルの同期。
  • クエリ最適化(N+1防止): ORM使用時に、関連データのEager Loadingを常に提案。
  • 認証・認可ガード: 全てのエンドポイントにJWT検証と権限チェックを自動挿入。
  • バリデーションマスタ: ZodやJoiを用いた入力データの型安全な検証。
  • エラーハンドリング統一: プロジェクト共通のエラークラスによる例外処理。
  • APIドキュメント同期: コード変更時にSwagger/OpenAPI定義を自動更新。
  • キャッシング戦略: Redisを用いた効率的なデータキャッシュと無効化ロジック。
  • Webhookハンドラー: 外部SaaS(Stripe等)からのシグネチャ検証付き受け口作成。

3. テスト & 品質保証(21-30)

  • Jest/Vitest生成: 関数のシグネチャから正常系・異常系のテストケースを作成。
  • Playwright/Cypress E2E: ユーザー操作フローのシナリオ自動生成。
  • 境界値テスト抽出: 入力値の最大・最小・異常値に特化したテスト生成。
  • カバレッジ向上アドバイザー: テスト不足のコード行を特定し、補完テストを作成。
  • モックデータ生成: テスト用の巨大なダミーJSONデータを即座に生成。
  • TDDコーチ: 実装コードの前に、まずパスしないテストコードを書くよう誘導。
  • リファクタリング検知: 循環複雑度(Cyclomatic Complexity)が高い箇所の指摘。
  • 回帰テストチェッカー: 既存機能への影響を考慮した修正案の提示。
  • スナップショット管理: UI変更時の差分確認用スナップショットの更新。
  • 負荷テストスクリプト: k6などを用いた負荷試験用コードの生成。

4. DevOps & クラウドインフラ(31-40)

  • Dockerfile最適化: マルチステージビルドによるイメージ軽量化とセキュリティ設定。
  • Terraform職人: AWS/Azureのリソース定義を、ベストプラクティスに従い作成。
  • GitHub Actions YAML生成: CI/CDパイプラインの自動化(ビルド・テスト・デプロイ)。
  • Kubernetesマニフェスト: Deployment, Service, Ingressの構造化された記述。
  • CloudFormation/CDK生成: プログラマブルなインフラ定義の作成。
  • 監視メトリクス埋め込み: DatadogやPrometheus用のカスタムメトリクス送信コード。
  • サーバーレス設計: AWS LambdaやGoogle Cloud Functionsのイベント駆動設計。
  • 秘密情報スキャナー: コード内にAPIキーなどの機密情報が含まれていないか監視。
  • ネットワークポリシー設計: 最小権限に基づいたセキュリティグループ/VPC設定。
  • コスト最適化エンジニア: インフラ費用の無駄を省くためのリソース選定提案。
[Image: カテゴリー別ユースケースの全体俯瞰マインドマップ]

5. セキュリティ & コンプライアンス(41-50)

  • OWASP Top 10ガード: インジェクションやXSSなどの脆弱性をリアルタイム指摘。
  • 暗号化標準化: 古いハッシュアルゴリズムを避け、常に最新の暗号化方式を提案。
  • CORS設定アドバイザー: 不適切なワイルドカード設定などを警告。
  • 依存関係脆弱性スキャン: 脆弱性のあるライブラリの使用を検知し、アップデートを促す。
  • 入力クレンジング: ユーザー入力をサニタイズするロジックの徹底。
  • セキュアコーディング規約: 組織特有のセキュリティ基準に基づいたコーディング。
  • プライバシー保護: PII(個人情報)の不必要なログ出力を防止。
  • OAuth/OpenID Connect実装: 複雑な認可フローの正しい実装手順。
  • CSRF対策自動化: 全てのステートフルなリクエストへのトークン検証挿入。
  • ライセンスチェッカー: プロジェクトで使用不可能なライセンスのライブラリ混入を防止。

6. データサイエンス & AI(51-60)

  • Pandasデータクレンジング: 欠損値処理やデータ型変換の効率的記述。
  • PyTorch/TensorFlowボイラープレート: モデル定義から訓練ループの基本構成。
  • SQLクエリチューニング: 実行計画を考慮した高速なSQLへの書き換え。
  • 特徴量エンジニアリング: 生データから分析に有効な特徴を抽出するコード。
  • Jupyter Notebook構成: 分析ストーリーに基づいたセル構成と可視化。
  • Matplotlib/Seaborn可視化: 読みやすいグラフ、ヒートマップの生成。
  • Scikit-learnパイプライン: 前処理から学習までを一貫して管理するコード。
  • 大容量データストリーミング: メモリを圧迫しないチャンク処理の実装。
  • 実験ログ管理: MLflowやWeights & Biasesへの記録用コード。
  • ベクトルデータベース連携: PineconeやMilvusへの埋め込みベクトル保存。

7. ドキュメント & マネジメント(61-70)

  • README生成: 構成を読み取り、プロジェクトの概要・使い方を自動記述。
  • JSDoc/TSDoc整備: 関数やクラスに対して、型情報に基づいた説明文を補完。
  • アーキテクチャ図(Mermaid): Mermaid.js形式でシステム構成図を生成。
  • リリースノート下書き: 前回のタグからのコミットログを要約。
  • Pull Requestテンプレート埋め込み: 変更点、修正理由、テスト方法の自動抽出。
  • コードレビュー・エージェント: 承認前にコードの不備をセルフチェック。
  • API仕様書(Swagger)出力: コード内のアノテーションからYAMLを生成。
  • トラブルシューティングガイド: よくあるエラーとその解決策のドキュメント化。
  • オンボーディング資料: 新メンバーが環境構築するための手順書作成。
  • コミットメッセージ規約: Conventional Commits形式でのメッセージ生成。

8. モバイルアプリ開発(71-80)

  • SwiftUIレイアウト: 宣言的UIによる直感的な画面設計。
  • Flutter Widget構成: リッチなUIを実現するためのWidgetツリー設計。
  • Android Jetpack Compose: 状態管理を考慮したComposable関数の作成。
  • オフライン同期: SQLiteやRealmを用いたローカルデータ保存と同期。
  • プッシュ通知ハンドリング: Firebase Cloud Messagingなどの受信処理。
  • ディープリンク設計: アプリ内の特定画面への遷移パス実装。
  • バッテリー消費最適化: バックグラウンド処理の効率化。
  • 権限リクエスト管理: カメラ、位置情報等のセキュアな許可取得フロー。
  • ダークモード対応: カラーセットの自動切り替えとプレビュー作成。
  • マルチプラットフォーム共有: Kotlin Multiplatformによるロジック共通化。

9. レガシー・リファクタリング(81-90)

  • Java to Kotlin変換: 古いJavaコードをモダンなKotlin構文へ置換。
  • jQuery脱却: 古いjQueryコードをVanilla JSやReactへ書き換え。
  • モノリス解体: 巨大なクラスを単一責任の原則に基づいて分割。
  • デッドコード検出: 使用されていない関数や変数の特定と削除提案。
  • デザインパターン適用: FactoryやStrategyパターンによる抽象化。
  • 型付け不足解消: JavaScriptプロジェクトへのTypeScript導入支援。
  • 同期→非同期変換: ブロッキングな処理を async/await へ変換。
  • グローバル変数撲滅: 依存性の注入(DI)によるモジュール結合。
  • コメントアウトコード清掃: 不要なコメントの整理と最新仕様への更新。
  • コードベース統合: 重複している似たような関数の共通化。

10. 特殊ドメイン・新技術(91-100)

  • Web3/Smart Contract: Solidityを用いたセキュアな契約実装。
  • Unity C# スクリプティング: ゲームオブジェクトの挙動と物理演算。
  • 組み込みC/C++: メモリ制限を考慮した効率的なドライバ記述。
  • GraphQLスキーマ設計: 効率的なデータ取得のためのクエリ設計。
  • WebAssembly連携: Rust/C++コードのWebフロントエンド呼び出し。
  • AIエージェント設計: LangChainなどを用いた自律型AIのロジック構築。
  • ブラウザ拡張機能作成: Chrome/Firefox向けのManifest V3対応開発。
  • CLIツール作成: GoやNode.jsを用いた高機能なコマンドラインツール。
  • エッジコンピューティング: Cloudflare Workersなどでの軽量ロジック。
  • アクセシビリティ自動修正: フォーカス順序やコントラスト比の自動調整。

スキルの実装例:カスタム命令のテンプレート

実際に「スキル」を作成するには、リポジトリに .github/copilot-instructions.md を作成し、以下のように記述します。

# Go言語・パフォーマンス最適化エンジニアとしてのスキル
あなたは、Go言語のシニアエンジニアです。以下の制約に従ってください。

- **メモリ管理**: heapへの割り当てを最小限にし、stackを優先するコードを書いてください。
- **並行処理**: goroutineを使用する際は、必ず `context.Context` によるキャンセル処理を含めてください。
- **エラー処理**: `fmt.Errorf` ではなく、標準の `errors.New` または構造化されたカスタムエラーを使用してください。
- **テスト**: 常にテーブル駆動テスト(Table-Driven Tests)の形式でテストを生成してください。