Skilo を使用する
Skiloは、Agent Skillsを開発するためのCLIツールです。
インストール
curl -sSfL https://raw.githubusercontent.com/manuelmauro/skilo/main/install.sh | sh
クイックスタート
skilo new my-skill # テンプレートから作成
skilo add owner/repo # gitからインストール
skilo lint . # 仕様に対して検証
skilo fmt . # SKILL.mdファイルを整形
すべてのコマンドとオプションを確認するには skilo -h を実行してください。
スキルは常に検証する
スキルの変更をコミットする前に、skilo lint と skilo fmt を実行してください。 これらのコマンドは Agent Skills 仕様 を強制し、一般的な問題を発見します。
# 1コマンドで検証と整形を実施
skilo check .
# CI向けの厳格モード(警告をエラーとして扱う)
skilo check --strict .
スキルの構造
my-skill/
├── SKILL.md # 必須: YAMLフロントマターを含むマニフェスト
├── scripts/ # 任意: 実行可能コード
├── references/ # 任意: 追加ドキュメント(オンデマンドでロード)
└── assets/ # 任意: 静的なリソース
フロントマターの要件
必須フィールド
name (1~64文字)
- 小文字の英数字とハイフンのみ使用可 (
a-z,0-9,-) -で開始/終了してはならない、または--を含んではならない- 親ディレクトリ名と一致する必要がある
description (1~1024文字)
- スキルが 何をするか と いつ使用するか を記述する
- エージェントがユーザーのリクエストをマッチングするのに役立つキーワードを含める
任意フィールド
license- 短く保ち、詳細はLICENSEファイルを参照するcompatibility(最大500文字) - 環境要件(例:Requires git, docker)metadata- カスタムプロパティのキー・バリューペアallowed-tools- 事前承認されたツールのスペース区切りリスト(実験的)
ベストプラクティス
効果的な説明文を書く
説明文は、エージェントがいつスキルを起動するかを決定する基準です。具体的に記述しましょう。
# 良い例 – 具体的でキーワードが豊富
description: Extracts text and tables from PDF files, fills PDF forms, and merges multiple PDFs. Use when working with PDF documents or when the user mentions PDFs, forms, or document extraction.
# 悪い例 – 曖昧で起動の手がかりがない
description: Helps with PDFs.
ボディの内容は簡潔に保つ
SKILL.md 全体のボディは、スキルが起動したときに読み込まれます。500行未満に抑えてください。
- ステップバイステップの手順を含める
- 入力と出力の例を追加する
- 一般的なエッジケースをカバーする
- 詳細な資料は
references/に移動する
段階的開示を活用する
コンテキスト使用量を最小限に抑えるようにスキルを構成します:
- メタデータ (~100トークン) -
name+descriptionは起動時にすべてのスキルでロードされる - 指示 (<5000トークン) - スキルがアクティブになった時点で全ボディをロード
- リソース (オンデマンド) -
scripts/、references/、assets/は必要なときだけロードする
自己完結型のスクリプトを作成する
scripts/ 内のスクリプトは以下を満たすべきです:
- 自己完結型であるか、依存関係を明確に文書化する
- 有用なエラーメッセージを含める
- エッジケースを適切に処理する
リファレンスを効果的に整理する
references/ 内のファイルはオンデマンドでロードされます:
- ファイルは焦点を絞る(1ファイル=1コンセプト)
- スキルルートからの相対パスを使用する
- 深いネストの参照チェーンを避ける
Lint ルール
Skilo は以下のルールを強制します(.skilorc.toml で設定可能):
| コード | ルール | デフォルト |
|---|---|---|
| E001 | name_format | 有効 |
| E002 | name_length | 64文字 |
| E003 | name_directory | 有効 |
| E004 | description_required | 有効 |
| E005 | description_length | 1024文字 |
| E006 | compatibility_length | 500文字 |
| E009 | references_exist | 有効 |
| W001 | body_length | 500行 |
| W002 | script_executable | 有効 |
| W003 | script_shebang | 有効 |
CI 統合
- name: Validate skills
run: |
curl -sSfL https://raw.githubusercontent.com/manuelmauro/skilo/main/install.sh | sh
skilo check --strict skills/