kernelgen-flagos について
kernelgen-flagosは、Python/TritonリポジトリでGPUオペレーターを生成、最適化、プラットフォームに適応するスキルです。FlagGemsとvLLM向けの専用手順を備え、リポジトリの種類に応じて処理を振り分けます。
主な機能
- 01Python/Tritonリポジトリ向けGPUカーネル生成
- 02既存のTritonカーネル最適化
- 03対象プラットフォームへのオペレーター適応
- 04FlagGemsとvLLM向け手順の振り分け
- 05kernelgen-serverの設定とフィードバック送信
活用シーン
- 01Python/Tritonリポジトリでのオペレーター生成
- 02FlagGemsまたはvLLM向けTritonオペレーターの最適化
- 03Tritonオペレーターの別プラットフォームへの移行
MCP 対応
このスキルは作業前にkernelgen-server MCPサービスを確認し、設定します。カーネル生成、最適化、プラットフォーム適応にはそれぞれMCPツールを使用します。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ flagos-ai/ skills --skill kernelgen-flagosインストール後、Claude Code で/kernelgen-flagosを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
kernelgen-generate-for-flaggems.mdkernelgen-generate-for-vllm.mdkernelgen-generate.mdkernelgen-mcp-setup.mdkernelgen-optimize-for-flaggems.mdkernelgen-optimize-for-vllm.mdkernelgen-optimize.mdkernelgen-specialize-for-flaggems.mdkernelgen-specialize.mdkernelgen-submit-feedback.mdLICENSE.txtREADME_zh.mdREADME.md詳細
kernelgen-flagos — GPU オペレーター生成の統合スキル
生成と最適化のサブスキルを 1 つにまとめた統合エントリーポイントです。
| サブスキルファイル | 目的 |
|---|---|
| 生成 | |
kernelgen-generate.md | あらゆる Python/Triton リポジトリ向けの GPU カーネルを生成します |
kernelgen-generate-for-flaggems.md | FlagGems リポジトリ向けの特化した生成 |
kernelgen-generate-for-vllm.md | vLLM リポジトリ向けの特化した生成 |
| 最適化 | |
kernelgen-optimize.md | MCP による反復最適化で既存の Triton カーネルを最適化します(汎用) |
kernelgen-optimize-for-flaggems.md | Triton オペレーターを最適化し、FlagGems に統合します(3 つのモード:組み込み/外部/実験的) |
kernelgen-optimize-for-vllm.md | Triton オペレーターを最適化し、vLLM に統合します(CustomOp 登録を含む) |
| プラットフォーム特化 | |
kernelgen-specialize.md | MCP の specialize_kernel を使い、Triton オペレーターを対象プラットフォーム向けに特化させます(例:GPU → Ascend NPU) |
kernelgen-specialize-for-flaggems.md | プラットフォーム特化とFlagGems への統合(4 つのモード:ベンダーオペレーター/ベンダーフュージョン/組み込みオーバーライド/実験的) |
| MCP の設定 | |
kernelgen-mcp-setup.md | kernelgen-server MCP サービスを確認し、自動設定します(URL は組み込み済みで、ユーザーが指定するのは Token のみ) |
| フィードバック | |
kernelgen-submit-feedback.md | GitHub またはメールでバグ報告やフィードバックを送信します |
すべてのサブスキルファイルは、この SKILL.md ファイルと同じディレクトリにあります。
ルーティングプロトコル — ほかの作業を始める前に必ず実行してください
フェーズ 0:MCP の設定確認
まず、kernelgen-server MCP サービスが設定され、使用可能な状態であることを確認してください。
Glob ツールを使って、このスキルのディレクトリにある kernelgen-mcp-setup.md を検索します。
Glob: **/skills/kernelgen-flagos/kernelgen-mcp-setup.md
次に Read ツールを使って、見つかったファイルを読み、その指示に正確に従ってください。
- MCP がすでに設定されている場合 → フェーズ 1 に進みます。
- MCP が設定されていない場合 → セットアップスキルの案内に従ってユーザーが設定を行います。 設定を書き込み、ユーザーに再起動を促したら、ここで停止してください。フェーズ 1 には進まないでください。
フェーズ 1:リポジトリの種類を判定
Glob ツールを使って、現在の作業ディレクトリにあるプロジェクト識別ファイルを確認します。
Glob: pyproject.toml
Glob: setup.py
Glob: setup.cfg
次に Read ツールを使って、存在するファイルを読みます。ファイルの内容からプロジェクト名を判定してください
(例:pyproject.toml の name = "flag_gems"、または setup.py の name='vllm')。
また、Glob ツールを使って特徴的なディレクトリ構造も確認します。
FlagGems の判定条件(いずれかに一致):
src/flag_gems/ディレクトリが存在する- プロジェクト名が
flag_gems、flag-gems、またはFlagGems - テストファイルに
import flag_gemsがある
vLLM の判定条件(いずれかに一致):
- リポジトリのルートに
vllm/ディレクトリがあり、その中にvllm/__init__.pyがある - プロジェクト名が
vllm vllm/と並んでcsrc/ディレクトリが存在する
フェーズ 2:サブスキルに振り分け
判定結果に基づいて、このスキルのディレクトリにある適切なサブスキルファイルを Read ツールで読み、 そのファイルの指示に正確に従ってください。
サブスキルファイルの場所を確認するには:これらのファイルはこの SKILL.md と同じディレクトリにあります。Glob ツールを使ってパスを検索します。
Glob: **/skills/kernelgen-flagos/kernelgen-generate.md
次に Read ツールを使って、見つかったパスを読みます。
判定表
生成リクエスト(ユーザーが新しいオペレーターの作成/生成を希望している場合):
| 判定結果 | アクション |
|---|---|
| FlagGems リポジトリが検出された | kernelgen-generate-for-flaggems.md を読み、その指示に従います |
| vLLM リポジトリが検出された | kernelgen-generate-for-vllm.md を読み、その指示に従います |
| どちらも検出されない(または不明) | kernelgen-generate.md を読み、その指示に従います |
最適化リクエスト(ユーザーが既存のオペレーターの最適化を希望し、「optimize」「speedup」「improve performance」と言及している場合):
| 判定結果 | アクション |
|---|---|
| FlagGems リポジトリが検出された | kernelgen-optimize-for-flaggems.md を読み、その指示に従います |
| vLLM リポジトリが検出された | kernelgen-optimize-for-vllm.md を読み、その指示に従います |
| どちらも検出されない(または不明) | kernelgen-optimize.md を読み、その指示に従います |
特化リクエスト(ユーザーがオペレーターを別のプラットフォームへ移行/特化することを希望し、「specialize」「migrate to Ascend/NPU」「platform migration」と言及している場合):
| 判定結果 | アクション |
|---|---|
| FlagGems リポジトリが検出された | kernelgen-specialize-for-flaggems.md を読み、その指示に従います |
| どちらも検出されない(または不明) | kernelgen-specialize.md を読み、その指示に従います |
フィードバックリクエスト:
| 判定結果 | アクション |
|---|---|
| ユーザーがバグを報告する、またはフィードバックの送信を依頼する | kernelgen-submit-feedback.md を読み、その指示に従います |
重要なルール:
- 必ず最初に検出し、その後に振り分けてください。 検出を省略してはいけません。
- 実行を開始する前に、サブスキルのファイル全体を読んでください。 部分的に読んではいけません。
- メインの SKILL.md と同じように、サブスキルの指示に厳密に従ってください。サブスキルに含まれるすべての手順、ルール、プロトコルが完全に適用されます。
- サブスキルを混在させないでください。 いったんサブスキルに振り分けたら、最後までその指示に従ってください。
- ユーザーが特定のサブスキル(例:「FlagGems 版を使って」)を明示的に指定した場合は、自動検出の結果にかかわらず、その指定に従ってください。
- 重要 — MCP は必須です:すべてのオペレーターコード生成は、必ず
mcp__kernelgen-mcp__generate_kernelMCP ツールを介して行う必要があります。最適化にはmcp__kernelgen-mcp__optimize_kernelを、プラットフォーム特化にはmcp__kernelgen-mcp__specialize_kernelを使用してください。Triton カーネル、PyTorch ラッパー、オペレーターの実装を自分で生成してはいけません。MCP が設定されていない、接続できない、またはすべての再試行後も失敗する場合は、処理を停止して問題を報告してください。手動でコードを記述して代替してはいけません。
フェーズ 3:フィードバックへの対応
ワークフローのどの時点でも、ユーザーがバグを報告した場合、何かが壊れていると言った場合、またはスキルに関するフィードバックの送信を依頼した場合:
- Read ツールを使用して、このスキルのディレクトリにある
kernelgen-submit-feedback.mdを読みます。 - そのファイルに記載されているフィードバック送信ワークフローに従います。
- フィードバックの送信後、オペレーター生成ワークフローを続けるか、停止するかをユーザーに尋ねます。
ユーザー向けクイックリファレンス
# === Generation ===
# Generate a kernel operator (auto-detects repo type)
/kernelgen-flagos relu
# Generate with explicit function type
/kernelgen-flagos rms_norm --func-type normalization
# === Optimization ===
# Optimize an existing Triton kernel (auto-detects repo type)
# Just say "optimize the relu kernel" or "improve kernel performance"
# The skill will automatically dispatch to the right optimization sub-skill
# The skill will automatically:
# - Detect if you're in a FlagGems repo → use FlagGems-specific workflow
# - Detect if you're in a vLLM repo → use vLLM-specific workflow
# - Otherwise → use the general-purpose workflow
生成中に問題が発生した場合は、「submit feedback」または「report a bug」と伝えるだけで、スキルがフィードバック送信の手順を案内します。