skills-optimizer について
グローバルまたはプロジェクトローカルの `skills.yaml` 設定を確認、最適化するスキルです。ユーザーの開発スタックに照らして導入済みスキルを分析し、追加前にセキュリティと品質を確認します。編集や同期にはユーザーの承認を求めます。
主な機能
- 01導入済みスキルと除外項目の分析
- 02開発スタックに沿った追加候補の提案
- 03スキルの安全性と品質の監査
- 04削除候補の提示と自動削除の回避
- 05編集や同期の前に承認を確認
活用シーン
- 01skills.yaml設定の見直し
- 02開発スタックに合うスキルの探索
- 03追加前のスキルリポジトリの評価
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ mono0926/ skills-sync --skill skills-optimizerインストール後、Claude Code で/skills-optimizerを入力して読み込まれたか確認します。
詳細
Skills Optimizer
skills.yaml ファイル(グローバル:~/.config/skills_sync/skills.yaml またはプロジェクトローカル:./skills.yaml)を最適化するための専用スキルです。既存のスキルを効率化し、ユーザーのプロフィールに合わせた高品質な追加候補を提案するとともに、クリーンで安全な環境を維持します。
コンテキスト:ユーザーの環境を把握する
最適化を提案する前に、ユーザーの主要な技術スタック、推奨するアーキテクチャ(ライブラリなど)、全体的な開発スタイルを把握する必要があります。 このコンテキストは、提供されたプロフィール情報または会話履歴から抽出してください。 [IMPORTANT] ユーザーの環境について十分に把握できていない場合(例:中核となるテクノロジーが不明な場合)、最適化案を作成する前に、必ずユーザーに確認してください。
- 目的:有益なスキルの追加とコンテキストウィンドウの効率性のバランスを取ります。インストール済みスキルが初期コンテキストに与える影響は最小限(主に名前と説明のみ)ですが、最大限の有用性とノイズの最小化のどちらをユーザーが望むかを尊重してください。
ワークフロー
このスキルが呼び出された場合は、以下の手順に厳密に従ってください。
1. 現在の状態の分析
現在の skills.yaml を読み取ります。プロジェクトローカルの ./skills.yaml は、グローバルの ~/.config/skills_sync/skills.yaml より優先される点に注意してください。インストール済みのリポジトリ、ワイルドカードによるインストール(*)、除外されたスキル(!)を分析します。
2. 高品質なスキルの特定とセキュリティ監査
ユーザーの技術スタックに関連する一流のスキルを推奨します(例:ユーザーが好むフレームワーク、クラウドプロバイダー、ツールの公式リポジトリ)。コード品質とアーキテクチャとの整合性を大きく高めるスキルを重視してください。
[TIP: find-skills の活用] エコシステム全体から高品質なスキルを見つけるには、find-skills スキルの使用を推奨します。ユーザーの要件に合った、適切にメンテナンスされているスキルの検索と特定に役立ちます。
[CRITICAL: セキュリティと品質の事前監査]
skills_sync ツールは対象リポジトリから設定ファイルをダウンロードしますが、スキル自体のロジックを詳細にセキュリティ検証する仕組みは備えていません。そのため、新しいスキルを提案する前に、必ず対象リポジトリ(SKILL.md の読み取りや scripts/ 内のファイルの監査など)を調査し、以下を確認してください。
- セキュリティチェック:不正なネットワーク通信(データ漏えい)、破壊的なコマンド(
rm -rfのような過剰な削除権限)、不審な難読化スクリプトがないことを確認してください。 - 品質チェック:プロンプトの指示が、ユーザーの求める高品質でモダンな開発基準に合致しているかを確認してください。質の低い指示やプロンプトインジェクションの欠陥によるリスクを評価してください。 この監査を完了するまでは、新しいスキルをユーザーに提案しないでください。
3. 選別とユーザー確認
ユーザーの中核となる技術スタックに合わなくなったスキルを特定します。
- スキルを自動で削除してはいけません。
- 明らかに重複している、まったく関係がない、または有害である可能性がある場合に限り、削除候補として挙げます。「念のため」残している項目は、通常そのまま残してかまいません。
4. 最適化案の提示
分析結果と監査結果をユーザーに提示してください。
- 追加候補:推奨する新しいスキルを一覧にし、ユーザーの技術スタックに適している理由を説明してください。ソースを監査し、セキュリティリスクが見つからなかったことを明記してください。
- 削除/保持の確認:技術スタックに合わないと判断したスキルを一覧にし、ユーザーに次のように尋ねてください。「これらを時々使うために残しますか。それともコンテキストを節約するために削除しますか?(削除しても、必要なときにいつでも再追加できます。)」
- 改善点:重複したスキルの項目や範囲が広すぎるワイルドカードインポートの見直しを提案してください。
5. 変更の適用
ユーザーが希望を伝えたら、次の手順に従います。
- ユーザーの選択に基づいて
skills.yamlを更新します。 - YAML コメントと書式の元の構造を維持します。
- 変更を適用する許可を求めます:
skills_sync syncを自動的に実行してはいけません。代わりに、設定変更を今すぐ適用するかどうかをユーザーに尋ねます。 - 明示的な確認を受けてから、
skills_sync syncを実行します。
- [TIP] 新しいスキルの追加または既存のスキルの更新のみを行う場合は、同期を高速化するために
skills_sync sync --no-cleanを使用します。
- 同期が成功したことをユーザーに伝えます。
ベストプラクティス
- ユーザーの明示的な同意なしに
skills.yamlを変更してはいけません。 - プロジェクトローカルの設定を優先します:ユーザーが特定のプロジェクトで作業している場合は、グローバル設定を変更するのではなく、プロジェクトローカルの
skills.yamlが存在するか、作成すべきかを確認します。 - ユーザー固有の言語や行動に関するルールに従い、親切で簡潔かつプロフェッショナルなコミュニケーションを心がけます。