# skill-creator > 新しいエージェントスキルの作成・編集・パッケージングを支援する。 ユーザーが「スキルを作りたい」「新しい能力を追加したい」「スキルを更新したい」 「知見をスキル化したい」と依頼した場合に使用する。 また、ユーザーとのやり取りで得た知見を蓄積する際にも使用する。 Agent Skills標準(agentskills.io)に準拠したスキルを作成する。 - Author: hrhrkeee - Repository: hrhrkeee/my.github - Version: 20260207182516 - Stars: 0 - Forks: 0 - Last Updated: 2026-02-07 - Source: https://github.com/hrhrkeee/my.github - Web: https://mule.run/skillshub/@@hrhrkeee/my.github~skill-creator:20260207182516 --- --- name: skill-creator description: > 新しいエージェントスキルの作成・編集・パッケージングを支援する。 ユーザーが「スキルを作りたい」「新しい能力を追加したい」「スキルを更新したい」 「知見をスキル化したい」と依頼した場合に使用する。 また、ユーザーとのやり取りで得た知見を蓄積する際にも使用する。 Agent Skills標準(agentskills.io)に準拠したスキルを作成する。 --- # Skill Creator 新しいエージェントスキルを作成・編集するためのガイド。 ## スキルとは スキルはAIエージェントの能力を拡張する、自己完結型のパッケージ。 専門知識・ワークフロー・ツールを提供し、エージェントを汎用から専門へ変える。 ### スキルが提供するもの 1. 専門ワークフロー - 特定ドメインの手順書 2. ツール統合 - 特定のファイル形式やAPIの操作手順 3. ドメイン知識 - プロジェクト固有の知識、スキーマ、ビジネスロジック 4. バンドルリソース - 複雑で反復的なタスク用のスクリプト・参照・アセット ## コア原則 ### 簡潔さが最重要 コンテキストウィンドウは共有リソース。AIは既に高い汎用能力を持っている。 AIが既に知っている情報は含めない。各情報について「これはAIが本当に必要としている情報か?」と問う。 冗長な説明より、簡潔な例を優先する。 ### 自由度の調整 タスクの脆弱性と多様性に応じて具体性を調整する: **高い自由度(テキスト指示)**: 複数のアプローチが有効な場合 **中程度の自由度(擬似コード・パラメータ付きスクリプト)**: 推奨パターンがある場合 **低い自由度(具体的なスクリプト)**: 操作が脆弱でエラーが起きやすい場合 ### スキルの構成 ``` skill-name/ ├── SKILL.md (必須)メタデータ + 指示 ├── scripts/ (任意)実行可能なスクリプト ├── references/ (任意)参照ドキュメント └── assets/ (任意)出力に使用するファイル ``` #### SKILL.md(必須) - **フロントマター**(YAML): `name` と `description`(必須)、`license`, `metadata`, `compatibility`(任意) - `name` と `description` のみがトリガー判定に使用される - **本文**(Markdown): スキルがトリガーされた後に読み込まれる指示 #### バンドルリソース(任意) ##### scripts/ 実行可能なコード。毎回同じコードを書き直す処理を自動化する。 - スクリプトはコンテキストに読み込まずに実行可能(トークン効率が高い) - パッチや環境調整のためにAIが読む場合もある ##### references/ コンテキストに読み込む参照ドキュメント。 - 必要時のみ読み込まれるため、SKILL.md を軽量に保つ - 大きなファイル(>10k語)には grep パターンを SKILL.md に記載する - 情報の重複を避ける: SKILL.md か references のどちらかに置く ##### assets/ 出力に使用するファイル(テンプレート、画像など)。コンテキストには読み込まない。 #### 含めてはいけないもの - README.md, CHANGELOG.md, INSTALLATION_GUIDE.md 等の補助ドキュメント - AIがタスクに必要としない情報 ### 段階的開示 スキルは3段階でコンテキストを管理する: 1. **メタデータ(name + description)** - 常にコンテキスト内(~100語) 2. **SKILL.md 本文** - スキル発火時に読み込み(<5k語推奨) 3. **バンドルリソース** - 必要に応じて読み込み(無制限) #### 段階的開示のパターン SKILL.md 本文は500行以内に抑える。分割時は SKILL.md からリンクし、いつ読むべきか明確に記述する。 **パターン1: コアワークフロー + 参照ファイル** ```markdown # Processing ## Quick start [コア手順をここに] ## Advanced features - **詳細ガイド**: See [GUIDE.md](GUIDE.md) - **API reference**: See [REFERENCE.md](REFERENCE.md) ``` **パターン2: ドメイン別整理** ``` my-skill/ ├── SKILL.md (概要 + ナビゲーション) └── references/ ├── domain-a.md ├── domain-b.md └── domain-c.md ``` **重要なガイドライン:** - 参照は SKILL.md から1階層まで。深いネストは避ける - 100行超の参照ファイルには目次を付ける - ファイルパスにはフォワードスラッシュ(/)を使う ## スキル作成プロセス ### Step 1: 具体例でスキルを理解する スキルの使用パターンを明確にする。ユーザーに以下を確認する: - どんな機能をスキルがサポートすべきか - どのような使い方を想定しているか - スキルが発火すべきトリガーは何か 質問は一度に多くしすぎない。最も重要なものから始める。 既にスキルの用途が明確な場合はこのステップをスキップする。 ### Step 2: 再利用可能なリソースを計画する 各ユースケースを分析し、以下を特定する: - **scripts/**: 毎回同じコードを書き直す処理 - **references/**: 毎回調べ直す情報 - **assets/**: 出力に使用するファイル ### Step 3: スキルを初期化する [init_skill.py](scripts/init_skill.py) を実行してテンプレートを作成する: ```bash python .github/skills/skill-creator/scripts/init_skill.py --path .github/skills ``` スクリプトは SKILL.md テンプレート、scripts/、references/ を自動生成する。 既存のスキルを編集する場合はこのステップをスキップする。 ### Step 4: スキルを編集する #### 設計パターンの参考 - **複数ステップの処理**: [references/workflows.md](references/workflows.md) を参照 - **出力形式・品質基準**: [references/output-patterns.md](references/output-patterns.md) を参照 #### リソースの実装 まず scripts/、references/、assets/ のリソースから実装する。 - スクリプトは実際に実行してテストする - 不要なテンプレートファイルは削除する #### SKILL.md の更新 **フロントマター:** - `name`: スキル名(小文字、ハイフン区切り、最大64文字)。ディレクトリ名と一致させる - `description`: スキルの機能 + 発火トリガーを記述。三人称で書く - 良い例: `"PyTorchのCUDAメモリ問題を診断・解決する。OOM、メモリリーク、GPU関連エラーが発生した場合に使用する。"` - 悪い例: `"CUDA問題を直します"` - `name` と `description` 以外のフィールドは通常不要 **本文:** - 命令形で記述する - 「いつ使うか」は本文ではなく description に書く(本文は発火後にのみ読まれるため) - ワークフローにはチェックリストを提供する ### Step 5: バリデーション [quick_validate.py](scripts/quick_validate.py) でスキルを検証する: ```bash python .github/skills/skill-creator/scripts/quick_validate.py .github/skills/ ``` 配布用のパッケージが必要な場合は [package_skill.py](scripts/package_skill.py) を使用する: ```bash python .github/skills/skill-creator/scripts/package_skill.py .github/skills/ ``` ### Step 6: 反復改善 1. 実際のタスクでスキルを使う 2. 問題点を観察する 3. SKILL.md やリソースを更新する 4. 再テストする ## 知見からスキルを作成する場合 ユーザーとのやり取りで得た知見をスキル化する場合の追加ガイドライン: 1. **知見の特定**: 他の場面でも再利用可能な知識・ノウハウを特定する 2. **スキルの粒度**: 1つのスキルは1つの明確な目的を持つ 3. **スキル名**: 動名詞形(例: `debugging-cuda`, `optimizing-dataloader`)または名詞句(例: `cuda-debugging`)を推奨 4. **配置先**: `.github/skills/` に配置する 5. **即座に提案**: 知見を得たら回答の最後にスキル作成を提案する ### 知見スキルのテンプレート ```markdown --- name: <知見を表す名前> description: <何をするスキルか、いつ使うべきかを具体的に> --- # <スキル名> ## 背景 [どんな問題があったか] ## 解決方法 [具体的な手順やコード] ## 注意点 [エッジケースや落とし穴] ```