メインコンテンツへスキップ
Hero Image

Antigravity で Agent Skills っぽい仕組みを作ってみた

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 を使い続けていこうと思う。