Antigravity で Agent Skills っぽい仕組みを作ってみた
結論
Agent Skills の構成を模倣することで、Antigravity でもスクリプト実行可能な Agent Skills 風の仕組みを実現できた。
背景
Agent Skillsというものが発表された。 Agent Skills について、公式ドキュメントには以下のように書かれている。
Agent Skillsは、Claudeの機能を拡張するモジュール型の機能です。各Skillは、Claudeが関連する場合に自動的に使用する指示、メタデータ、およびオプションのリソース(スクリプト、テンプレート)をパッケージ化します。
個人的には、超簡易的ローカル MCP のようなものだと認識している。
私は Antigravity のアーティファクトが気に入っており、できれば Antigravity を使い続けたい。 この Agent Skills が使えれば、Antigravity から離れる理由を一つ潰しておくことができる。 そこで Antigravity で Agent Skills のようなことができるか検証してみた。
リポジトリ
ダミーデータを生成するスキルを作った。
https://github.com/gnkm/pseudo-agent-skills
実現方法
以下のようにファイルを配置する。
project_root
├── .agent
│ └── skills
│ └── make_dummy
│ ├── scripts
│ │ └── make_dummy.py
│ └── SKILL.md
...
└── AGENTS.md
AGENTS.md には以下のように記述する。
# AGENTS.md
これは AI エージェントが参照するコンテキストファイルです。
## Skills
- make_dummy: ダミーデータを生成する
SKILL.md には以下のように記述する。
---
name: make_dummy
description: ダミーデータを生成する。ダミーデータを生成するときに使う。
---
以下の手順でダミーデータを生成します。
## 人名の場合
`make_dummy.py` に `name` 引数を渡すと、人名を生成します。
第二引数に生成する人数を指定します。
\`\`\`
uv run python .agent/skills/make_dummy/scripts/make_dummy.py name 10
\`\`\`
## ダミーテキストの場合
`make_dummy.py` に `sentence` 引数を渡すと、ダミーテキストを生成します。
第二引数に生成する文章の数を指定します。
\`\`\`
uv run python .agent/skills/make_dummy/scripts/make_dummy.py sentence 10
\`\`\`
.agent/skills/make_dummy/scripts/make_dummy.py は以下のようになっている。
import typer
from faker import Faker
fake = Faker("ja_JP")
app = typer.Typer()
@app.command()
def name(count: int):
"""
ダミーの人名を生成する。
"""
for _ in range(count):
print(fake.name())
@app.command()
def sentence(count: int):
"""
ダミーの文章を生成する。
"""
for _ in range(count):
print(fake.sentence())
if __name__ == "__main__":
app()
こうしておいて、Antigravity で以下のように指示を出すと、make_dummy.py を使用してダミーの人名を 10 個生成する。
人名を10個作ってください。
また、以下のように指示を出すと、LLM が自身で生成する。
犬の名前を10個作ってください。
ワークフロー(Claude Code でいうところのスラッシュコマンド)でも使えた。
まとめ
Agent Skillsに書かれている内容をそのまま真似することで、
Antigravity で Agent Skills のようなことができることを確認した。
AGENTS.md にはプログラムのパスを記述していないのに、プログラムが実行されるのはちょっとした驚きだった。
今回の方法は公式の Agent Skills のような厳密なトリガー制御やメタデータ解釈があるわけではない。 しかし、プログラムを含むローカル MCP のようなものを手軽に作れるのは便利であり、実用性も十分ある。 Agnoなど、エージェント構築ライブラリを使ったプログラムを置いておけば、 Claude Code でいうサブエージェントのようなものも実現できる。 引き続き Antigravity を使い続けていこうと思う。