Communityライティング&編集github.com

manuelmauro/skilo

AIネイティブなCLIツール – AIコーディングエージェント向けアーキテクチャ決定記録(ADR)の開発を支援します。

skilo とは?

Skiloは、Agent Skills(エージェントスキル)の開発・管理を専門に行うCLIツールです。エージェントのスキルは、プロンプトに軽量なメタデータと段階的な指示を組み合わせることで、AIエージェントと効率的に連携できるように設計されています。Skiloを使用すると、スキルの新規作成(テンプレートから)、Gitリポジトリからのインストール、Agent Skills仕様に対する検証(lint)と整形(fmt)がワンコマンドで行えます。lintルールは設定ファイル(.skilorc.toml)でカスタマイズ可能で、CIパイプラインへの統合も容易です。メタデータ(name & description)はエージェント起動時に全スキルがロードされ、詳細なボディはスキルがアクティブになったときにのみ読み込まれる「段階的開示(Progressive Disclosure)」により、コンテキスト使用量を最小限に抑えます。また、scripts/、references/、assets/内のリソースはオンデマンドでロードされるため、大規模なスキルでも効率的に動作します。

対応✓Claude Code~Codex CLI~Cursor
npx skills add manuelmauro/arkouda

Installed? Explore more ライティング&編集 skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

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/ に移動する

段階的開示を活用する

コンテキスト使用量を最小限に抑えるようにスキルを構成します:

  1. メタデータ (~100トークン) - name + description は起動時にすべてのスキルでロードされる
  2. 指示 (<5000トークン) - スキルがアクティブになった時点で全ボディをロード
  3. リソース (オンデマンド) - scripts/、references/、assets/ は必要なときだけロードする

自己完結型のスクリプトを作成する

scripts/ 内のスクリプトは以下を満たすべきです:

  • 自己完結型であるか、依存関係を明確に文書化する
  • 有用なエラーメッセージを含める
  • エッジケースを適切に処理する

リファレンスを効果的に整理する

references/ 内のファイルはオンデマンドでロードされます:

  • ファイルは焦点を絞る(1ファイル=1コンセプト)
  • スキルルートからの相対パスを使用する
  • 深いネストの参照チェーンを避ける

Lint ルール

Skilo は以下のルールを強制します(.skilorc.toml で設定可能):

コードルールデフォルト
E001name_format有効
E002name_length64文字
E003name_directory有効
E004description_required有効
E005description_length1024文字
E006compatibility_length500文字
E009references_exist有効
W001body_length500行
W002script_executable有効
W003script_shebang有効

CI 統合

- name: Validate skills
  run: |
    curl -sSfL https://raw.githubusercontent.com/manuelmauro/skilo/main/install.sh | sh
    skilo check --strict skills/

関連スキル