Antigravityで職場の緊張を和らげるフェイク通知演出の使いこなしガイド

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

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

AI coding workflow を Antigravity で回していると、思いもよらないタイミングで集中力が切れたり、作業の空気が重くなったりする瞬間が少なくありません。特に長時間の session や単調な repository understanding、monorepo の複雑な path management など、気がつけば作業が機械的になりがちです。そんなとき、ふとした「遊び心」やリフレッシュ要素が欲しくなるものです。

また、Antigravity の通知・演出系 Skill の活用は、単なる生産性向上だけでなく、チームや個人のモチベーション維持にも効果的。しかし、既存の Skill では「本当にどうでもいい」「明らかにフェイク」と分かる、場を和ませる演出が意外と少ないのも事実です。

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

こうした悩みの合間に、意表を突く通知やフェイク演出が入れば、職場や開発現場の空気が一気に変わるかもしれません。

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

一言サマリ: このスキルは、Antigravity の作業中に“謎のOSセキュリティスキャン”風のフェイク通知を自動で流し、集中をほぐしつつ場の空気を和ませる Skill。

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

  • AI coding workflow の単調さを打破し、長時間 session や onboarding 時の緊張を一瞬で和らげる
  • repository understanding や path management の合間に、完全にネタな通知でチームの笑いを誘う
  • monorepo や複雑な directory 作業時でも、突然のフェイク進捗バー演出で「真面目な空気」をリセットできる
  • context や memory の切り替えタイミングで、遊び心ある演出を自動注入
  • SKILL.md で導入後は、暗黙的な description マッチで自動発動し、手間なく楽しめる
QUICK INSTALL
このSkillをすぐ試す

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

npx degit aazutaku/ai-note/antigravity/random-os-fake-security-scan .agent/skills/random-os-fake-security-scan

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

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

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


> 新しいリポジトリで作業を始める

[OS Security Scan] システムの健全性をチェック中...
進捗: 3% - 未知のやる気ウイルスを検出しました。
進捗: 14% - マウスの動きが怪しいです。
進捗: 32% - 進捗率安全確認中...
進捗: 67% - あなたの集中力は正常範囲です。
進捗: 100% - システムは安全です。作業を続行してください。

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


> packages/api/ から packages/web/ へ移動

[OS Security Scan] 新しいディレクトリでセキュリティチェック開始
進捗: 9% - package.json に謎の依存関係を発見
進捗: 27% - src/ 配下をスキャン中...不審なファイルはありません
進捗: 58% - README.md の内容が真面目すぎます
進捗: 100% - 進捗良好。引き続き作業してください。

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


> ちょっと集中力が切れたので気分転換

[OS Security Scan] オフィスの空気を分析中...
進捗: 12% - コーヒー残量が低下しています
進捗: 41% - Slack 通知が多すぎます
進捗: 73% - 進捗バーの進みが気まぐれです
進捗: 100% - あなたの進捗は安全です

before / after の違い

場面 Skill 無し Skill 有り
session 再開時 repo 構造から毎回説明、path も指定し直し Antigravity が自動で context を復元、最小プロンプトで再開
monorepo 移動 違う package のコードを参照しがち directory boundary を意識して必要な範囲だけ見る
長時間 workflow long context で重要箇所が薄まる フェイク通知で空気をリセット、集中力を回復しやすく

発動方式

description マッチでの暗黙発動。

Skill の中身を全部見せる

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

.agent/skills/random-os-fake-security-scan/
├── SKILL.md
├── scripts/
│   └── fake_security_scan.py
└── references/
    └── design_notes.md

各ファイルの役割

ファイル 役割
SKILL.md Skill本体。frontmatter (name/description) と指示本文。Antigravity がこの内容をエージェント指示として読み込み、ユーザーのプロンプトに応じて発動します
scripts/fake_security_scan.py Fake OS Security Scan Notifier
references/design_notes.md 概要 をまとめた参考資料

SKILL.md

---
name: random-os-fake-security-scan
description: 作業中やターミナル操作時などに「セキュリティスキャン」や「警告」などのキーワードが含まれる状況で、AntigravityがフェイクなOSセキュリティ通知を自動表示し、進捗バー付きの演出でユーザーの集中を攪乱します。
---

# 機能概要
このSkillは、作業中のユーザーに対し、完全に架空の「OSセキュリティスキャン」通知をデスクトップに表示します。通知内容は「やる気ウイルスを発見」「マウスの動きが怪しい」など、明らかにネタ要素満載。進捗バーが数秒ごとに増加し、最後は「あなたの進捗は安全です」などのオチで締めくくられます。職場やチームの雰囲気を和ませたいとき、真面目な空気を一瞬で崩したいときに最適です。

# 使い方
このSkillはAntigravityが「セキュリティ」「スキャン」「ウイルス」「警告」などのキーワードを含む状況を検知した際、または作業が一定時間継続した際に自動発動します。明示的なコマンド呼び出しは不要です。

## 暗黙発動キーワード例
- セキュリティチェック
- スキャン開始
- ウイルス検出
- warning
- progress

# 出力例
```
[OS Security Scan]
進捗: 17% | マウスの動きが怪しいです
進捗: 42% | 未知のやる気ウイルスを発見しました
進捗: 65% | あなたの進捗は安全です(たぶん)
進捗: 100% | システムはカオス状態です!
```

# 注意点
- 本Skillは実際のセキュリティ診断は一切行いません。
- 通知はローカル環境のデスクトップ通知APIを利用します。
- ログや履歴は自動保存されません。
- 一部のLinux環境では通知表示に追加パッケージが必要な場合があります。

# 参考資料
詳細な設計方針・参考実装例・利用上の注意点はreferences/以下を参照してください。公式API: https://docs.python.org/3/library/subprocess.html, https://plyer.readthedocs.io/en/latest/

scripts/fake_security_scan.py

import sys
import time
import random
import argparse
import platform
import threading

try:
    from plyer import notification
except ImportError:
    notification = None

FAKE_MESSAGES = [
    "未知のやる気ウイルスを発見しました",
    "マウスの動きが怪しいです",
    "あなたの進捗は安全です(たぶん)",
    "CPU温度がやる気に比例しています",
    "キーボードから謎の信号を検出",
    "あなたの集中力に異常あり",
    "システムはカオス状態です!",
    "進捗率が乱高下しています",
    "メモリにやる気成分を注入中",
    "OSが笑いを検知しました"
]

FINAL_MESSAGES = [
    "スキャン完了:あなたの進捗は安全です",
    "スキャン完了:やる気ウイルスは検出されませんでした",
    "スキャン終了:混沌レベルが上昇しました"
]

TITLE = "OS Security Scan"


def send_notification(title, message):
    if notification is not None:
        try:
            notification.notify(
                title=title,
                message=message,
                app_name="FakeSecurityScan",
                timeout=5
            )
        except Exception as e:
            print(f"[通知失敗] {message}")
    else:
        print(f"[{title}] {message}")


def scan_progress(duration=20, steps=7, dry_run=False):
    interval = duration // steps
    progress_points = sorted(random.sample(range(10, 100), steps - 1)) + [100]
    messages = random.sample(FAKE_MESSAGES, steps - 1)
    for i, prog in enumerate(progress_points):
        if i < steps - 1:
            msg = messages[i]
        else:
            msg = random.choice(FINAL_MESSAGES)
        bar = f"進捗: {prog}% | {msg}"
        if dry_run:
            print(bar)
        else:
            send_notification(TITLE, bar)
        time.sleep(interval)


def cli_main():
    parser = argparse.ArgumentParser(description="Fake OS Security Scan Notifier")
    parser.add_argument('--duration', type=int, default=20, help='スキャン演出の総秒数 (デフォルト: 20)')
    parser.add_argument('--steps', type=int, default=7, help='進捗更新回数 (デフォルト: 7)')
    parser.add_argument('--dry-run', action='store_true', help='通知を表示せずターミナル出力のみ')
    parser.add_argument('cmd', nargs='?', default='scan', choices=['scan', 'demo'], help='サブコマンド (scan/demo)')
    args = parser.parse_args()

    if args.cmd == 'scan':
        scan_progress(duration=args.duration, steps=args.steps, dry_run=args.dry_run)
    elif args.cmd == 'demo':
        print("--- フェイクセキュリティスキャン出力例 ---")
        scan_progress(duration=3, steps=5, dry_run=True)
    else:
        print("不明なコマンドです")

if __name__ == '__main__':
    cli_main()

references/design_notes.md

# 概要
このスキルは、作業中のユーザーに対し、完全に架空のセキュリティスキャン通知をデスクトップ領域にランダム表示し、職場やチームの雰囲気を和ませることを目的としています。実際の検査や診断は一切行いません。

# 公式ドキュメント抜粋
通知表示にはPythonのplyerライブラリを利用し、クロスプラットフォームなデスクトップ通知を実現しています。
- https://plyer.readthedocs.io/en/latest/
- https://docs.python.org/3/library/random.html

# 利用例
- チームの朝会で突然セキュリティスキャン通知を流して場を和ませる
- 長時間作業している同僚のPCに仕込んで笑いを誘う

# 注意点
- 本Skillはジョーク目的であり、業務システムや重要な作業環境への導入は推奨されません。
- Linux環境ではlibnotify等の追加パッケージが必要な場合があります。

# 設計方針
- 完全にネタ要素と分かる文言・進捗演出を重視
- 通知API利用でローカルに痕跡を残さない
- コマンドラインからもデモ・dry-runが可能

導入手順

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

1. 前提

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

2. degit でフォルダ取得

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

npx degit aazutaku/ai-note/antigravity/random-os-fake-security-scan .agent/skills/random-os-fake-security-scan

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

3. ファイル配置確認

ls .agent/skills/random-os-fake-security-scan
# 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をコピーしました!
目次