Antigravityで仕事サボりを隠す演出を自動化する方法【発見】

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

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

Antigravity を日々使っていると、AI coding workflow の中で「ちょっと気まずい」「不意打ちに弱い」瞬間が意外に多く発生します。特に、オフィスやリモートワーク中に集中して作業していると、周囲の視線や突然の来客が気になることも。AI とやりとりする context や repository understanding の途中で、急に画面を切り替えたい場面もあるでしょう。
そんな時、Antigravity の context や memory とは別に「環境や見た目」をサッと演出できる機能が欲しくなります。以下のような悩みがよく挙がります。

  • 集中して directory や path management をしている最中、背後から人が来て「何してるの?」と覗かれると気まずい
  • repository の構造把握や onboarding の説明をしている時に、業務と関係ない画面を見られたくない
  • 長時間の session や long context で、AI とのやりとり履歴が画面に残り続けるのが気になる
  • monorepo で複数 package を管理しているとき、作業内容を一時的に隠したいが、毎回エディタやターミナルを全部閉じるのは面倒
  • AI repository understanding の説明をしている最中に、突然の来客対応で「真面目な業務画面」を即座に演出したい

こうした「見た目」や「演出」に関する悩みは、通知・演出・OS連携系の Skill で解決できる余地があります。

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

一言サマリ: このスキルは、作業中に即座に“それっぽい業務画面”へ切り替えられる演出 Skill。

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

  • Antigravity の AI coding workflow 中、指定コマンドやショートカットで一瞬で“真面目なダミー画面”を表示できる
  • repository context や directory 構造を見せたくない時、即座に偽レポート・グラフ・統計画面などをランダム生成して業務中を演出できる
  • onboarding や session 再開時に、作業内容を隠しつつ自然に workflow を中断・再開できる
  • monorepo や大規模 repository でも、環境に依存せずどこでも発動できる
  • AI の長時間セッションで画面を見られたくない時の“緊急避難”として活用できる
QUICK INSTALL
このSkillをすぐ試す

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

npx degit aazutaku/ai-note/antigravity/random-os-fake-boss-key .agent/skills/random-os-fake-boss-key

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

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

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


# (ユーザーが作業を始めている最中、背後から人の気配)
> (Ctrl+Shift+B)  # ショートカット入力

=== Antigravity Fake Boss Key Activated ===
[INFO] Generating random business dashboard...
[OK] Displaying: "Quarterly Sales Report - Q2"
---------------------------------------------
| Region   | Sales   | Growth (%) | Target  |
|----------|---------|------------|---------|
| APAC     | $120K   | +12.3      | $110K   |
| EMEA     | $98K    | +8.7       | $100K   |
| Americas | $150K   | +15.1      | $140K   |
---------------------------------------------
(Press ESC to return to your workflow)

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


> (ユーザーが monorepo 内で package 移動中にボスキー発動)

=== Antigravity Fake Boss Key Activated ===
[INFO] Randomly generating "System Utilization Monitor"
--------------------------------------------------------
CPU Usage:      [#####     ]  53%
Memory Usage:   [####      ]  41%
Disk I/O:       [###       ]  27%
Active Services:
  - repo-indexer
  - path-watcher
  - context-sync
--------------------------------------------------------
(Press ESC to return to your previous package directory)

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


> (冗談半分で "今、超真面目な業務してる風にして" と入力)

=== Antigravity Fake Boss Key Activated ===
[INFO] Showing: "AI Code Review - Repository Analysis"
--------------------------------------------------------
Repository: /monorepo/packages/api/
Analyzing: directory structure, context mapping...
Detected issues:
- Outdated dependency: express@4.17.1
- Unused file: utils/legacy-helper.js
- Path management: 2 ambiguous imports
--------------------------------------------------------
(Press ESC to resume your actual coding session)

before / after の違い

場面 Skill 無し Skill 有り
session 再開時 repo 構造から毎回説明、path も指定し直し Antigravity が自動で context を復元、最小プロンプトで再開
monorepo 移動 違う package のコードを参照しがち directory boundary を意識して必要な範囲だけ見る
長時間 workflow long context で重要箇所が薄まる 即座にダミー業務画面へ切り替え、重要情報の露出を避けられる

発動方式

description マッチでの暗黙発動。

Skill の中身を全部見せる

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

.agent/skills/random-os-fake-boss-key/
├── SKILL.md
├── scripts/
│   └── boss_key.py
└── references/
    └── design_notes.md

各ファイルの役割

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

SKILL.md

---
name: random-os-fake-boss-key
description: 作業中に『サボり』『上司』『バレそう』『画面切替』『ボスキー』『偽装』『急に真面目な画面』などのキーワードや、明示的なコマンド入力があった場合に発動。即座に本物そっくりのダミー業務画面をランダム生成し、元の画面にすぐ戻れるようにします。
---

# 機能概要
random-os-fake-boss-keyは、作業中に「サボりがバレそう」「急に上司が来た」などの状況で発動し、即座に本物の業務画面風のダミーウィンドウ(例:グラフやレポート、ダッシュボード)をランダム生成して表示します。伝説の“ボスキー”を現代風に再現し、背後からの視線対策や気まずい瞬間の“業務中オーラ”演出を自動化。実際の業務データではなく、その場限りのフェイク画面なので、プライバシーや情報漏洩の心配もありません。

# 使い方
- 明示呼び出し例: `python boss_key.py --show` で即時ダミー画面を表示。
- 暗黙発動: 「サボり」「上司」「バレそう」「画面切替」「ボスキー」などのキーワードを含む発話や指示で自動発動。
- ダミー画面は毎回ランダム生成。`--restore`で元の作業画面に即時復帰。

# 出力例
```
[Fake Report Dashboard]
- Sales Growth: 12.4% (Q2)
- Customer Churn: 2.1%
- Active Users: 1,234
[Graph: Revenue vs. Time]
██████████ 2023Q1
█████████████ 2023Q2
███████████████ 2023Q3
[End of Report]
```

# 注意点
- 本Skillはローカル環境でのみ動作し、実際の業務システムやデータには一切アクセスしません。
- 生成される画面はあくまでフェイクであり、実業務には利用できません。
- 保存機能はありません。画面復帰後は内容が消えます。

# 参考資料
詳細な設計方針や利用例は `references/design_notes.md` を参照してください。公式ドキュメント: https://ai-note.tech/skills/random-os-fake-boss-key

scripts/boss_key.py

import argparse
import random
import sys
import time
import os
import threading

DASHBOARD_TEMPLATES = [
    {
        'title': 'Fake Report Dashboard',
        'sections': [
            lambda: f"- Sales Growth: {random.uniform(5.0, 15.0):.1f}% (Q{random.choice([1,2,3,4])})",
            lambda: f"- Customer Churn: {random.uniform(1.0, 5.0):.1f}%",
            lambda: f"- Active Users: {random.randint(1000, 5000)}",
            lambda: fake_bar_graph("Revenue vs. Time"),
        ]
    },
    {
        'title': 'Quarterly KPI Monitor',
        'sections': [
            lambda: f"- Net Promoter Score: {random.randint(30, 80)}",
            lambda: f"- Ticket Resolution Time: {random.randint(2, 24)} hours",
            lambda: f"- Uptime: {random.uniform(99.0, 99.99):.2f}%",
            lambda: fake_bar_graph("Tickets Closed"),
        ]
    },
    {
        'title': 'Project Progress Overview',
        'sections': [
            lambda: f"- Completed Tasks: {random.randint(50, 200)}",
            lambda: f"- Remaining Tasks: {random.randint(5, 30)}",
            lambda: f"- Milestone: {random.choice(['Design', 'Development', 'QA', 'Release'])}",
            lambda: fake_progress_bar("Overall Progress"),
        ]
    },
]

def fake_bar_graph(title):
    bars = [random.randint(5, 20) for _ in range(3)]
    labels = ["2023Q1", "2023Q2", "2023Q3"]
    graph = f"[Graph: {title}]\n"
    for i, bar in enumerate(bars):
        graph += "█" * bar + f" {labels[i]}\n"
    return graph.strip()

def fake_progress_bar(title):
    percent = random.randint(30, 100)
    bar = "█" * (percent // 5) + "-" * ((100 - percent) // 5)
    return f"[Progress: {title}]\n[{bar}] {percent}%"

def clear_screen():
    if os.name == 'nt':
        os.system('cls')
    else:
        os.system('clear')

def show_fake_dashboard():
    dashboard = random.choice(DASHBOARD_TEMPLATES)
    clear_screen()
    print(f"[{dashboard['title']}]\n")
    for section in dashboard['sections']:
        print(section())
    print("[End of Report]")

def restore_previous_screen():
    clear_screen()
    print("[Restored previous screen]")

def listen_for_restore(timeout=0):
    try:
        if timeout > 0:
            time.sleep(timeout)
            restore_previous_screen()
            return
        print("\nPress Enter to restore your screen...")
        input()
        restore_previous_screen()
    except KeyboardInterrupt:
        restore_previous_screen()


def main():
    parser = argparse.ArgumentParser(description='random-os-fake-boss-key: Generate and show a fake business dashboard.')
    subparsers = parser.add_subparsers(dest='command')

    show_parser = subparsers.add_parser('show', help='Show a random fake dashboard')
    show_parser.add_argument('--auto-restore', type=int, default=0, help='Auto-restore after N seconds (default: manual restore)')

    restore_parser = subparsers.add_parser('restore', help='Restore the previous screen immediately')

    args = parser.parse_args()

    if args.command == 'show':
        show_fake_dashboard()
        listen_for_restore(timeout=args.auto_restore)
    elif args.command == 'restore':
        restore_previous_screen()
    else:
        parser.print_help()
        sys.exit(1)

if __name__ == '__main__':
    main()

references/design_notes.md

# 概要
random-os-fake-boss-keyは、伝統的な“ボスキー”文化を現代のCLI/AIエージェント環境で再現するために設計されました。ユーザーが“サボり”“上司”などのキーワードやコマンドで即座にフェイク業務画面を表示し、視線対策や気まずい状況を回避できます。

# 公式ドキュメント抜粋
本Skillはローカル端末上で動作し、実在の業務データやAPIには一切アクセスしません。画面は毎回ランダム生成され、プライバシーやセキュリティ上のリスクはありません。

# 利用例
- 在宅勤務中、急に家族や同僚が背後に現れた際に即座に“業務中っぽい”画面を演出
- オンライン会議やスクリーン共有時の緊急フェイク画面切替

# 注意点
本Skillは演出目的のパロディ機能であり、実際の業務記録や証跡としては利用できません。画面内容は保存されません。

# 設計方針
CLIサブコマンドでの明示操作と、AIエージェントによる暗黙発動の両方に対応。フェイク画面はテンプレート+ランダム生成で毎回異なる内容となるよう工夫しています。

導入手順

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

1. 前提

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

2. degit でフォルダ取得

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

npx degit aazutaku/ai-note/antigravity/random-os-fake-boss-key .agent/skills/random-os-fake-boss-key

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

3. ファイル配置確認

ls .agent/skills/random-os-fake-boss-key
# 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で伝説のボスキー演出を試してみた!作業中に即座に偽業務画面へ切り替えられるか検証 にまとめる予定 (公開準備中の場合あり)。
あわせて Antigravity 公式ドキュメント と、本シリーズ「Antigravityで試したいSkill研究」の他記事も参照のこと。

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

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

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

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