Codex ユーザーが日常でぶつかる悩み
日々Codexと向き合っていると、真面目なAIコーディングワークフローにちょっとした“間”や“遊び心”が欲しくなる瞬間がある。集中してリポジトリやディレクトリ構造を解説したり、contextやpath管理に神経を尖らせていると、つい作業が単調になりがち。そんな時、ふとした通知や演出で気分転換できれば、チームの雰囲気も和らぐ。
- Codex が context を見失って違う場所のコードを参照するため、workflowが中断しがち
- monorepo で package を跨いだ瞬間、Codex が repo 構造を忘れて説明をやり直す羽目になる
- session を再開すると、前回までの context や path 指定をまるごと再説明しないといけない
- 長時間のAI coding workflowでlong contextが膨らみ、重要な情報がstale contextに埋もれる
- 「ここはこういう構造のリポジトリ」と毎回チャットの冒頭で説明し続けるのが面倒
こうした“真面目な困りごと”の合間に、ちょっとしたカオスや笑いを挟みたい。特に「通知・演出・OS連携」系のSkillがあれば、集中をほぐしつつ、チームの空気もリフレッシュできる。
この Skill が一言でいうと何を解決するか
一言サマリ: このスキルは、Codex作業中に“謎のOSセキュリティスキャン”風フェイク通知を流し、作業空間に笑いとカオスを強制注入するSkill。
もう少し具体化すると、このSkillを入れることで以下のような状態になる:
- AI coding workflowの合間に、完全にフェイクなセキュリティスキャン通知が現れ、作業空間が一気に和む
- repoやdirectory構造の説明に疲れたタイミングで、進捗バー付きのネタ通知が自然に流れる
- onboardingや長時間sessionの「真面目な空気」を一瞬で吹き飛ばし、チーム内のコミュニケーションが活性化
- Skillの発動は明示/暗黙どちらもOK、contextやpath管理の流れを妨げずに“遊び”を差し込める
- 毎回ランダムな警告内容や進捗率が表示されるため、飽きずに何度も使える
GitHub から degit でコマンド1行、Codex の Skill ディレクトリに展開できます。Node.js があれば即時に動きます。
npx degit aazutaku/ai-note/codex/random-os-fake-security-scan .agents/skills/random-os-fake-security-scan実行したらこうなる (3つの利用シーン)
使う側がイメージしやすいよう、擬似 terminal で出力例を3パターン示す。Skill が返す出力は推測だが、現実的なフォーマット・現実的な長さで書く。
シーン1: session 開始時 (プロジェクト初動で)
# /skills menu or random-os-fake-security-scan mention
> プロジェクト開始
=== OS Security Scan ===
[■■■■■■■□□□□□□□] 37%
警告: 未知のやる気ウイルスを発見しました。
スキャン対象: src/utils/contextManager.js
推奨対策: 進捗を自慢する
-------------------------
[■■■■■■■■■■■□□□] 75%
注意: あなたの進捗は安全です
スキャン対象: Skill の中身を全部見せる
.agents/skills/random-os-fake-security-scan/ に配置するファイル一覧です。GitHub に push 済みなので、上記の degit コマンドで一発取得できます。
.agents/skills/random-os-fake-security-scan/
├── SKILL.md
├── scripts/
│ └── random_os_fake_security_scan.py
└── references/
└── design_notes.md
各ファイルの役割
ファイル
役割
SKILL.md
Skill本体。frontmatter (name/description) と指示本文。Codex がこの内容をエージェント指示として読み込み、ユーザーのプロンプトに応じて発動します
scripts/random_os_fake_security_scan.py
random-os-fake-security-scan: フェイクOSセキュリティスキャン通知を表示
references/design_notes.md
概要 をまとめた参考資料
SKILL.md
---
name: random-os-fake-security-scan
description: 作業中に“OSセキュリティスキャン”風のデスクトップ通知を自動表示し、進捗バーや警告内容を毎回ランダム生成します。集中を崩す演出や、/skills menu・random・scan・virus などのキーワードで発動します。
---
# 機能概要
このSkillは、作業中のユーザーに対し、まるで本物のOSセキュリティスキャンが突然始まったかのようなフェイク通知をデスクトップに表示します。通知内容は「未知のやる気ウイルスを発見」「マウスの動きが怪しい」など完全なジョークで構成され、進捗バーもランダムに増加。真面目な空気を一瞬で和らげ、職場やリモートワーク環境での息抜きや話題作りに最適です。
# 使い方
- 明示呼び出し: `/skills menu` で一覧から選択、または `/random-os-fake-security-scan` コマンドを直接実行
- 暗黙発動: 「scan」「virus」「セキュリティ」「random」「進捗」などの単語が会話やコマンドに含まれると自動発動します
# 出力例
```
[セキュリティスキャン開始] 進捗: 7%
警告: 未知のやる気ウイルスを検出しました
[セキュリティスキャン進行中] 進捗: 33%
警告: マウスの動きが怪しいです
[セキュリティスキャン進行中] 進捗: 61%
警告: あなたの進捗は安全です
[セキュリティスキャン完了] 進捗: 100%
結果: 重大な問題は見つかりませんでした
```
# 注意点
- 通知はローカル環境でのみ表示されます(サーバー・リモート環境では不可)
- 本Skillは完全なジョーク用途であり、実際のセキュリティ診断は行いません
- 通知内容や進捗は毎回ランダム生成されます
- 履歴やログはローカル保存されません
# 参考資料
- [Python公式: plyer通知API](https://plyer.readthedocs.io/en/latest/)
- references/design_notes.md に設計方針・利用例を記載
scripts/random_os_fake_security_scan.py
import sys
import time
import random
import argparse
from threading import Thread
try:
from plyer import notification
except ImportError:
print('plyerモジュールが必要です。pip install plyer でインストールしてください。')
sys.exit(1)
FAKE_WARNINGS = [
'未知のやる気ウイルスを検出しました',
'マウスの動きが怪しいです',
'あなたの進捗は安全です',
'謎のプロセス「motivation.exe」を発見',
'CPU温度がやる気に反応しています',
'メモリ内に「集中力」が不足しています',
'カフェイン濃度が規定値を下回っています',
'あなたのキーボード入力速度は正常です',
'進捗バーが迷子になりました',
'重大な問題は見つかりませんでした'
]
SCAN_TITLES = [
'セキュリティスキャン開始',
'セキュリティスキャン進行中',
'セキュリティスキャン完了'
]
RESULTS = [
'重大な問題は見つかりませんでした',
'やる気ウイルスは自己解決しました',
'あなたの進捗は安全圏です',
'警告は全てジョークです'
]
def send_notification(title, message):
notification.notify(
title=title,
message=message,
timeout=3
)
def random_scan_sequence(verbose=False):
progress = 0
steps = random.randint(5, 8)
increments = sorted(random.sample(range(10, 100), steps - 1)) + [100]
last = 0
for idx, val in enumerate(increments):
time.sleep(random.uniform(1.5, 2.5))
progress = val
if progress < 100:
title = SCAN_TITLES[1] if idx > 0 else SCAN_TITLES[0]
warning = random.choice(FAKE_WARNINGS)
msg = f'進捗: {progress}%\n警告: {warning}'
else:
title = SCAN_TITLES[2]
result = random.choice(RESULTS)
msg = f'進捗: 100%\n結果: {result}'
send_notification(title, msg)
if verbose:
print(f'[{title}] {msg.replace(chr(10), " ")}', flush=True)
def list_warnings():
print('--- フェイク警告一覧 ---')
for w in FAKE_WARNINGS:
print(f'- {w}')
def summary():
print('このSkillは、作業中にフェイクのセキュリティスキャン通知をデスクトップに表示します。')
print('通知内容・進捗は毎回ランダム生成され、実際のウイルス検出は行いません。')
print('詳細は --help または SKILL.md を参照してください。')
def main():
parser = argparse.ArgumentParser(description='random-os-fake-security-scan: フェイクOSセキュリティスキャン通知を表示')
subparsers = parser.add_subparsers(dest='command')
scan_parser = subparsers.add_parser('scan', help='フェイクスキャンを開始')
scan_parser.add_argument('--verbose', action='store_true', help='進行状況を標準出力にも表示')
list_parser = subparsers.add_parser('list', help='警告メッセージ一覧を表示')
summary_parser = subparsers.add_parser('summary', help='Skillの概要を表示')
args = parser.parse_args()
if args.command == 'scan' or args.command is None:
# デフォルトはscan
random_scan_sequence(verbose=getattr(args, 'verbose', False))
elif args.command == 'list':
list_warnings()
elif args.command == 'summary':
summary()
else:
parser.print_help()
if __name__ == '__main__':
main()
references/design_notes.md
# 概要
このSkillは、作業中のユーザーに対し、フェイクのOSセキュリティスキャン通知をデスクトップに表示することで、職場やリモートワークの雰囲気を和ませることを目的としています。
# 公式ドキュメント抜粋
通知表示にはPythonの`plyer.notification` APIを利用。plyerはクロスプラットフォームでデスクトップ通知を提供する公式ライブラリです。
# 利用例
- `/random-os-fake-security-scan scan` で即座に通知を表示
- 進捗バーや警告内容は毎回ランダム生成されるため、何度でも新鮮な演出が可能
# 注意点
- plyerはWindows/Mac/Linuxで動作しますが、サーバーやSSH環境では通知が表示されません
- 本Skillは完全なジョーク用途であり、実際のセキュリティ診断は行いません
# 設計方針
- 実在のAPIのみ使用し、CLIサブコマンド設計(scan/list/summary)で拡張性を確保
- ログや履歴を残さず、軽量・安全な実装
導入手順
このSkillは GitHub で管理されているので、degit を使えば必要なフォルダだけを1コマンドで取得できます。Codex はファイル配置後に再起動するだけで自動認識します。
1. 前提
- Node.js v16 以上 (
degit 実行に必要)
- Codex がローカルで動いていること
2. degit でフォルダ取得
プロジェクトのルートで以下のコマンドを実行します。
npx degit aazutaku/ai-note/codex/random-os-fake-security-scan .agents/skills/random-os-fake-security-scan
.agents/skills/random-os-fake-security-scan の中に SKILL.md / scripts/ / references/ / README.md が展開されます。
3. ファイル配置確認
ls .agents/skills/random-os-fake-security-scan
# SKILL.md, scripts/, references/, README.md があればOK
4. Codex を再起動 (or Skill 自動検出を待つ)
新しいSkillが自動で認識されます。リスト確認したい場合は /skills menu or random-os-fake-security-scan mention と Skill 名で出てきます。
5. 動作確認
/skills menu or random-os-fake-security-scan mention で呼び出すか、自然言語で発動条件にマッチする指示を出すと Skill が動きます。期待される出力イメージは「実行したらこうなる」セクションを参照してください。
こんな瞬間に便利
- session 開始時: 前回までの repo 把握を Codex に一発で復元させたい
- monorepo 移動時: packages を跨いだ瞬間に context を切り替えたい
- onboarding 時: 新しい repo を Codex に把握させ、こちらが path を全部指定する手間を省きたい
- session 再開時: long context が切れた後でも、必要な path と directory 構造だけ素早く戻したい
- package 跨ぎ作業時: directory boundary を Skill 側で管理して、irrelevant な path 混入を防ぎたい
- long-running workflow 前: long context で重要箇所が薄まる前に snapshot を取りたい
- 気分転換したい時: 真面目なAI coding sessionに“カオス”を注入したい
気になるポイント (壊れそうな箇所)
実運用に乗せる前に頭に入れておきたい懸念。後で検証する観点でもある:
- stale context 問題: 長時間 workflow で Skill 出力が古くなり、現状と乖離する可能性
- directory 増えすぎ問題: 大規模 repo で全 directory を網羅すると出力が肥大化して context window を圧迫
- monorepo 肥大化: packages が多い構成では出力が雑になり、結局 path 指定し直しになる懸念
- irrelevant path 混入: node_modules / build 成果物 / generated コードを拾ってしまう可能性
- Codex 固有の引っかかり: description のセマンティックマッチ精度が要件次第
- 発動しないケース: description が漠然 / 他の Skill が優先 / git管理外 directory
- 通知が多すぎる: 頻度を調整しないと逆に集中を削ぐ恐れ
試す前に確かめたいこと
この Skill を実運用に投入する前に確かめたい問いを並べる:
- 実 repo での token 消費は許容範囲か?
- monorepo (packages 多数) で安定して動くか?
- stale context にならず、長時間 workflow でも有効か?
- AGENTS.md との連携設計はどうあるべきか?
- 通知が作業中に自然に出現するか?
- 進捗バーと警告内容が毎回ランダムか?
- 明らかにフェイクと分かるネタ演出になっているか?
実際に Codex で試した検証ログは Codexで謎のOSセキュリティスキャン通知を体験してみた! にまとめる予定 (公開準備中の場合あり)。
あわせて Codex 公式ドキュメント と、本シリーズ「Codexを使いこなすSkillアイデア」の他記事も参照のこと。
関連タグで他のSkill記事を探す
本記事に付いているタグから、気になるテーマの記事を探せます。タグページで関連記事をまとめて読めるので、ぜひチェックしてみてください!
