factsGemini CLIskills

Agent Skills

概要

専門知識・手順的ワークフロー・タスク固有のリソースで Gemini CLI を拡張する仕組み。Agent Skills のオープン標準に基づき、skill は指示とアセットを 1 つの発見可能な機能としてまとめた自己完結ディレクトリ。

ワークスペース全体に恒久的な背景を与える GEMINI.md と違い、skill は on-demand の専門知識を表す。

仕様

ライフサイクル

  1. Discovery: セッション開始時に discovery tier を走査し、有効なすべての skill の name と description をシステムプロンプトに注入する
  2. Activation: description に一致するタスクを認識すると activate_skill ツールを呼ぶ
  3. Consent: skill の名前・目的・アクセスを得るディレクトリパスを示す確認プロンプトが UI に出る
  4. Injection: 承認すると
    • SKILL.md の本文とフォルダ構造が会話履歴に追加される
    • その skill のディレクトリがエージェントの許可ファイルパスに追加され、バンドルされたアセットを読めるようになる
  5. Execution: モデルは skill の手順的ガイダンスを(合理的な範囲で)優先するよう指示される
  • progressive disclosure: 最初は skill のメタデータ(name と description)だけが読み込まれ、詳細な指示とリソースはモデルが明示的に skill をアクティブにしたときだけ開示される

discovery tier

優先度の低い順

  1. Built-in skills: Gemini CLI 同梱(pre-approved
  2. Extension skills: インストール済み extension にバンドルされたもの
  3. User skills: ~/.gemini/skills/ または ~/.agents/skills/ エイリアス
  4. Workspace skills: .gemini/skills/ または .agents/skills/ エイリアス
  • 同名の skill が複数ある場合、優先度の高い場所のものが使われる
  • 同一ティア内(user または workspace)では、.agents/skills/ エイリアスが .gemini/skills/ ディレクトリより優先する
  • .agents/skills/ エイリアスは、Agent Skills 標準に従う他の AI ツールとの互換パス

skill の構造

my-skill/
├── SKILL.md       (必須) 指示とメタデータ
├── scripts/       (任意) 実行可能スクリプト
├── references/    (任意) 静的ドキュメント
└── assets/        (任意) テンプレートなど
  • 必須なのは SKILL.md のみ
  • skill がアクティブになると、モデルはこのディレクトリ全体へのアクセスを得る

frontmatter:

  • name: 一意な識別子。ディレクトリ名と一致させるべき
  • description: 重要。 Gemini がこの skill をいつ使うかを判断する材料。扱うタスクとトリガーになるキーワードを具体的に書く

作成

  • 組み込みの skill-creator に依頼するのが最速。skill ディレクトリ、namedescription を持つ SKILL.md、標準のリソースディレクトリ(scripts/references/assets/)が生成される
  • 手動でディレクトリと SKILL.md を作ってもよい。Gemini CLI は .gemini/skills ディレクトリの skill を自動的に発見する
  • コアパッケージには開発用スクリプトがある
    • 初期化: node scripts/init_skill.cjs <name> --path <dir>
    • 検証: node scripts/validate_skill.cjs <path/to/skill>
    • パッケージ化: node scripts/package_skill.cjs <path/to/skill>.skill の zip を作る)

セッション内の管理(/skills

コマンド内容
/skills list [all] [nodesc]発見済み skill を表示する。all で組み込みも含めるnodesc で説明を隠す
/skills link <path> [--scope user|workspace]ローカルディレクトリの skill をリンクする
/skills disable <name>発動しないようにする
/skills enable <name>再度有効にする
/skills reload/skills refreshCLI を再起動せずに全ティアから再走査する
  • /skills disable/skills enable の既定スコープは user workspace 固有の設定には --scope workspace を使う

ターミナルからの管理(gemini skills

gemini skills list --all
gemini skills install https://github.com/user/repo.git --consent
gemini skills link ./path/to/my-skill
gemini skills uninstall my-skill --scope workspace
オプション内容
--scopeuser(グローバル、既定)または workspace(プロジェクト固有)
--pathskill を含む Git リポジトリ内のサブディレクトリ
--consentセキュリティリスクを了承し、インストール時の対話確認を飛ばす
  • install はリモートリポジトリまたはローカルの .skill パッケージから入れる。既定は user プロファイル

共有

  • Workspace skills: プロジェクトリポジトリの .gemini/skills/ にコミットする
  • Extensions: extension にバンドルする
  • Git リポジトリ: 単独の Git repo として共有し gemini skills install <url> で入れる

設定

---
name: code-reviewer
description:
  Expertise in reviewing code changes for correctness, security, and style. Use
  when the user asks to "review" their code or a PR.
---

# Code Reviewer Instructions

You act as a senior software engineer specialized in code quality.

制約・注意点

  • Agent Skills はスクリプトを実行し、ファイルにアクセスしうる
  • 保護は 2 段階
    1. インストール時の同意: リモート URL から入れるときにソースの確認を求められる
    2. アクティベーション時の同意: セッション中に skill が発動するたびに、有効化とリソースへのアクセスの許可を求める

関連

  • facts/gemini-cli/commands.md
  • facts/gemini-cli/extensions.md
  • facts/gemini-cli/gemini-md.md
  • facts/gemini-cli/configuration.md
  • facts/gemini-cli/tools.md
  • facts/gemini-cli/subagents.md