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 の長時間セッションで画面を見られたくない時の“緊急避難”として活用できる
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記事を探す
本記事に付いているタグから、気になるテーマの記事を探せます。タグページで関連記事をまとめて読めるので、ぜひチェックしてみてください!
