公開日: 更新日:

森田 嶺

【Antigravity連載②】AIエージェントを自分仕様に育てる「Skills」とは?

【Antigravity連載②】AIエージェントを自分仕様に育てる「Skills」とは?サムネイル画像

Google Antigravityを使っていると、「毎回同じ指示を入力するのが面倒」「自社の開発ルールを覚えさせたい」と感じることがあります。たとえば、コードレビューを依頼するたびに、以下のような指示を毎回プロンプトへ書くのは、正直かなり面倒です。

  • セキュリティを優先する
  • 命名規則を確認する
  • 修正理由も説明する
  • 最後にチェック結果をまとめる

そこで活用したいのが、AntigravityのSkills(スキル)です。Skillsを使うと、特定の業務や開発作業に必要なルール、手順、ベストプラクティスなどをあらかじめファイルとして登録しておき、必要な場面でAntigravityに自動的に読み込ませることができます。

しかも、このSkillsという仕組みはAntigravity独自の考え方ではありません。Claude Codeやそれ以外のAIでも、非常によく似た仕組みが採用されています。今回は「Antigravity連載②」として、Skillsとは何なのか、どんな場面で使えるのか、そしてClaude Codeとは何が違うのかまで整理してみます。

AntigravityのSkillsとは?

Skillsとは、エージェントの能力を拡張するためのオープンスタンダードの仕組みです。1つのSkillは基本的にフォルダとして管理され、その中に必須ファイルとしてSKILL.mdを配置します。 たとえば、コードレビュー専用のSkillであれば、以下のような構成になります。

.agents/skills/

└── code-review/

└── SKILL.md

具体的には、SKILL.mdには、以下のようなことを記述しておきます。

  • どのようなタスクで使うSkillなのか
  • どのような手順で処理するのか
  • どのルールを守るのか
  • どのような形式で結果を出力するのか

つまりSkillsは、ざっくり言えば「AIエージェント向けの業務マニュアル」です。人間の新人社員に、「コードレビューするときは、この手順書を見てください」と伝えるのとかなり近い考え方です。

毎回プロンプトを書く必要がなくなる

Skillsを使う最大のメリットは、毎回同じ指示を書かなくてよくなることです。たとえば、普段Antigravityに以下のような依頼をしているとします。

このコードをレビューしてください。

セキュリティ、可読性、パフォーマンスの観点から確認してください。

問題点には重要度をつけ、改善コードも提示してください。

毎回これを書く代わりに、「コードレビュー時のルール」をSkillとして登録しておきます。

すると、ユーザー側は「このコードをレビューして」程度の指示だけでも、エージェントが関連するSkillを検出し、その内容を読み込んで処理できます。Antigravityは会話開始時に利用可能なSkillの名前とdescriptionを確認し、タスクに関連すると判断したSkillについて、初めて詳細な指示を読み込みます。ここが単純なプロンプトテンプレートとの大きな違いです。

Skillsは「必要なときだけ」読み込まれる

Skillsを理解するうえで重要なのが、Progressive Disclosure(段階的開示)という考え方です。すべてのルールやドキュメントを常にAIへ渡してしまうと、コンテキストが大きくなります。たとえば、以下を毎回全て読み込ませるのはとても非効率です。

  • Java開発ルール
  • Python開発ルール
  • コードレビュー手順
  • Git運用ルール
  • テスト方針
  • デプロイ手順
  • セキュリティチェック

Antigravityでは、まずSkillの名前やdescriptionだけを認識し、ユーザーの依頼に関連すると判断した場合に、そのSkillの詳しい内容を読み込みます。Skillsは必要になるまで読み込まれない専門知識のパッケージであり、これによってコンテキストの肥大化やコスト、レイテンシを抑えられます。

たとえば、「このPRをレビューして」と依頼した場合だけcode-review Skillを読み込み、「Cloud Runへデプロイして」と依頼した場合にはdeployment Skillを読み込む。こうした形で、AIエージェントへ必要な知識だけをその都度渡せます。

Skillの保存場所とSKILL.mdの構成

Skillの作り方は意外とシンプルです。Antigravityでは、主に2つの場所へSkillを配置できます。

Skillの種類

保存場所

用途

Workspace Skill

<workspace-root>/.agents/skills/

特定のプロジェクトだけで使用

Global Skill

~/.gemini/config/skills/

すべてのプロジェクトで使用

たとえば、特定プロジェクト固有のコーディング規約であればWorkspace Skillとして登録します。一方、「コードレビューでは必ずセキュリティを確認する」といった自分共通のルールであればGlobal Skillにしておくと便利です。

SKILL.mdの構成

SKILL.mdは、以下のようにYAMLのfrontmatterとMarkdown本文を組み合わせて作成します。

---

name: code-review

description: コードレビューを行う際に使用します。セキュリティ、可読性、保守性を確認します。

---

 

# Code Review

 

コードレビューでは以下を確認してください。

 

## チェック項目

 

1. セキュリティ上の問題

2. 可読性

3. パフォーマンス

4. エラーハンドリング

5. 保守性

 

## 出力形式

 

- 問題箇所

- 重要度

- 理由

- 改善方法

特に重要なのがdescriptionです。Antigravityはdescriptionを見て、「このSkillを今回のタスクで使うべきか」を判断します。そのため、

コードに関するSkill

ではなく、

コードレビューを行う際に使用する。セキュリティ、可読性、保守性、パフォーマンスを確認する。

のように、「いつ使うのか」まで具体的に書いた方が良いです。実際、Skillsのベストプラクティスとして、Skillを特定用途に絞ることや、明確なdescriptionを書くことが推奨されています。

SKILL.md以外のファイルも持たせられる

Skillsは、単なるMarkdownの指示文だけではありません。必要に応じて、以下をSkillフォルダに含めることができます。

  • スクリプト
  • 参考資料
  • テンプレート
  • サンプルコード

Skillsは、Markdownで記述できるだけでなく、参照ファイル、code snippets、その他のassetsを含めることができます。具体的には以下のような構成です。

※ ここでいう参考ファイルは、作業時に参照するマニュアルや社内ルールなどの資料です。code snippetsは、特定の処理に使う短いプログラムの例を指します。assets(素材)は、テンプレートや画像など、成果物を作るために利用するファイルのことです。つまり、Skillsには作業の指示だけでなく、その作業に必要な資料や素材もまとめて含めることができます。

security-review/

├── SKILL.md

├── references/

│ └── security-policy.md

└── scripts/

└── scan.py

企業で使うなら、自社のセキュリティルールや設計ガイドラインをreferencesとして持たせておく使い方がおすすめです。

どんなSkillsを作ると便利なのか?

個人的には、Skillsは「よく使うプロンプトを保存する機能」と捉えるよりも、繰り返し発生する業務を標準化する機能として考えた方が活用しやすいと思います。

たとえば以下のようなSkillです。

Skill

内容

code-review

コードレビューのチェック基準を統一

security-review

脆弱性や権限設定を重点的に確認

deploy

自社のデプロイ手順を定義

testing

テストコード作成ルールを定義

documentation

READMEや設計書の書き方を統一

GAS-development

Google Apps Scriptの開発ルールを定義

architecture-review

システム設計レビューの観点を定義

特にチーム開発では効果が大きくなります。これまでは、人によってAIへの指示内容が違うため、「AさんがAIに作らせたコード」と「BさんがAIに作らせたコード」で品質や書き方がバラバラになることがありました。共通Skillをプロジェクトへ配置しておけば、AIエージェント側にもチームの開発標準を共有できるようになります。

Google公式のSkillsも公開されている

すべて自分で作る必要があるわけではありません。Googleは公式のAgent Skillsリポジトリを公開しています。執筆時点では、Google CloudやFirebase、Gemini関連など、Googleの各種製品・技術を対象としたSkillsが公開されています。

Google公式Skillsをインストールする方法

ご利用のPCにNode.jsがインストールされている場合は、以下コマンドを実行することで、AntigravityやAntigravity CLIなどへインストールすることができます。

npx skills install github.com/google/skills

Cloud RunやBigQueryを頻繁に扱うのであれば、まずGoogle公式Skillsから試してみるのが良いかもしれません。

Claude CodeのSkillsとは違う?

ここまで読んで、「Claude CodeにもSkillsってなかった?」と思った人もいるかもしれません。実はAntigravity、ClaudeのSkillsは、基本的な考え方がかなり似ています。

比較項目 Google Antigravity Claude Code
Skillの基本的な考え方 特定業務の手順、専門知識、ルールなどを再利用可能な形でエージェントに追加する 特定業務の手順、専門知識、ルールなどを再利用可能な形でClaudeに追加する
採用している仕様 オープンな「Agent Skills」標準 オープンな「Agent Skills」標準。Claude Codeは標準に独自機能も追加
Skillの基本単位 1つのフォルダで管理され、その中にSKILL.mdが存在する 1つのフォルダで管理され、その中にSKILL.mdが存在する
Skillの記述形式 YAML形式のメタデータとMarkdown形式の指示 YAML形式のメタデータとMarkdown形式の指示
Skillを見つけるための情報 主にnameとdescriptionで判断 主にnameとdescriptionで判断
Skillが読み込まれる流れ 最初は名前と説明だけを認識し、必要になったときにSKILL.md全文を読み込む 最初は名前と説明だけを認識し、必要になったときにSKILL.md全文を読み込む
Skillを使い始める方法 エージェントが必要性を判断するほか、スラッシュコマンドで手動実行できる Claudeが必要性を判断するほか、/skill-nameで手動実行できる
補助ファイルをまとめられる? スクリプト、実装例、参考資料、テンプレートなどを同じSkillフォルダに置ける スクリプト、実装例、参考資料、テンプレートなどを同じSkillフォルダに置ける
情報を段階的に読み込める? 必要になるまで詳細な説明や関連ファイルを読み込まない 必要になるまで詳細な説明や関連ファイルを読み込まない
プロジェクトごとに設定できる? .agents/skills/<skill-name>/SKILL.mdに配置 .claude/skills/<skill-name>/SKILL.mdに配置
個人共通のSkillを設定できる? ~/.gemini/config/skills/に配置 ~/.claude/skills/に配置
Pluginにまとめられる? Skill、サブエージェント、Hooks、MCPなどをPluginとしてまとめられる Skill、サブエージェント、Hooks、MCPなどをPluginとしてまとめられる
Skillをそのまま移行できる? Agent Skills標準の範囲内なら他の対応製品でも再利用しやすい Agent Skills標準の範囲内なら他の対応製品でも再利用しやすい
 

ClaudeのAgent Skillsも、SKILL.mdを含むディレクトリに指示、メタデータ、スクリプト、テンプレートなどを格納し、必要な場合に自動的に読み込む仕組みです。Claude Codeでは、個人用Skillを~/.claude/skills/、プロジェクト用Skillを.claude/skills/へ配置できます。 「AIに必要な専門知識を必要なときだけ読み込ませる」という思想そのものは、AIエージェントにおいては標準的な設計であることがわかります。

SkillsはAIに仕事のやり方を教える機能

Skillsを使ったからといって、Gemini自体のモデル性能が向上するわけではありません。重要なのは、「この会社ではどう仕事をするのか」をAIエージェントへ教えられることだと考えています。

今後AIエージェントが開発チームの一員として働くようになれば、AIにも同じように「会社の仕事のやり方」を教える必要があります。その役割を担う仕組みの一つがSkillsです。Antigravityを単なる「コードを書いてくれるAI」や「自分だけの業務を手伝ってくれるAI」として使うだけであれば、Skillsを使わなくても十分便利です。

しかし、Antigravityへ繰り返し作業を任せたり、チーム単位で本格的にAIエージェントを活用したりするのであれば、Skillsはかなり重要な機能になってきます。次回以降のAntigravity連載では、実際にSkillを作成し、日常の開発業務へどのように組み込めるのかも紹介していきたいと思います。

森田 嶺
森田 嶺
大学卒業後、 AWS や Google Cloud 等、主にクラウドを基盤とした新規サービス開発の経験を経て、YOSHIDUMIに入社。Google ドライブ拡張サービス「Cmosy Pocket」「共有ドライブマネージャー」等、 Google Cloud を活用した自社サービスの開発に従事。現在、 Google 等が提供する生成AIを活用したサービスを開発中。https://x.com/r__morita
脱PPAP!Google Workspace 環境下で実践する安全なファイル送受信セミナー

14:00-15:00 オンライン

脱PPAP!Google Workspace 環境下で実践する安全なファイル送受信セミナー

詳細はこちら

「個の知見」から「組織の力」へ!Gemini Notebookで実現する社内ナレッジの資産化と安全な全社展開術セミナー

14:00-15:00 オンライン

「個の知見」から「組織の力」へ!Gemini Notebookで実現する社内ナレッジの資産化と安全な全社展開術セミナー

詳細はこちら

オンラインセミナー開催中

お申込みはこちらをCheck!