mcpField
S
suggest-awesome-github-copilot-skills

suggest-awesome-github-copilot-skills

github.com/githubエージェントワークフロー40.5k8.9k 回インストール1 日前に更新
リポジトリ

suggest-awesome-github-copilot-skills について

リポジトリの状況を分析し、GitHubのawesome-copilotにあるスキルと比較するスキルです。候補や古くなったローカルスキルを提示し、指示があるまでインストールや更新は行いません。

主な機能

  1. 01awesome-copilotのスキル一覧取得
  2. 02ローカルスキルとアセットの把握
  3. 03ローカル版とリモート版の比較
  4. 04リポジトリ状況に基づく関連性評価
  5. 05提案と更新状況の提示

活用シーン

  1. 01リポジトリ内のスキル不足の特定
  2. 02導入済みスキルの古さの確認
  3. 03インストール前の候補スキルの確認

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/github/awesome-copilot --skill suggest-awesome-github-copilot-skills

インストール後、Claude Code で/suggest-awesome-github-copilot-skillsを入力して読み込まれたか確認します。

詳細

おすすめの Awesome GitHub Copilot スキルを提案する

現在のリポジトリのコンテキストを分析し、このリポジトリでまだ利用可能になっていない、GitHub awesome-copilot リポジトリから関連する Agent Skills を提案します。Agent Skills は、awesome-copilot リポジトリの skillsフォルダーにある自己完結型のフォルダーで、それぞれに手順と任意のバンドルされたアセットを含む SKILL.md ファイルが含まれています。

手順

  1. 利用可能なスキルを取得: awesome-copilot README.skills.mdからスキルの一覧と説明を抽出します。#fetch ツールを使用する必要があります。
  2. ローカルスキルをスキャン: .github/skills/ フォルダー内の既存のスキルフォルダーを検出します
  3. 説明を抽出: ローカルの SKILL.md ファイルのフロントマターを読み取り、name と description を取得します
  4. リモートバージョンを取得: 各ローカルスキルについて、生の GitHub URL(例: https://raw.githubusercontent.com/github/awesome-copilot/main/skills/<skill-name>/SKILL.md)を使用して awesome-copilot リポジトリから対応する SKILL.md を取得します
  5. バージョンを比較: ローカルスキルの内容とリモートバージョンを比較して、以下を特定します:
    • 最新のスキル(完全一致)
    • 古くなっているスキル(内容が異なる)
    • 古くなっているスキルにおける主な違い(説明、手順、バンドルされたアセット)
  6. コンテキストを分析: チャット履歴、リポジトリのファイル、現在のプロジェクトのニーズを確認します
  7. 既存のものと比較: このリポジトリで既に利用可能なスキルと照合します
  8. 関連性をマッチング: 利用可能なスキルを特定したパターンや要件と比較します
  9. オプションを提示: 関連するスキルを、説明、根拠、および古くなっているスキルを含む利用可否ステータスとともに表示します
  10. 検証: 提案するスキルが、既存のスキルでまだカバーされていない付加価値をもたらすことを確認します
  11. 出力: 提案、説明、および awesome-copilot のスキルと類似のローカルスキルへのリンクを含む構造化された表を提供します 待機: 特定のスキルのインストールまたは更新を進めるためのユーザーのリクエストを待ちます。指示されない限り、インストールまたは更新を行わないでください。
  12. アセットのダウンロード/更新: 要求されたスキルについて、自動的に以下を行います:
    • 新しいスキルを .github/skills/ フォルダーにダウンロードし、フォルダー構造を保持します
    • 古くなっているスキルを awesome-copilot の最新バージョンに置き換えて更新します
    • SKILL.md とバンドルされたアセット(スクリプト、テンプレート、データファイル)の両方をダウンロードします
    • ファイルの内容を調整しないでください
    • アセットのダウンロードには #fetch ツールを使用しますが、すべての内容が取得されるように、#runInTerminal ツールを使用して curl を使用してもかまいません
    • 進捗状況を追跡するには #todos ツールを使用します

コンテキスト分析の基準

🔍 リポジトリのパターン:

  • 使用されているプログラミング言語(.cs、.js、.py、.ts など)
  • フレームワークの指標(ASP.NET、React、Azure、Next.js など)
  • プロジェクトの種類(Web アプリ、API、ライブラリ、ツール、インフラストラクチャ)
  • 開発ワークフローの要件(テスト、CI/CD、デプロイ)
  • インフラストラクチャとクラウドプロバイダー(Azure、AWS、GCP)

🗨️ チャット履歴のコンテキスト:

  • 最近の議論や課題
  • 機能リクエストや実装のニーズ
  • コードレビューのパターン
  • 開発ワークフローの要件
  • 専門的なタスクのニーズ(図の作成、評価、デプロイ)

出力形式

分析結果を、awesome-copilot のスキルと既存のリポジトリのスキルを比較する構造化テーブルで表示します。

Awesome-Copilot スキル説明バンドルされたアセットインストール済み類似のローカルスキル提案の根拠
gh-cliリポジトリとワークフローを管理するための GitHub CLI スキルなし❌ いいえなしGitHub ワークフロー自動化機能を強化します
aspire分散アプリケーション開発のための Aspire スキル9 個の参照ファイル✅ はいaspire既存の Aspire スキルで既にカバーされています
terraform-azurerm-set-diff-analyzerTerraform AzureRM プロバイダーの変更を分析します参照ファイル⚠️ 古いterraform-azurerm-set-diff-analyzer新しい検証パターンで手順が更新されています - 更新を推奨します

ローカルスキルの検出プロセス

  1. .github/skills/ ディレクトリ内のすべてのフォルダーを一覧表示します
  2. 各フォルダーについて、SKILL.md のフロントマターを読み取り、name と description を抽出します
  3. 各スキルフォルダー内のバンドルされたアセットを一覧表示します
  4. 既存のスキルとその機能の包括的なインベントリを構築します
  5. このインベントリを使用して、重複した提案を避けます

バージョン比較プロセス

  1. 各ローカルスキルフォルダーについて、リモートの SKILL.md を取得するための生の GitHub URL を構築します:
    • パターン: https://raw.githubusercontent.com/github/awesome-copilot/main/skills/<skill-name>/SKILL.md
  2. #fetch ツールを使用してリモートバージョンを取得します
  3. ファイル全体の内容(フロントマターと本文を含む)を比較します
  4. 具体的な差異を特定します:
    • フロントマターの変更(name、description)
    • 手順の更新(ガイドライン、例、ベストプラクティス)
    • バンドルされたアセットの変更(新規、削除、または変更されたアセット)
  5. 古いスキルの主要な差異を文書化します
  6. 更新が必要かどうかを判断するために類似度を計算します

スキル構造の要件

Agent Skills 仕様に基づき、各スキルは次を含むフォルダーです:

  • SKILL.md: フロントマター(name、description)と詳細な手順を含むメインの手順ファイル
  • オプションのバンドルされたアセット: スクリプト、テンプレート、参照データ、および SKILL.md から参照されるその他のファイル
  • フォルダーの命名: 小文字とハイフン(例: azure-deployment-preflight)
  • 名前の一致: SKILL.md のフロントマター内の name フィールドはフォルダー名と一致する必要があります

フロントマターの構造

awesome-copilot のスキルは、SKILL.md 内でこのフロントマター形式を使用します:

---
name: 'skill-name'
description: 'Brief description of what this skill provides and when to use it'
---

要件

  • fetch ツールを使用して awesome-copilot リポジトリのスキルドキュメントからコンテンツを取得します
  • githubRepo ツールを使用してダウンロード用の個々のスキルコンテンツを取得します
  • .github/skills/ ディレクトリ内の既存スキルをローカルファイルシステムでスキャンします
  • ローカルの SKILL.md ファイルから YAML フロントマターを読み取り、名前と説明を抽出します
  • ローカルスキルとリモートバージョンを比較して、古いスキルを検出します
  • このリポジトリの既存スキルと比較して、重複を避けます
  • 現在のスキルライブラリのカバレッジのギャップに焦点を当てます
  • 提案されたスキルがリポジトリの目的と技術スタックに沿っていることを検証します
  • 各提案について明確な根拠を提供します
  • awesome-copilot のスキルと類似のローカルスキルの両方へのリンクを含めます
  • 特定の差異を記載して、古いスキルを明確に特定します
  • バンドルされたアセットの要件と互換性を考慮します
  • テーブルと分析以外に追加の情報やコンテキストを提供しないでください

アイコンの参照

  • ✅ インストール済みで最新
  • ⚠️ インストール済みだが古い(更新が利用可能)
  • ❌ リポジトリにインストールされていない

更新の取り扱い

古いスキルが特定された場合:

  1. 出力テーブルに ⚠️ ステータスとともに含めます
  2. 「提案の根拠」列に具体的な差分を記載します
  3. 主な変更点を明記したうえで更新の推奨を提示します
  4. ユーザーが更新を要求した場合、ローカルのスキルフォルダー全体をリモートバージョンで置き換えます
  5. .github/skills/ ディレクトリ内のフォルダーの場所を維持します
  6. 更新された SKILL.md とあわせて、同梱されているすべてのアセットがダウンロードされるようにします

コメント