Skill は必要時に起動する指示パックです。ユーザーのリクエストが該当する内容になると、Agent が activate ツールを呼び出してその Skill の指示をコンテキストに取り込み、それに従ってタスクを完了させます。起動されていない Skill はコンテキストを消費しません。
Agent に専門的なワークフロー、テンプレート、スクリプトを一つ追加するのに向いています。たとえば「Python プロジェクトの解析」「PDF フォーム入力」「コードレビュー」など。System Prompt に全部詰め込む必要はありません。
プラグイン・MCP との違い
| やりたいこと | 使うもの |
|---|
| 必要時に起動する一連のワークフロー(スクリプトやテンプレート付き可) | Skill |
| 既存の MCP ツールサービスに接続 | MCP サーバー |
| 長期常駐機能、設定画面、イベント、ナレッジベース | プラグイン |
詳細はランタイムと拡張機能の関係を参照。
Skill のインストール
Skill はサンドボックスに依存します。box.enabled が true で、Docker / Nsjail / E2B のいずれかが利用可能なときのみ、Skill のインストール、起動、編集ができます。詳細はサンドボックス設定を参照。
LangBot Space から(推奨)
LangBot Space は LangBot 公式のマーケットプレイスで、すぐに使える Skill が多数掲載されています。WebUI の Skills ページから閲覧して 1 クリックでインストールでき、SKILL.md の作成やリソースファイルの準備は不要です。
ほとんどのケースはこれで十分です。独自のワークフローが必要な場合は下記の方法を使ってください。
自分で作る
WebUI — Skills ページで新規作成、zip アップロード、GitHub からのインポートが可能。
サンドボックス + register_skill:
- サンドボックスの
/workspace 配下にディレクトリと SKILL.md を準備
- Agent に
register_skill(path="/workspace/my-skill") を呼び出させる
いずれの方法でも Box Runtime が管理する skill store に書き込まれます。
パイプラインで有効化
Skill をインストールしたあと、パイプラインの拡張設定で Agent から見える Skill を決めます:
- 「すべての Skill を有効化」をオンにする、または
- 指定した Skill のみをバインドする
バインドは <available_skills> 一覧(Agent が選択肢として認識する対象)にのみ影響します。完全な指示は常に activate が呼ばれた後に注入されます。
SKILL.md を書く
Skill はディレクトリと SKILL.md 1 つで構成されます。frontmatter にメタデータを書き、本文は Agent が起動後に受け取る指示です:
---
name: code-reviewer
display_name: コードレビューアシスタント
description: コードをレビューして改善提案を行う。ユーザーが review、レビュー、コード改善に言及したときに起動
---
## 実行手順
1. `read` で関連ファイルをざっと確認
2. 可読性、潜在的なバグ、セキュリティ問題をチェック
3. 優先度順に改善提案を提示
LangBot は現在、以下の 3 つのフィールドを読み取ります:
| フィールド | 必須 | 説明 |
|---|
name | 作成/登録時 | 一意の識別子、1–64 文字 |
description | 強く推奨 | Agent はこれをもとに起動可否を判断する——具体的なほど選ばれやすい |
display_name | 任意 | UI 表示名 |
description は Agent が Skill を選ぶ唯一の手がかりです。機能・適用シーン・想定されるトリガーワードを具体的に書きましょう。
完全な仕様は agentskills.io を参照してください。その他のフィールド(license、metadata など)は将来の互換のために残せますが、現在は読み取られません。
リソースを伴う Skill では SKILL.md と同じ階層に scripts/、templates/ などを置きます。起動後、Agent は /workspace/.skills/{skill-name}/ でこれらにアクセスできます。
Agent が使えるツール
| ツール | 用途 |
|---|
activate | Agent が該当を判断したときに自動で呼び出し、SKILL.md をコンテキストに取り込む |
register_skill | サンドボックスに用意したディレクトリを新しい Skill として登録 |
よくある問題
| 症状 | 確認項目 |
|---|
| Skill 一覧が空 | box.enabled、Box Runtime の状態、box.local.skills_root |
| Agent が Skill を起動しない | description が具体的か、パイプラインでバインドされているか、モデルが関数呼び出しに対応しているか |
| 起動後にファイルが見つからない | ファイルは Skill パッケージ内に置く必要があり、パスは /workspace/.skills/{skill-name}/ |
register_skill がエラー | パスは /workspace 配下である必要があり、ディレクトリまたは 2 階層以内のサブディレクトリに SKILL.md が必要 |
Skills は現在、組み込み Agent 向けで、関数呼び出しとサンドボックスバックエンドに依存します。外部 Runner(Dify、n8n、Langflow、Coze など)では各プラットフォームの同等機構を利用してください。