Antigravityで楽しむ集中力リセット通知の意外な使い方

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

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

Antigravity を日常的に使っていると、AI coding workflow の中で「ちょっとした息抜き」や「気分転換」が欲しくなる瞬間があります。特に repository understanding や path management に集中していると、思わぬストレスや疲労が溜まりがちです。そんな時、ふとしたタイミングで現実離れした“通知”が画面に出てきたら…?
Antigravity 固有の context 管理や directory 構造の把握に追われる毎日、こんな困りごとがよく起きています。

  • Antigravity が context を見失って違う場所のコードを参照するたびに、思わず苦笑いしてしまう
  • monorepo で package を跨いだ瞬間、repo の構造説明をもう一度やり直す羽目になる
  • session を再開すると、前回までの context や path 指定をまるごと再説明しないといけない
  • 長時間の AI coding workflow で long context が膨らみすぎて、重要な情報が薄まる (stale context)
  • 「ここはこういう構造のリポジトリ」と毎回チャット冒頭で書くのが習慣化し、無機質なやりとりになりがち

こうした「Antigravity あるある」の合間に、何か“非日常”な演出が差し込まれることで、リフレッシュや会話のネタになる体験が求められています。

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

一言サマリ: このスキルは作業中やコマンド実行の合間に、謎のOS風404通知を炸裂させるSkill。

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

  • Antigravity の session や repository 操作の合間に、完全に役に立たないが心に刺さる“偽エラー通知”で気分転換できる
  • monorepo や directory 移動のタイミングで、思わぬタイミングでランダムなメッセージが現れ、作業のリズムが変わる
  • AI coding workflow の長時間作業中も、context がマンネリ化しにくく、ちょっとした笑いで集中力をリセットできる
  • onboarding や session 再開時の無機質な空気を和らげ、チーム内の会話やコミュニケーションのきっかけにもなる
  • SKILL.md で明示的な設定不要、ただ配置するだけで“謎通知”が自動発動
QUICK INSTALL
このSkillをすぐ試す

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

npx degit aazutaku/ai-note/antigravity/random-os-fake-404-notification .agent/skills/random-os-fake-404-notification

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

使う側がイメージしやすいよう、擬似 terminal で出力例を3パターン示します。

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


> プロジェクトの初期化をお願いします

[Antigravity] 

Skill の中身を全部見せる

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

.agent/skills/random-os-fake-404-notification/
├── SKILL.md
├── scripts/
│   └── random_os_fake_404_notification.py
└── references/
    └── design_notes.md

各ファイルの役割

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

SKILL.md

---
name: random-os-fake-404-notification
description: 作業中の集中や進捗、やる気などに関する会話やコマンド実行時、または「エラー」「404」「通知」などのキーワードを含む状況でAntigravityが自動的に発動します。
---

# 機能概要
このSkillは、作業やコマンド実行の合間に、まるでOS公式のような“偽404エラー通知”をデスクトップまたはターミナルにランダム表示します。通知内容は「404: 今日の集中力が迷子です」「あなたのやる気が見つかりません」など、完全に役に立たないが妙に心に刺さるメッセージばかり。実用性はゼロですが、作業の合間に気分転換や笑いを提供し、単調な作業を和らげます。通知タイミング・内容は毎回ランダムで、非日常的な体験を演出します。

# 使い方
このSkillは明示的な呼び出し操作は不要です。Antigravityが「進捗」「やる気」「404」「エラー」「集中」などのキーワードを検知した際や、作業の合間に自動で発動します。ターミナル/デスクトップ通知として表示されます。

# 出力例
```
[通知] 404: 今日の集中力が迷子です
[通知] 404 Not Found: 予定されていた進捗が行方不明です
[通知] 404: あなたのやる気が見つかりません
[通知] 404 Error: コーヒーブレイクが必要です
[通知] 404: 残業回避モードが見つかりません
[通知] 404: 週末の気配が検出できません
```

# 注意点
本Skillは実際のエラーやシステム障害を通知するものではありません。誤解を避けるため、通知文言には「冗談」であることを示唆する要素を含めています。通知頻度はデフォルトで1時間に1回程度に抑制されていますが、環境や設定によっては異なる場合があります。ローカルにメッセージ履歴等は保存しません。

# 参考資料
本SkillはPythonの`random`と`time`、デスクトップ通知には`plyer`ライブラリを利用しています。詳細は`references/design_notes.md`および[plyer公式ドキュメント](https://plyer.readthedocs.io/en/latest/)を参照してください。

scripts/random_os_fake_404_notification.py

import random
import time
import sys
import argparse
import threading
from datetime import datetime
try:
    from plyer import notification
except ImportError:
    notification = None

FAKE_404_MESSAGES = [
    '404: 今日の集中力が迷子です',
    '404 Not Found: 予定されていた進捗が行方不明です',
    '404: あなたのやる気が見つかりません',
    '404 Error: コーヒーブレイクが必要です',
    '404: 残業回避モードが見つかりません',
    '404: 週末の気配が検出できません',
    '404: タスク完了フラグが見つかりません',
    '404: 眠気除去サービスが利用できません',
    '404: クリエイティブモードが応答しません',
    '404: 予定外のやる気が発生しました',
    '404: 重要な締切が未検出です',
    '404: 休憩時間がタイムアウトしました',
    '404: 進捗の神様が不在です',
    '404: モチベーションファイルが破損しています',
    '404: 本日の生産性が見つかりません',
    '404: 眠気が検出されました',
    '404: 予定されていた集中力が見つかりません',
    '404: 週明けのやる気が応答しません',
    '404: 目標達成パスが見つかりません',
    '404: 進捗報告書が消失しました'
]

NOTIFY_INTERVAL_MIN = 45 * 60  # 45分
NOTIFY_INTERVAL_MAX = 90 * 60  # 90分

HISTORY = []


def send_notification(message):
    timestamp = datetime.now().strftime('%Y-%m-%d %H:%M:%S')
    HISTORY.append({'time': timestamp, 'message': message})
    if notification:
        notification.notify(
            title='404 Notification',
            message=message,
            timeout=8
        )
    else:
        print(f'[通知] {message}')


def random_notify_loop(stop_event):
    while not stop_event.is_set():
        wait_time = random.randint(NOTIFY_INTERVAL_MIN, NOTIFY_INTERVAL_MAX)
        stop_event.wait(wait_time)
        if stop_event.is_set():
            break
        message = random.choice(FAKE_404_MESSAGES)
        send_notification(message)


def list_history():
    if not HISTORY:
        print('通知履歴はありません。')
        return
    for entry in HISTORY:
        print(f"{entry['time']} - {entry['message']}")


def summary():
    print(f'通知発火回数: {len(HISTORY)}')
    if HISTORY:
        print(f'最新通知: {HISTORY[-1]["time"]} - {HISTORY[-1]["message"]}')


def manual_notify():
    message = random.choice(FAKE_404_MESSAGES)
    send_notification(message)


def main():
    parser = argparse.ArgumentParser(description='random-os-fake-404-notification')
    subparsers = parser.add_subparsers(dest='command')

    subparsers.add_parser('run', help='ランダムなタイミングで偽404通知を発火')
    subparsers.add_parser('notify', help='今すぐ偽404通知を1回発火')
    subparsers.add_parser('list', help='通知履歴を表示')
    subparsers.add_parser('summary', help='通知回数などサマリーを表示')

    args = parser.parse_args()

    if args.command == 'run':
        stop_event = threading.Event()
        try:
            print('random-os-fake-404-notification: 起動中 (Ctrl+Cで停止)')
            random_notify_loop(stop_event)
        except KeyboardInterrupt:
            stop_event.set()
            print('\n終了します')
    elif args.command == 'notify':
        manual_notify()
    elif args.command == 'list':
        list_history()
    elif args.command == 'summary':
        summary()
    else:
        parser.print_help()

if __name__ == '__main__':
    main()

references/design_notes.md

# 概要
このSkillは、作業の合間や特定のキーワード検知時に“偽404エラー通知”をランダムに表示し、ユーザーの気分転換や笑いを誘うことを目的としています。実用性よりも遊び心を重視した設計です。

# 公式ドキュメント抜粋
通知にはPythonの`plyer`ライブラリを利用し、クロスプラットフォームなデスクトップ通知を実現しています。`random`と`time`でランダムな発火タイミングを制御しています。

# 利用例
- 長時間のコーディングや単調な作業の合間に、突然「404: 今日の集中力が迷子です」などの通知が表示され、思わず笑ってしまう
- チームで使うことで、ちょっとした話題やリフレッシュのきっかけに

# 注意点
本Skillは実際のシステムエラーや障害を通知するものではありません。通知内容はジョークであり、誤解を避けるために「本物のエラー」とは異なる文言や演出を採用しています。通知頻度はデフォルトで1時間に1回未満に抑えていますが、環境によって変動します。

# 設計方針
ユーザー体験を損なわないよう、通知頻度や内容のバリエーションに工夫を凝らしています。履歴はメモリ上のみで、プライバシーやストレージへの影響はありません。

導入手順

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

1. 前提

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

2. degit でフォルダ取得

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

npx degit aazutaku/ai-note/antigravity/random-os-fake-404-notification .agent/skills/random-os-fake-404-notification

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

3. ファイル配置確認

ls .agent/skills/random-os-fake-404-notification
# 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の謎404通知を使ってみた!ランダムで心に刺さるメッセージ炸裂体験 にまとめる予定 (公開準備中の場合あり)。
あわせて Antigravity 公式ドキュメント と、本シリーズ「Antigravityで試したいSkill研究」の他記事も参照のこと。

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

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

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

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