Codexで画面端に謎の進捗バーを表示する演出スキル活用ガイド

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

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

AI coding workflow を日々活用していると、どうしても作業が単調になりがちです。特に repository understanding や path management、directory 構造の把握に意識を集中していると、気付けば緊張感や集中力が張り詰めたままになり、ちょっとした息抜きやリズムの切り替えが難しいと感じることも。「仕事中なのに、ふとした瞬間に脱力したい」「AI の出力に遊び心が欲しい」と思ったことはありませんか?

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

さらに、通知や演出が単調だと、集中力が切れた時のリカバリーも難しくなりがち。そんな時、まったく無意味で意味不明な“謎のOSアップデート進捗バー”が現れたら……?一瞬で肩の力が抜け、気分転換になるかもしれません。

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

一言サマリ: このスキルは、Codex の作業フロー中に「謎のOSアップデート進捗バー」をランダム表示し、脱力系の演出で気分転換を提供するSkill。

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

  • AI coding workflow の途中に、完全に無意味で笑える fake な OS update progress bar が毎回違う内容で出現し、作業の緊張感を一瞬で和らげる
  • 毎回ランダムな進捗内容(例:「バグ収穫中」「やる気パッチ適用中」など)が表示され、マンネリ化した context 管理や repository navigation の合間に遊び心が生まれる
  • 進捗バーは100%になっても何も起こらず、集中を邪魔しすぎずに自然に消えるため、workflow の流れを損なわない
  • onboarding や session 再開時にも、ちょっとした演出でチームや自分の気分を切り替えられる
  • Codex の通知・演出系 Skill の中でも、完全に無駄でありながら「これ入れたい」と思わせる脱力感を提供
QUICK INSTALL
このSkillをすぐ試す

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

npx degit aazutaku/ai-note/codex/random-os-fake-update-progrebar .agents/skills/random-os-fake-update-progrebar

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

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

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


# /skills menu or random-os-fake-update-progrebar mention
> プロジェクトの初期セットアップを開始

[OSアップデート進捗バー]
───────────────────────────────
  進捗:  3% - バグ収穫中...
  進捗: 18% - 無意味なファイル整理中...
  進捗: 37% - やる気パッチ適用中...
  進捗: 62% - 謎の依存関係を追加中...
  進捗: 87% - モチベーション最適化中...
  進捗: 100% - 何も起きませんでした
───────────────────────────────

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


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

[OSアップデート進捗バー]
───────────────────────────────
  進捗: 12% - context リセット中...
  進捗: 29% - repository 構造を忘却中...
  進捗: 56% - directory 増殖中...
  進捗: 81% - 意味不明なパスを検出中...
  進捗: 100% - やっぱり何も起きません
───────────────────────────────

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


> 今日はやる気が出ない...

[OSアップデート進捗バー]
───────────────────────────────
  進捗: 9% - 怠惰アップグレード中...
  進捗: 33% - 眠気パッチ適用中...
  進捗: 68% - サボりモード強化中...
  進捗: 100% - 何も変わりませんでした
───────────────────────────────

before / after の違い

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

発動方式

明示呼び出し (/skills menu or random-os-fake-update-progrebar mention) と暗黙発動 (description マッチ) の両方に対応。

Skill の中身を全部見せる

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

.agents/skills/random-os-fake-update-progrebar/
├── SKILL.md
├── scripts/
│   └── random_os_fake_update_progrebar.py
└── references/
    └── design_notes.md

各ファイルの役割

ファイル 役割
SKILL.md Skill本体。frontmatter (name/description) と指示本文。Codex がこの内容をエージェント指示として読み込み、ユーザーのプロンプトに応じて発動します
scripts/random_os_fake_update_progrebar.py 謎のOSアップデート進捗バーをランダム表示する演出スクリプト
references/design_notes.md 概要 をまとめた参考資料

SKILL.md

---
name: random-os-fake-update-progrebar
description: このSkillは、コマンド実行やエディタ操作時など作業の合間に、ランダムな“謎のOSアップデート進捗バー”を端やメニューバー風に表示します。進捗内容は毎回異なり、進捗バーが100%になっても何も起きません。通知・演出・OS連携カテゴリで、脱力系の演出を自動または明示的に発動します。
---

# 機能概要
random-os-fake-update-progrebarは、作業中に突然“謎のOSアップデート進捗バー”を画面端やメニューバー風に表示する演出系Skillです。進捗内容は「バグ収穫中」「やる気パッチ適用中」など完全ランダムで、進捗バーが100%になっても何も起きません。仕事の緊張感を一瞬で脱力させる、100%無駄な通知・演出を提供します。

# 使い方
- 明示呼び出し: `/skills menu` から選択、または `@random-os-fake-update-progrebar` で発動
- 暗黙発動: コマンド実行やエディタの保存・ビルドなど、作業トリガー時に自動表示
- 発動キーワード例: 「進捗」「アップデート」「パッチ」「ビルド」「通知」

# 出力例
```
[OSアップデート進捗] バグ収穫中: [███████-----] 70%
[OSアップデート進捗] 怠惰アップグレード中: [████--------] 40%
[OSアップデート進捗] やる気パッチ適用中: [██████████] 100%
[OSアップデート進捗] 意味不明な最適化中: [███-------] 30%
[OSアップデート進捗] 仕様書の再発明中: [███████-----] 60%
```

# 注意点
- 進捗内容・進捗率は毎回ランダムです
- 100%になっても何も起きません
- 通知は数秒で自動消去され、履歴やローカル保存は行いません
- 本Skillは実用性ゼロの演出専用です

# 参考資料
- [references/design_notes.md](references/design_notes.md) に設計方針・利用例を記載
- 公式Python標準ライブラリ: [random](https://docs.python.org/3/library/random.html), [time](https://docs.python.org/3/library/time.html)

scripts/random_os_fake_update_progrebar.py

import random
import time
import sys
import argparse

FAKE_UPDATE_MESSAGES = [
    "バグ収穫中",
    "やる気パッチ適用中",
    "怠惰アップグレード中",
    "意味不明な最適化中",
    "仕様書の再発明中",
    "無駄な依存関係更新中",
    "謎のレジストリ書き換え中",
    "気分転換アップデート中",
    "レガシーコード復元中",
    "メモリリーク拡張中"
]

PROGRESS_BAR_LENGTH = 20
DISPLAY_DURATION = 2.5  # seconds


def generate_fake_update_message():
    message = random.choice(FAKE_UPDATE_MESSAGES)
    return message


def generate_progress_bar(progress):
    filled_length = int(PROGRESS_BAR_LENGTH * progress // 100)
    bar = '█' * filled_length + '-' * (PROGRESS_BAR_LENGTH - filled_length)
    return f"[{bar}] {progress}%"


def print_progress_bar(message, progress):
    sys.stdout.write(f"\r[OSアップデート進捗] {message}: {generate_progress_bar(progress)} ")
    sys.stdout.flush()


def show_fake_update():
    message = generate_fake_update_message()
    progress = 0
    increments = random.randint(4, 8)
    steps = sorted(random.sample(range(15, 100), increments - 1)) + [100]
    prev = 0
    for step in steps:
        for p in range(prev, step, max(1, (step-prev)//5)):
            print_progress_bar(message, p)
            time.sleep(random.uniform(0.03, 0.08))
        prev = step
        print_progress_bar(message, step)
        time.sleep(random.uniform(0.1, 0.3))
    # Hold at 100% for a moment
    time.sleep(DISPLAY_DURATION)
    sys.stdout.write("\r" + " " * 80 + "\r")
    sys.stdout.flush()


def show_multiple_updates(n=1):
    for _ in range(n):
        show_fake_update()


def list_fake_messages():
    print("利用可能な進捗内容:")
    for msg in FAKE_UPDATE_MESSAGES:
        print(f"- {msg}")


def main():
    parser = argparse.ArgumentParser(
        description="謎のOSアップデート進捗バーをランダム表示する演出スクリプト"
    )
    subparsers = parser.add_subparsers(dest="command")

    parser_run = subparsers.add_parser("run", help="進捗バーを1回または複数回表示")
    parser_run.add_argument("-n", type=int, default=1, help="表示回数 (デフォルト: 1)")

    parser_list = subparsers.add_parser("list", help="利用可能な進捗内容を表示")

    args = parser.parse_args()
    if args.command == "run":
        show_multiple_updates(args.n)
    elif args.command == "list":
        list_fake_messages()
    else:
        parser.print_help()

if __name__ == '__main__':
    main()

references/design_notes.md

# 概要
このSkillは、作業時に毎回異なる“謎のOSアップデート進捗バー”をランダム表示し、ユーザーの緊張を和らげることを目的としたユーモア系演出スキルです。

# 公式ドキュメント抜粋
Pythonの標準ライブラリ(random, time, argparse, sys)を利用し、外部依存を排除しています。

# 利用例
- コマンド実行やエディタ保存時に自動発動
- `/skills menu` から明示的に呼び出し
- ターミナルで `python random_os_fake_update_progrebar.py run -n 3` など

# 注意点
- 進捗内容・進捗率は完全ランダムで、実際のシステム更新とは無関係です
- 100%になっても何も起きません
- 履歴やログ保存は行いません

# 設計方針
- 冗長な通知を避け、演出は数秒で自動消去
- コマンド/エディタ操作時の脱力系演出として設計
- 拡張性を考慮し、進捗内容リストは容易に追加可能

導入手順

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

1. 前提

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

2. degit でフォルダ取得

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

npx degit aazutaku/ai-note/codex/random-os-fake-update-progrebar .agents/skills/random-os-fake-update-progrebar

.agents/skills/random-os-fake-update-progrebar の中に SKILL.md / scripts/ / references/ / README.md が展開されます。

3. ファイル配置確認

ls .agents/skills/random-os-fake-update-progrebar
# SKILL.md, scripts/, references/, README.md があればOK

4. Codex を再起動 (or Skill 自動検出を待つ)

新しいSkillが自動で認識されます。リスト確認したい場合は /skills menu or $skill-name mention と Skill 名で出てきます。

5. 動作確認

/skills menu or $skill-name 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 を取りたい

気になるポイント (壊れそうな箇所)

実運用に乗せる前に頭に入れておきたい懸念。後で検証する観点でもある:

  • 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 との連携設計はどうあるべきか?
  • 進捗バーが作業時に毎回違う内容でランダム表示されるか?
  • 100%になっても何も起きないことを確認
  • 通知や演出が冗長すぎず、すぐ消えること

実際に Codex で試した検証ログは Codexで謎のOSアップデート進捗バーを出してみた! にまとめる予定 (公開準備中の場合あり)。
あわせて Codex 公式ドキュメント と、本シリーズ「Codexを使いこなすSkillアイデア」の他記事も参照のこと。

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

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

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

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