エージェントスキル(実験的機能)
Qwen Code の機能を拡張するためのスキルを作成、管理、共有します。
このガイドでは、Qwen Code でエージェントスキルを作成、使用、管理する方法を説明します。スキルとは、指示(およびオプションでスクリプトやリソース)を含む整理されたフォルダを通じてモデルの機能性を拡張するモジュール式の機能です。
スキルは現在実験的な機能であり、--experimental-skills を使用して有効化する必要があります。
前提条件
- Qwen Code(最新バージョン)
有効化方法
CLIフラグ経由
qwen --experimental-skillssettings.json経由
~/.qwen/settings.json またはプロジェクトの .qwen/settings.json に以下を追加:
{
"tools": {
"experimental": {
"skills": true
}
}
}- Qwen Code の基本的な知識(クイックスタート)
エージェントスキルとは?
エージェントスキルは、専門知識をパッケージ化して検出可能な機能として提供します。各スキルは SKILL.md ファイルで構成され、モデルが関連する際に読み込める指示が含まれており、スクリプトやテンプレートなどのオプションのサポートファイルも含めることができます。
スキルの呼び出し方法
スキルはモデルによって呼び出されるものです。モデルは、あなたのリクエストとスキルの説明に基づいて、それらを使用するかどうかを自律的に判断します。これは、ユーザーが呼び出すスラッシュコマンド(明示的に /command と入力する)とは異なります。
特定のスキルを明示的に呼び出したい場合は、/skills スラッシュコマンドを使用してください:
/skills <skill-name>/skills コマンドは、--experimental-skills を使用して実行している場合にのみ利用可能です。オートコンプリートを使用して、利用可能なスキルとその説明を参照できます。
利点
- Qwen Code をワークフローに合わせて拡張可能
- Git 経由でチーム全体で専門知識を共有可能
- 繰り返しのプロンプト作成を削減可能
- 複数のスキルを組み合わせて複雑なタスクに対応可能
スキルの作成
スキルは SKILL.md ファイルを含むディレクトリとして保存されます。
個人用スキル
個人用スキルは、すべてのプロジェクトで利用できます。~/.qwen/skills/ に保存してください:
mkdir -p ~/.qwen/skills/my-skill-name以下のような用途に個人用スキルを使用してください:
- 自分のワークフローや設定
- 開発中の実験的なスキル
- 個人の生産性を高めるヘルパー
プロジェクトスキル
プロジェクトスキルはチームと共有されます。プロジェクト内の .qwen/skills/ に保存してください:
mkdir -p .qwen/skills/my-skill-name以下のような用途にプロジェクトスキルを使用してください:
- チームのワークフローや規約
- プロジェクト固有のノウハウ
- 共有されるユーティリティやスクリプト
プロジェクトスキルは Git にチェックインすることができ、自動的にチームメンバーで利用可能になります。
SKILL.md の記述
YAML フロントマターと Markdown コンテンツを持つ SKILL.md ファイルを作成します:
---
name: your-skill-name
description: このスキルが何をするのか、および使用タイミングについての簡単な説明
---
# Your Skill Name指示
Qwen Code に対する明確なステップバイステップのガイダンスを提供してください。
例
このスキルの使用方法を具体的に示してください。
### フィールド要件
Qwen Code は現在、以下を検証しています:
- `name` は空でない文字列
- `description` は空でない文字列
推奨される規則(まだ厳密には強制されていません):
- `name` では小文字、数字、ハイフンを使用してください
- `description` は具体的にしてください:**何をするのか**と**いつ使うのか**(ユーザーが自然に言及するキーワード)の両方を含めてください
## サポートファイルを追加
`SKILL.md` と同じディレクトリに追加ファイルを作成します:
```text
my-skill/
├── SKILL.md (必須)
├── reference.md (オプションのドキュメント)
├── examples.md (オプションの例)
├── scripts/
│ └── helper.py (オプションのユーティリティ)
└── templates/
└── template.txt (オプションのテンプレート)これらのファイルを SKILL.md から参照します:
高度な使い方については [reference.md](reference.md) を参照してください。
ヘルパースクリプトを実行します:
```bash
python scripts/helper.py input.txt
```利用可能なスキルを表示する
--experimental-skills が有効な場合、Qwen Code は以下の場所からスキルを検出します:
- パーソナルスキル:
~/.qwen/skills/ - プロジェクトスキル:
.qwen/skills/ - 拡張機能スキル: インストールされた拡張機能によって提供されるスキル
拡張機能スキル
拡張機能は、有効化された際に利用可能になるカスタムスキルを提供できます。これらのスキルは拡張機能の skills/ ディレクトリに格納され、パーソナルスキルやプロジェクトスキルと同じ形式に従います。
拡張機能スキルは、以下の場合に自動的に検出されて読み込まれます:
- 拡張機能がインストールされ有効化されている
--experimental-skillsフラグが有効になっている
どの拡張機能がスキルを提供しているかを確認するには、拡張機能の qwen-extension.json ファイルに skills フィールドがあるかを確認してください。
利用可能なスキルを表示するには、Qwen Code に直接尋ねてください:
利用可能なスキルは何ですか?またはファイルシステムを確認してください:
# パーソナルスキルを一覧表示
ls ~/.qwen/skills/
# プロジェクトスキルを一覧表示(プロジェクトディレクトリ内にいる場合)
ls .qwen/skills/特定のスキルの内容を表示する
cat ~/.qwen/skills/my-skill/SKILL.md
## スキルのテスト
スキルを作成した後、説明と一致する質問をしてテストします。
例:説明に「PDFファイル」と記載している場合:
```text
このPDFからテキストを抽出してくれますか?モデルはリクエストに一致した場合、自動的にあなたのスキルを使用することを判断します。明示的に呼び出す必要はありません。
スキルのデバッグ
Qwen Codeがスキルを使用しない場合は、以下の一般的な問題を確認してください:
説明を具体的にする
不明確すぎる例:
description: ドキュメントの作業を支援します具体的な例:
description: PDFファイルからテキストと表を抽出し、フォームに入力し、ドキュメントを結合します。PDF、フォーム、またはドキュメント抽出を扱う際に使用します。ファイルパスの確認
- 個人用スキル:
~/.qwen/skills/<skill-name>/SKILL.md - プロジェクトスキル:
.qwen/skills/<skill-name>/SKILL.md
# 個人用
ls ~/.qwen/skills/my-skill/SKILL.md
# プロジェクト
ls .qwen/skills/my-skill/SKILL.mdYAML構文を確認
無効なYAMLはスキルメタデータの正しく読み込みを妨げます。
cat SKILL.md | head -n 15以下のことを確認してください:
- 1行目に開始の
---があること - Markdownコンテンツの前に終了の
---があること - 有効なYAML構文であること(タブを使用せず、正しいインデント)
エラーを表示
デバッグモードでQwen Codeを実行して、スキル読み込みエラーを確認します:
qwen --experimental-skills --debugチームとスキルを共有
プロジェクトリポジトリ経由でスキルを共有できます:
.qwen/skills/配下にスキルを追加- コミットしてプッシュ
- チームメンバーが変更をプルし、
--experimental-skills付きで実行
git add .qwen/skills/
git commit -m "PDF処理用チームスキルを追加"
git pushスキルを更新
直接 SKILL.md を編集します:
# 個人用スキル
code ~/.qwen/skills/my-skill/SKILL.md
# プロジェクト用スキル
code .qwen/skills/my-skill/SKILL.md変更は次回Qwen Codeを起動する際に反映されます。Qwen Codeが既に実行中の場合は、更新を読み込むために再起動してください。
スキルの削除
スキルディレクトリを削除します:
# 個人用
rm -rf ~/.qwen/skills/my-skill
# プロジェクト用
rm -rf .qwen/skills/my-skill
git commit -m "未使用のスキルを削除"ベストプラクティス
スキルは焦点を絞る
1つのスキルは1つの機能に焦点を当てるべきです:
- 焦点が明確:「PDFフォーム入力」、「Excel分析」、「Gitコミットメッセージ作成」
- 広範囲すぎ:「ドキュメント処理」(小さなスキルに分割する)
明確な説明を書く
特定のトリガーを含めることで、モデルがいつスキルを使用すべきか判断しやすくなります:
description: Excelスプレッドシートを分析し、ピボットテーブルを作成してチャートを生成します。Excelファイル、スプレッドシート、または.xlsxデータを扱う際に使用してください。チームでテストする
- 期待通りにスキルが起動するか?
- 指示は明確か?
- 不足している例やエッジケースはあるか?