Antigravityで作業中の謎演出を楽しむ通知スキル入門ガイド

  • URLをコピーしました!
目次

Antigravity ユーザーが日常でぶつかる悩み

Antigravity を日々使っていると、便利さの裏で「ちょっとした違和感」や「思わずツッコミたくなる瞬間」が意外と多いものです。特に通知や演出、OS連携系のSkillが少ない現状では、作業中の空気が淡々としすぎてしまい、思わぬ“間”や“遊び”が不足しがちです。

  • Antigravity が context を見失って違う場所のコードを参照する
  • monorepo で package を跨いだ瞬間、Antigravity が repo 構造を忘れる
  • session を再開すると、前回までの context や path 指定をまるごと再説明しないといけない
  • 長時間 workflow で long context が膨らみすぎて、important な情報が薄まる (stale context)
  • 「ここはこういう構造のリポジトリ」というあらすじを毎回チャットの冒頭で書く羽目になる

また、集中して作業している最中に「突然何かが起きてほしい」「ちょっとした演出で気分転換したい」という声も少なくありません。AI coding workflow の中で、思わず笑ってしまうような“謎の進捗バー”が現れたら…そんな遊び心を求める瞬間、ありませんか?

この Skill が一言でいうと何を解決するか

一言サマリ: このスキルは、Antigravity の作業空間に突如“謎のOSシステム復元進捗バー”を出現させて、場の空気を一瞬でカオスに変える演出Skill。

もう少し具体化すると、このSkillを入れることで以下のような状態になる:

  • AI coding workflow の途中で、突然「OSが謎の復元を始めた」かのような演出が入り、作業の空気が一変する
  • 進捗バーや通知テキストが毎回ランダムに変化するため、同じ演出でも飽きずに楽しめる
  • 長時間の repo 作業や onboarding の合間に、意図しない“気分転換”や“ツッコミどころ”を提供
  • Antigravity の context や memory の流れを邪魔せず、あくまで“演出”として自然に現れる
  • monorepo・directory・path management の説明タイミングなど、説明文マッチでの暗黙発動にも対応
QUICK INSTALL
このSkillをすぐ試す

GitHub から degit でコマンド1行、Antigravity の Skill ディレクトリに展開できます。Node.js があれば即時に動きます。

npx degit aazutaku/ai-note/antigravity/random-os-sudden-fake-system-restore .agent/skills/random-os-sudden-fake-system-restore

実行したらこうなる (3つの利用シーン)

使う側がイメージしやすいよう、擬似 terminal で出力例を3パターン示す。Skill が返す出力は推測だが、現実的なフォーマット・現実的な長さで書く。

シーン1: session 開始時 (プロジェクト初動で)


> 新しいプロジェクトの context をセットアップして

[OS復元ウィンドウ] 
─────────────────────────────
  システムの復元中...
  進捗: 7%
  「謎の変更を元に戻しています」
─────────────────────────────
  進捗率: 7% → 42% → 13% → 68% (ランダムに変動)
  状態: OSの気分調整中
─────────────────────────────
  完了しました。特に何も変わりません。

シーン2: monorepo / package 跨ぎ作業時


> packages/auth と packages/core の context を切り替えて

[OS復元ウィンドウ]
─────────────────────────────
  システムの復元中...
  進捗: 23%
  「monorepo のバランス調整中」
─────────────────────────────
  進捗率: 23% → 85% → 49% (毎回異なる値)
  状態: directory 構造の再構築
─────────────────────────────
  完了しました。何も起きていません。

シーン3: お遊び的な使い方


> ちょっと気分転換したい

[OS復元ウィンドウ]
─────────────────────────────
  システムの復元中...
  進捗: 59%
  「AIのやる気をリセット中」
─────────────────────────────
  進捗率: 59% → 2% → 99% (ランダム)
  状態: memory の断捨離
─────────────────────────────
  完了しました。全く何も変化していません。

before / after の違い

場面 Skill 無し Skill 有り
session 再開時 repo 構造から毎回説明、path も指定し直し Antigravity が自動で context を復元、最小プロンプトで再開
monorepo 移動 違う package のコードを参照しがち directory boundary を意識して必要な範囲だけ見る
長時間 workflow long context で重要箇所が薄まる 突然の謎演出で workflow の空気がリフレッシュされる

発動方式

description マッチでの暗黙発動。

Skill の中身を全部見せる

.agent/skills/random-os-sudden-fake-system-restore/ に配置するファイル一覧です。GitHub に push 済みなので、上記の degit コマンドで一発取得できます。

.agent/skills/random-os-sudden-fake-system-restore/
├── SKILL.md
├── scripts/
│   └── fake_system_restore.py
└── references/
    └── design_notes.md

各ファイルの役割

ファイル 役割
SKILL.md Skill本体。frontmatter (name/description) と指示本文。Antigravity がこの内容をエージェント指示として読み込み、ユーザーのプロンプトに応じて発動します
scripts/fake_system_restore.py 謎のOSシステム復元フェイク進捗バーを表示します。
references/design_notes.md 概要 をまとめた参考資料

SKILL.md

---
name: random-os-sudden-fake-system-restore
description: 作業中や集中状態の会話内で「システム復元」「OSトラブル」「進捗バー」などの語や、進捗や復旧を連想させる文脈が出現した場合に自動発動。特に“システム異常”や“復元”に関連するキーワードが含まれる場合に発動します。
---

# 機能概要
このSkillは、作業や議論が盛り上がっている最中に、突如として“謎のOSシステム復元進捗ウィンドウ”を模した演出を画面端やメニューバー風に表示します。進捗バーやメッセージは完全ランダムで、「謎の変更を元に戻しています」「OSの気分調整中」など、思わずツッコミたくなるテキストが並びます。進捗率も毎回異なり、リアルなフェイク感を演出。復元が完了しても何も起こらず、作業の空気を一瞬でカオスに変える遊び心満載のSkillです。

# 使い方
このSkillは明示的な呼び出しは不要です。会話や作業ログ内で「システム復元」「OSトラブル」「進捗バー」「リカバリ」「復元ポイント」などのキーワードや、進捗・復旧・異常に関する文脈が出現すると自動的に発動します。

**暗黙発動キーワード例:**
- 「システム復元が必要かも」
- 「OSが不安定」
- 「進捗バーが出てきた」
- 「復元ポイントを作成」

# 出力例
```
[OS System Restore]
進捗: 42% | 状態: 謎の変更を元に戻しています...
進捗: 67% | 状態: OSの気分調整中...
進捗: 13% | 状態: 予期せぬファイルを復元中...
進捗: 89% | 状態: システムのやる気を回復中...
進捗: 100% | 状態: 復元が完了しました(何も変わりません)
```

# 注意点
- 本Skillは純粋な演出目的であり、実際のシステムやファイルには一切影響しません。
- ローカル環境への保存や実際の復元処理は行いません。
- 除外パス: システム管理や本番運用環境では自動発動しません。

# 参考資料
詳細な設計方針やAPI利用例は references/design_notes.md を参照してください。進捗バーや通知演出の公式ガイドラインは [Apple Human Interface Guidelines](https://developer.apple.com/design/human-interface-guidelines/) や [Windows Dev Center](https://learn.microsoft.com/en-us/windows/apps/design/) を参考にしています。

scripts/fake_system_restore.py

import sys
import time
import random
import argparse
import threading
from typing import List

RESTORE_MESSAGES = [
    "謎の変更を元に戻しています...",
    "OSの気分調整中...",
    "予期せぬファイルを復元中...",
    "システムのやる気を回復中...",
    "無意味なキャッシュを削除中...",
    "復元ポイントを探索中...",
    "謎のプロセスを巻き戻し中...",
    "一時ファイルを整理しています...",
    "ユーザーの混乱度を調整中...",
    "OSの記憶をリフレッシュ中..."
]

COMPLETE_MESSAGE = "復元が完了しました(何も変わりません)"

class FakeRestoreProgress:
    def __init__(self, min_steps=5, max_steps=12, min_delay=0.5, max_delay=2.0):
        self.min_steps = min_steps
        self.max_steps = max_steps
        self.min_delay = min_delay
        self.max_delay = max_delay
        self.progress_points = self._generate_progress_points()
        self.messages = self._generate_messages()
        self._stop_event = threading.Event()

    def _generate_progress_points(self) -> List[int]:
        steps = random.randint(self.min_steps, self.max_steps)
        points = sorted(random.sample(range(5, 100), steps - 1)) + [100]
        return points

    def _generate_messages(self) -> List[str]:
        return random.choices(RESTORE_MESSAGES, k=len(self.progress_points))

    def run(self):
        print("[OS System Restore]")
        for idx, (percent, msg) in enumerate(zip(self.progress_points, self.messages)):
            if self._stop_event.is_set():
                break
            sys.stdout.write(f"進捗: {percent}% | 状態: {msg}\n")
            sys.stdout.flush()
            # 最後は短め
            if percent == 100:
                time.sleep(0.8)
            else:
                time.sleep(random.uniform(self.min_delay, self.max_delay))
        print(f"進捗: 100% | 状態: {COMPLETE_MESSAGE}")

    def stop(self):
        self._stop_event.set()


def list_messages():
    print("利用可能なフェイク復元メッセージ:")
    for msg in RESTORE_MESSAGES:
        print(f"- {msg}")

def summary():
    print("Fake System Restore Skill 概要:")
    print("- 完全ランダムな進捗バーとメッセージを生成")
    print("- システムやファイルには一切影響なし")
    print("- CLIサブコマンド: run, list, summary")


def main():
    parser = argparse.ArgumentParser(description="謎のOSシステム復元フェイク進捗バーを表示します。")
    subparsers = parser.add_subparsers(dest="command", required=True)

    parser_run = subparsers.add_parser("run", help="フェイク復元進捗バーを開始")
    parser_run.add_argument("--min-steps", type=int, default=5, help="進捗ステップの最小数")
    parser_run.add_argument("--max-steps", type=int, default=12, help="進捗ステップの最大数")
    parser_run.add_argument("--min-delay", type=float, default=0.5, help="各ステップ間の最小遅延(秒)")
    parser_run.add_argument("--max-delay", type=float, default=2.0, help="各ステップ間の最大遅延(秒)")

    parser_list = subparsers.add_parser("list", help="利用可能なフェイクメッセージ一覧")
    parser_summary = subparsers.add_parser("summary", help="Skill概要を表示")

    args = parser.parse_args()

    try:
        if args.command == "run":
            frp = FakeRestoreProgress(
                min_steps=args.min_steps,
                max_steps=args.max_steps,
                min_delay=args.min_delay,
                max_delay=args.max_delay
            )
            frp.run()
        elif args.command == "list":
            list_messages()
        elif args.command == "summary":
            summary()
        else:
            parser.print_help()
    except KeyboardInterrupt:
        print("\n[中断されました]")
    except Exception as e:
        print(f"[エラー]: {e}")

if __name__ == '__main__':
    main()

references/design_notes.md

# 概要
このSkillは、OSのシステム復元進捗バーをリアルに模倣しつつ、完全に無害な演出として実装されています。進捗率やメッセージは毎回ランダム生成され、ユーザーの作業フローに突然現れることでカオスな体験を提供します。

# 公式ドキュメント抜粋
進捗バーや通知UIの設計は、Apple HIGやWindows Dev Centerのガイドラインを参考にしています。特に進捗の「自然な遷移」や「ユーザー誤認を誘う本物感」を重視しました。

# 利用例
- チームの雑談や開発現場でのアイスブレイク
- 技術系イベントやハッカソンでのネタ演出
- 「OSトラブル」や「復元」話題の文脈で自動発動

# 注意点
本Skillは純粋な演出目的です。実際のシステムやファイルには一切影響を与えません。誤って本番環境で発動しないよう除外パスを設けています。

# 設計方針
- 進捗率・メッセージともに十分なランダム性を確保
- 本物のOS通知に近い表示レイアウト
- CLIサブコマンドでローカルテストやカスタマイズも可能
- エラーハンドリング・中断処理も実装

導入手順

このSkillは GitHub で管理されているので、degit を使えば必要なフォルダだけを1コマンドで取得できます。Antigravity はファイル配置後に再起動するだけで自動認識します。

1. 前提

  • Node.js v16 以上 (degit 実行に必要)
  • Antigravity がローカルで動いていること

2. degit でフォルダ取得

プロジェクトのルートで以下のコマンドを実行します。

npx degit aazutaku/ai-note/antigravity/random-os-sudden-fake-system-restore .agent/skills/random-os-sudden-fake-system-restore

.agent/skills/random-os-sudden-fake-system-restore の中に SKILL.md / scripts/ / references/ / README.md が展開されます。

3. ファイル配置確認

ls .agent/skills/random-os-sudden-fake-system-restore
# SKILL.md, scripts/, references/, README.md があればOK

4. Antigravity を再起動 (or Skill 自動検出を待つ)

新しいSkillが自動で認識されます。リスト確認したい場合は Antigravity に「使えるSkill一覧を見せて」と聞く と Skill 名で出てきます。

5. 動作確認

自然言語で発動条件にマッチする指示を出すと Skill が動きます。期待される出力イメージは「実行したらこうなる」セクションを参照してください。

こんな瞬間に便利

  • session 開始時: 前回までの repo 把握を Antigravity に一発で復元させたい
  • monorepo 移動時: packages を跨いだ瞬間に context を切り替えたい
  • onboarding 時: 新しい repo を Antigravity に把握させ、こちらが path を全部指定する手間を省きたい
  • session 再開時: long context が切れた後でも、必要な path と directory 構造だけ素早く戻したい
  • package 跨ぎ作業時: directory boundary を Skill 側で管理して、irrelevant な path 混入を防ぎたい
  • long-running workflow 前: long context で重要箇所が薄まる前に snapshot を取りたい

気になるポイント (壊れそうな箇所)

実運用に乗せる前に頭に入れておきたい懸念。後で検証する観点でもある:

  • stale context 問題: 長時間 workflow で Skill 出力が古くなり、現状と乖離する可能性
  • directory 増えすぎ問題: 大規模 repo で全 directory を網羅すると出力が肥大化して context window を圧迫
  • monorepo 肥大化: packages が多い構成では出力が雑になり、結局 path 指定し直しになる懸念
  • irrelevant path 混入: node_modules / build 成果物 / generated コードを拾ってしまう可能性
  • Antigravity 固有の引っかかり: description のセマンティックマッチ精度が要件次第
  • 発動しないケース: description が漠然 / 他の Skill が優先 / git管理外 directory

試す前に確かめたいこと

この Skill を実運用に投入する前に確かめたい問いを並べる:

  • 実 repo での token 消費は許容範囲か?
  • monorepo (packages 多数) で安定して動くか?
  • stale context にならず、長時間 workflow でも有効か?
  • プロジェクト指示との連携をどう組み立てるか?
  • 通知や進捗バーの出現・消失タイミングが自然か?
  • フェイク感(本物と間違うくらいの作り込み度)は十分か?
  • 進捗率・テキストが毎回しっかりランダム化されているか?

実際に Antigravity で試した検証ログは Antigravityの謎のOS復元演出を触ってみた!作業中に突然現れる進捗バーの不思議体験 にまとめる予定 (公開準備中の場合あり)。
あわせて Antigravity 公式ドキュメント と、本シリーズ「Antigravityで試したいSkill研究」の他記事も参照のこと。

関連タグで他のSkill記事を探す

本記事に付いているタグから、気になるテーマの記事を探せます。タグページで関連記事をまとめて読めるので、ぜひチェックしてみてください!

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次