コマンドコンテキスト: インタラクティブな対話を通じて、適切に構造化されたスキルファイルの作成をガイドし、最適化されたコンテンツを生成・レビューします。
スキルトピック: $ARGUMENTS
実行プロセス
以下のステップをTaskCreateに登録し、体系的に進めてください。
ステップ 1: 事前確認
- 既存スキルをグロブ:
.claude/skills/*/SKILL.md,~/.claude/skills/*/SKILL.md $ARGUMENTSが既存スキル名と一致する場合: 代わりに/refine-skillを提案し停止- ユーザーに既存スキル名を一覧表示
ステップ 2: スキルナレッジの収集
AskUserQuestion を使用して4ラウンドで情報を収集します。
ラウンド 1: スキルの本質
- このスキルはどのようなドメイン知識をエンコードしますか?(1〜2文)
- このスキルが適用される際の主な目標は何ですか?(例:「型安全性を確保する」「テストパターンを標準化する」)
ラウンド 2: プロジェクト固有の価値
提案されたスキルがLLMのベースライン知識を超えた価値を提供するかどうかを確認します。
- このスキルは、LLMが一般的なトレーニングからは知り得ない、どのようなプロジェクト固有のルール、パターン、クラス名、またはワークフローをエンコードしますか?
- 具体的な例を提供してください(例:特定のエラークラス、チームの慣習、このコードベースのファイルパターン)
| ユーザーの応答 | アクション |
|---|---|
| プロジェクト固有の詳細を提供 | スキル内容に組み込む。ラウンド3に進む。 |
| 一般的な知識のみ説明 | 警告:「一般的な知識のみを含むスキルは、ランタイムでトリガーされる可能性が低いです。」次の選択肢を提示:(A) 追加するプロジェクト固有の側面を特定する、(B) スキルが確実にトリガーされない可能性があることを理解した上で進める |
ラウンド 3: スコープ、トリガー、ユーザーフレーズ
- このスキルはいつアクティブ化されるべきですか?3〜5の具体的なシナリオを列挙してください(例:「単体テストを書いているとき」「PRのセキュリティをレビューしているとき」)
- このスキルが明示的にカバーしないものは何ですか?(スコープ境界)
- あなたのチームがこの種の作業を依頼するときに実際に使用するフレーズは何ですか?(例:「Xにエラーハンドリングを追加して」「catchブロックをレビューして」「リトライロジックを修正して」)
収集したフレーズを2つのカテゴリに分類します:
| カテゴリ | 定義 | 例 |
|---|---|---|
| スキル依存 | スキルの知識なしでは正しく完了できない | 「リトライロジックを実装する」、「エラーハンドリングをレビューする」 |
| パターンコピー可能 | 既存のコードパターンを読んでコピーすることで完了できる | 「fetchXxx関数を追加する」 |
すべてのフレーズがパターンコピー可能な場合: 「これらのタスクは既存のコードをコピーすることで完了できます。このスキルがエンコードする隠れたルールを必要とするシナリオを提供できますか?」先に進む前に、少なくとも1つのスキル依存フレーズが存在することを確認してください。
ラウンド 4: 判断基準とエビデンス
- 具体的なルールや基準は何ですか?(エンコードする核となる知識)
- 良いパターンと悪いパターンの例はありますか?
- このスキルの基礎となる外部リファレンスや標準はありますか?
- 実用的な成果物:「これらのパターンを示す既存のファイル、過去の障害、PR、会話ログはありますか?」(これらはスキルを実際の使用に基づかせます)
ステップ 3: 名前と構造の決定
- 既存の命名規則に従い、動名詞/名詞形でスキル名を導出:
coding-standards,typescript-rules,implementation-approach(名詞/動名詞の複合)
- 収集したコンテンツ量に基づいてサイズを見積もる
- AskUserQuestion を使用して名前と構造をユーザーに提示し確認を得る
ステップ 4: スキルコンテンツの生成
Agent ツールを使用してskill-creatorエージェントを呼び出し、収集した情報を渡す:
- モード: 作成
- スキル名: ステップ3から
- 生の知識: ラウンド4から
- トリガーシナリオ: ラウンド3から
- ユーザーフレーズ: ラウンド3から(スキル依存とパターンコピー可能の両方)
- スコープ: ラウンド3から
- 判断基準: ラウンド4から
- プロジェクト固有の価値: ラウンド2から
- 実用的な成果物: ラウンド4から(提供された場合)
ステップ 5: 生成コンテンツのレビュー
Agent ツールを使用してskill-reviewerエージェントを呼び出す:
- skill-creatorの生成コンテンツを渡す
- レビューモード:
作成
グレードCの場合: レビュアーからの修正提案を適用し、再レビュー(最大2回の反復)。 グレードAまたはBの場合: ステップ6に進む。
ステップ 6: ユーザーレビューと書き込み
- 生成されたSKILL.mdコンテンツを最終承認のためにユーザーに提示
- ユーザーの意図との一致を確認:「このスキルはあなたが説明した知識と基準を捉えていますか?」
- 修正が要求された場合: 変更を適用し、skill-reviewerを再実行
- 承認されたら、
.claude/skills/{name}/SKILL.mdに書き込み - メタデータと言語バリアントを更新するために
/sync-skillsの実行を提案
完了基準
- 既存スキルとの名前の競合がない
- ラウンド2でプロジェクト固有の価値が検証された
- ユーザーフレーズが収集および分類された(少なくとも1つのスキル依存)
- スキル名がユーザーによって確認された
- skill-creatorエージェントが有効なJSON出力を返した
- skill-reviewerエージェントがグレードAまたはBを返した
- ユーザーが最終コンテンツを承認した
- ファイルが
.claude/skills/{name}/SKILL.mdに書き込まれた -
/sync-skillsをユーザーに提案した
エラーハンドリング
| エラー | アクション |
|---|---|
| スキル名が既に存在する | 代わりに /refine-skill {name} を提案 |
| 4ラウンド後に知識が不十分 | ターゲットを絞ったフォローアップ質問(最大2回追加質問) |
| skill-creatorが無効なJSONを返す | 入力を簡略化して1回再試行 |
| 2回のレビュー反復後もグレードC | 現在のコンテンツと問題リストを提示し、ユーザーに決定させる |
| ユーザーが生成コンテンツを拒否 | 具体的なフィードバックを収集し、調整を加えてskill-creatorを再実行 |
スコープ境界
このコマンドが処理するもの: 知識のインタラクティブ収集、creatorエージェントとreviewerエージェントのオーケストレーション、ファイル書き込み。
このコマンドが処理しないもの: スキルコンテンツ最適化ロジック(skill-creatorに委任)、品質評価ロジック(skill-reviewerに委任)、メタデータ同期(/sync-skillsに委任)。