SKILL.md) です。ユーザーが Skill の目的に合致するリクエストをすると、Qoder CLI は自動的にその Skill を適用します。
主な機能:
- インテリジェントな呼び出し:ユーザーのリクエストと Skill の説明に基づき、モデルが自律的に Skill を使用するタイミングを判断します。
- モジュール設計:各 Skill は特定の種類のタスク解決に特化しています。
- 柔軟な拡張:ユーザーレベルとプロジェクトレベルの両方でカスタム Skill をサポートします。
クイックスタート
この例では、API ドキュメントを生成するための Skill を作成します。1. Skill ディレクトリの作成
個人の Skills フォルダにディレクトリを作成します。個人の Skill はすべてのプロジェクトに適用されます。また、.qoder/skills/ にプロジェクトレベルの Skill を作成してチームと共有することもできます。
2. SKILL.md の作成
すべての Skill にはSKILL.md ファイルが必要です。このファイルは、--- マーカーで囲まれた YAML メタデータで始まり、そのメタデータには name と description を必ず含める必要があります。その後に Markdown 形式で指示を記述します。
~/.qoder/skills/api-doc-generator/SKILL.md を作成します:
3. Skill のロードと検証
Skill は、作成または変更後、新しいセッションで自動的にロードされます。正常にロードされたことを確認します:api-doc-generator がその説明とともに表示されるはずです。
4. Skill のテスト
プロジェクト内の API ルートファイルを開き、Skill の説明に一致する質問をします:api-doc-generator Skill を適用し、関連する API ドキュメントを生成します。トリガーされない場合は、説明にあるキーワードを使って表現を変えてみてください。
Skill の仕組み
Skill は、Command によってロードされるか、モデルによって自動的に呼び出されます。モデルはリクエストの内容に基づいてどの Skill を使用するかを判断するため、明示的な指定は不要です。- 起動時、Qoder CLI は各 Skill の名前と説明をロードします。これにより、高速な起動を維持しつつ、モデルが各 Skill の適用可能なシナリオを理解できるようになります。
- リクエストが Skill の説明と一致すると、モデルはその Skill の使用をリクエストします。確認のプロンプトを表示した後、完全な
SKILL.mdをロードします。ユーザーが一般的に使用するキーワードを含む説明を記述してください。 - モデルは Skill の指示に従い、必要に応じて参照されているファイルをロードしたり、スクリプトを実行したりします。
Skill の保存場所
保存場所によって Skill の利用可能性が決まります:| 場所 | パス | スコープ | ユースケース |
|---|---|---|---|
| 個人 | ~/.qoder/skills/{skill-name}/SKILL.md | 現在のユーザーのすべてのプロジェクト | 個人のワークフロー、実験的な Skill、個人用ツール |
| プロジェクト | .qoder/skills/{skill-name}/SKILL.md | 現在のプロジェクトのみ | チームのワークフロー、プロジェクト固有の知識、共有スクリプト |
Skill と Command の違い
中心的な違いは、Skill は手動での呼び出しと自動トリガーの両方をサポートするのに対し、Command は明示的な/command-name の入力が必要である点です。
| 機能 | Skill | Command |
|---|---|---|
| トリガー方法 | 自動 (モデルベース) または手動 (/skill-name) | 手動 (/command-name) |
| 主な用途 | 専門知識、複雑なワークフロー | 迅速なプリセットタスク |
| 保存場所 | skills/ ディレクトリ | commands/ ディレクトリ |
| 権限 | 必要 | 不要 |
注: 内部的に、Skill は特殊な Command タイプに変換され、同じ実行メカニズムを共有します。
Skill の使用場面
Skill の使用が適しているケース:- 複雑で専門的なタスク:ドメイン知識を必要とするワークフロー (コードレビュー、PDF 処理、API 設計)
- 標準化されたプロセス:固定された手順に従うタスク (コミット規約、デプロイフロー)
- チームの知識共有:ベストプラクティスをパッケージ化して共有
- 反復的な作業:専門的なガイダンスを必要とする頻繁に実行されるタスク
- シンプルで迅速な操作
- ユーザーによる明示的なトリガーが必要なタスク
- 複雑なプロンプトガイダンスを必要としないタスク
Skill の作成
保存場所の選択
| タイプ | パス | スコープ |
|---|---|---|
| ユーザーレベル | ~/.qoder/skills/{skill-name}/SKILL.md | 現在のユーザーのすべてのプロジェクト |
| プロジェクトレベル | .qoder/skills/{skill-name}/SKILL.md | 現在のプロジェクトのみ |
ヒント: プロジェクトレベルの Skill は、同じ名前のユーザーレベルの Skill をオーバーライドします。ディレクトリの作成:
ディレクトリ構造の整理
ディレクトリ構造の例:SKILL.md 内で補助ファイルを参照し、段階的開示を行います:
SKILL.md の作成
YAML フロントマターと Markdown コンテンツを含むSKILL.md を作成します:
| フィールド | 必須 | 説明 | 制約 |
|---|---|---|---|
name | はい | Skill の一意な識別子 | 小文字、数字、ハイフンのみ。最大 64 文字 |
description | はい | モデルがいつ使用するかを判断するための機能説明 | 最大 1024 文字 |
重要: description フィールドは、モデルがいつあなたの Skill を使用すべきかを発見するために不可欠です。Skill が何をするのか、いつ使用するのかを含めてください。詳細は「ベストプラクティス」セクションをご参照ください。
Skill の使用
自動トリガー
ニーズを直接記述すると、モデルが Skill を使用するかどうかを自動的に判断します:log-analyzer Skill を認識し、呼び出します。
手動トリガー
/skill-name を使用して手動でトリガーします:
利用可能な Skill の表示
CLI 内で:更新と削除
Skill の更新
SKILL.md を直接編集します。変更は、次に Qoder CLI を起動したときに有効になります。CLI がすでに実行中の場合は、再起動して更新をロードしてください。Skill の削除
Skill ディレクトリを削除します:警告: Skill ディレクトリを削除すると、すべてのファイルが完全に削除され、復元はできません。
ベストプラクティス
Skill の焦点を絞る
各 Skill は、1 つの特定のドメインまたはタスクタイプに焦点を当てるべきです。 推奨:log-analyzer- ログ分析security-auditor- セキュリティ監査database-migrator- データベースマイグレーション
coding-helper- 広すぎる
明確な説明を記述する
description には、Skill が何をするか、いつ使用するか、そして主要なトリガーワードを含めるべきです。
比較:
共有前のテスト
共有する前に、以下を確認してください:- Skill が期待されるシナリオでトリガーされること
- 指示が明確であること
- 一般的なエッジケースがカバーされていること
バージョン変更の記録
SKILL.md にバージョン履歴を追加します:トラブルシューティング
Skill がトリガーされない
ファイルの場所を確認:SKILL.md が正しいパスに存在することを確認します。
YAML フォーマットの確認:
SKILL.md を表示して、フロントマターに構文エラー (インデント、引用符の対応など) がないことを確認します。
説明の具体性の確認:
明確で具体的な説明を使用します: