mcpField
G
github-to-skills

github-to-skills

github.com/kkkkhazixエージェントワークフロー21.7k260 回インストール4 週間前に更新
リポジトリ

github-to-skills について

github-to-skillsは、GitHubリポジトリを説明ファイルやラッパースクリプト付きのAIスキルに変換するエージェント向けスキルです。後の管理に使うソースとバージョン情報も記録します。

主な機能

  1. 01説明、README、コミットハッシュの取得
  2. 02標準的なスキルディレクトリの作成
  3. 03ソースとバージョン情報付きSKILL.mdの生成
  4. 04ツール呼び出し用ラッパースクリプトの生成
  5. 05記録したコミットハッシュの検証

活用シーン

  1. 01GitHubリポジトリの再利用可能なスキル化
  2. 02生成したスキルのソースとバージョンの追跡
  3. 03リポジトリのツールを呼び出すラッパーの作成

インストール

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

$npx skills add https://github.com/kkkkhazix/khazix-skills --skill github-to-skills

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

同梱ファイルscripts/create_github_skill.pyscripts/fetch_github_info.py

詳細

GitHub からスキルを作成

このスキルは、GitHub リポジトリを完全に機能する AI スキルに自動変換します。

主な機能

  1. 分析:リポジトリのメタデータ(説明、README、最新のコミットハッシュ)を取得します。
  2. ひな形の作成:標準化されたスキルのディレクトリ構造を作成します。
  3. メタデータの注入:将来の自動管理に備え、追跡元、バージョン、ハッシュを含む拡張フロントマターを使って SKILL.md を生成します。
  4. ラッパーの生成:ツールと連携するための scripts/wrapper.py(または同様のファイル)を作成します。

使用方法

起動方法:/GitHub-to-skills <github_url> または「このリポジトリをスキルにパッケージ化して:」

必須のメタデータスキーマ

このファクトリーで作成するすべてのスキルには、SKILL.md に以下の拡張 YAML フロントマターを必ず含めてください。これは、後で skill-manager を機能させるために不可欠です。

---
name: <kebab-case-repo-name>
description: <concise-description-for-agent-triggering>
# EXTENDED METADATA (MANDATORY)
github_url: <original-repo-url>
github_hash: <latest-commit-hash-at-time-of-creation>
version: <tag-or-0.1.0>
created_at: <ISO-8601-date>
entry_point: scripts/wrapper.py # or main script
dependencies: # List main dependencies if known, e.g., ["yt-dlp", "ffmpeg"]
---

ワークフロー

  1. 情報の取得:エージェントはまず scripts/fetch_github_info.py を実行し、リポジトリから生データを取得します。
  2. 計画:エージェントは README を分析し、ツールの呼び出し方法(CLI 引数、Python API など)を把握します。
  3. 生成:エージェントは skill-creator のパターンを使って SKILL.md とラッパースクリプトを作成し、拡張メタデータが含まれていることを確認します。
  4. 検証:コミットハッシュが正しく取得されたことを確認します。

リソース

  • scripts/fetch_github_info.py:リポジトリの詳細(README、ハッシュ、タグ)をスクレイピングまたは API 経由で取得するユーティリティです。
  • scripts/create_github_skill.py:フォルダーのひな形を作成し、初期ファイルを書き込むオーケストレーターです。

生成されるスキルのベストプラクティス

  • 分離:可能であれば、生成されるスキルが独自の依存関係をインストールするようにします(例:venv 内、または uv/pip 経由)。難しい場合は、依存関係を明確に記載します。
  • 段階的な情報開示:リポジトリ全体をスキルに含めないでください。必要なラッパーコードのみを含め、詳細を調べる場合は元のリポジトリを参照します。
  • 冪等性:github_hash フィールドを使うことで、将来の skill-manager は if remote_hash != local_hash を確認し、更新を開始できます。

コメント