メインコンテンツへスキップ
Skill とは、特定の作業を Qoder CLI に教えるための SKILL.md を含むフォルダです。たとえば、チームの基準に沿った PR レビュー、好みの形式でのコミットメッセージ生成、社内データベースのスキーマ照会などを行えます。Qoder CLI に Skill の目的に合致する依頼をすると、Qoder CLI はその Skill を自動的に適用します。 主な機能
  • インテリジェントな呼び出し:ユーザーのリクエストと Skill の説明に基づき、モデルが自律的に Skill を使用するタイミングを判断します。
  • モジュール設計:各 Skill は特定の種類のタスク解決に特化しています。
  • 柔軟な拡張:ユーザーレベルとプロジェクトレベルの両方でカスタム Skill をサポートします。

クイックスタート

この例では、API ドキュメントを生成するための Skill を作成します。

1. Skill ディレクトリの作成

個人の Skills フォルダにディレクトリを作成します。個人の Skill はすべてのプロジェクトに適用されます。また、.qoder/skills/ にプロジェクトレベルの Skill を作成してチームと共有することもできます。

2. SKILL.md の作成

すべての Skill には SKILL.md ファイルが必要です。このファイルは、--- マーカーで囲まれた YAML メタデータで始まり、そのメタデータには namedescription を必ず含める必要があります。その後に Markdown 形式で指示を記述します。 ~/.qoder/skills/api-doc-generator/SKILL.md を作成します:

3. Skill のロードと検証

新しいセッションでは起動時に Skill がロードされます。Qoder CLI がすでに実行中の場合は、/skills reload で検出済み Skill を更新できます。正常にロードされたことを確認します:
または、次の Command を使用します:
会話には api-doc-generator がその説明とともに表示されるはずです。

4. Skill のテスト

プロジェクト内の API ルートファイルを開き、Skill の説明に一致する質問をします:
Qoder CLI は api-doc-generator Skill を適用し、関連する API ドキュメントを生成します。トリガーされない場合は、説明にあるキーワードを使って表現を変えてみてください。

Skill の仕組み

Skill は、Command によってロードされるか、モデルによって自動的に呼び出されます。モデルはリクエストの内容に基づいてどの Skill を使用するかを判断するため、明示的な指定は不要です。
  1. 起動時、Qoder CLI は各 Skill の名前と説明をロードします。これにより、高速な起動を維持しつつ、モデルが各 Skill の適用可能なシナリオを理解できるようになります。
  2. リクエストが Skill の説明と一致すると、モデルはその Skill の使用をリクエストし、完全な SKILL.md をロードします。一部の Skill は追加確認なしで実行できますが、追加の権限が必要な Skill は承認を求めることがあります。ユーザーが一般的に使用するキーワードを含む説明を記述してください。
  3. モデルは Skill の指示に従い、必要に応じて参照されているファイルをロードしたり、スクリプトを実行したりします。

Skill の保存場所

保存場所によって Skill の利用可能性が決まります: 名前が競合する場合、ユーザーレベルの Skill がプロジェクトレベルの Skill をオーバーライドします。

Skill と Command の違い

中心的な違いは、Skill は手動での呼び出しと自動トリガーの両方をサポートするのに対し、Command は明示的な /command-name の入力が必要である点です。
注: 内部的に、Skill は特殊な Command タイプに変換され、同じ実行メカニズムを共有します。

Skill の使用場面

Skill の使用が適しているケース
  • 複雑で専門的なタスク:ドメイン知識を必要とするワークフロー (コードレビュー、PDF 処理、API 設計)
  • 標準化されたプロセス:固定された手順に従うタスク (コミット規約、デプロイフロー)
  • チームの知識共有:ベストプラクティスをパッケージ化して共有
  • 反復的な作業:専門的なガイダンスを必要とする頻繁に実行されるタスク
Command の使用が適しているケース
  • シンプルで迅速な操作
  • ユーザーによる明示的なトリガーが必要なタスク
  • 複雑なプロンプトガイダンスを必要としないタスク

Skill の作成

保存場所の選択

ヒント: ユーザーレベルの Skill は、同じ名前のプロジェクトレベルの Skill をオーバーライドします。
ディレクトリの作成

ディレクトリ構造の整理

ディレクトリ構造の例
SKILL.md 内で補助ファイルを参照し、段階的開示を行います:

SKILL.md の作成

YAML フロントマターと Markdown コンテンツを含む SKILL.md を作成します:
フロントマターのフィールド
重要: description フィールドは、モデルがいつあなたの Skill を使用すべきかを発見するために不可欠です。Skill が何をするのか、いつ使用するのかを含めてください。詳細は「ベストプラクティス」セクションをご参照ください。

Skill の使用

自動トリガー

ニーズを直接記述すると、モデルが Skill を使用するかどうかを自動的に判断します:
モデルは log-analyzer Skill を認識し、呼び出します。

手動トリガー

/skill-name を使用して手動でトリガーします:

利用可能な Skill の表示

CLI 内で
ファイルシステム経由で

更新と削除

Skill の更新

SKILL.md を直接編集します。新しいセッションでは起動時に更新が読み込まれます。Qoder CLI がすでに実行中の場合は、/skills reload で検出済み Skill を更新します。

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 を表示して、フロントマターに構文エラー (インデント、引用符の対応など) がないことを確認します。 説明の具体性の確認 明確で具体的な説明を使用します:

Skill の実行エラー

依存関係の可用性の確認 CLI は、必要に応じて (または許可を求めて) 必要な依存関係を自動的にインストールします。 スクリプトの権限を確認

複数の Skill の競合

CLI が類似した Skill を混同する場合、説明に異なるトリガー用語を使用して区別します。

例 1:シンプルな Skill

ログファイルを分析し、問題を診断します。 ディレクトリ構造
SKILL.md

例 2:複数ファイルの使用

データベースのマイグレーションとバージョン管理ツール。 ディレクトリ構造
SKILL.md