Claude Code ユーザーが日常でぶつかる悩み
Claude Code を日々利用していると、ちょっとした「気の抜ける瞬間」や「作業の緊張感を和らげたいタイミング」が意外と多いものです。特に path management や repository understanding のような真面目な作業が続くと、どうしても画面が単調になりがちです。そんな時、ふとした演出や通知があれば、チームメンバーとの雑談のきっかけや、長時間作業のリフレッシュにもつながります。
また、onboarding や初回 session で緊張感が高まる場面でも、ユーモラスな演出があれば空気が和らぐことも。Claude Code の AI coding workflow は効率的ですが、時には「遊び心」も求められます。
- Claude Code がいつの間にか違う directory を見始めて、想定外のファイルを読みに行く
- monorepo で package を跨いだ瞬間、Claude Code が repo 構造を忘れる
- session を再開すると、前回までの context や path 指定をまるごと再説明しないといけない
- 長時間 workflow で long context が膨らみすぎて、important な情報が薄まる (stale context)
- 「ここはこういう構造のリポジトリ」というあらすじを毎回チャットの冒頭で書く羽目になる
こうした「真面目な悩み」とは別に、通知・演出・OS連携系の Skill がもっと「遊び心」や「リラックス」をもたらしてくれたら…と感じる瞬間も多いはずです。
この Skill が一言でいうと何を解決するか
一言サマリ: このスキルは、ターミナルやエディタでコマンドを実行するたび、画面端に“謎のOS進捗バー祭り”を発生させ、作業の緊張感を一瞬で崩壊させる演出Skill。
もう少し具体化すると、このSkillを入れることで以下のような状態になる:
- AI coding workflow の合間に、完全に意味不明な進捗バーが乱入し、作業空間に思わず笑いが生まれる
- repository understanding や path management の堅い作業をしている最中でも、カオスな演出で空気が和らぐ
- onboarding や session 再開時の緊張感を一瞬でほぐし、チーム内のコミュニケーションが活発になる
- monorepo や長時間 context の単調さを、予測不能な演出でリフレッシュできる
- 「Skill入れてる人」アピールや、同僚の目線を釘付けにするネタとしても使える
GitHub から degit でコマンド1行、Claude Code の Skill ディレクトリに展開できます。Node.js があれば即時に動きます。
npx degit aazutaku/ai-note/claude-code/random-os-mysterious-progressbar-festival .claude/skills/random-os-mysterious-progressbar-festival実行したらこうなる (3つの利用シーン)
使う側がイメージしやすいよう、擬似 terminal で出力例を3パターン示します。
シーン1: session 開始時 (CLAUDE.md と組み合わせて)
# /random-os-mysterious-progressbar-festival
> セッション開始
[謎のOS進捗バー祭り 開催中]
──────────────────────────────
[バグ撲滅進捗] [■■■■■■■■ ] 68%
[コーヒー摂取量] [■■■■■ ] 36%
[脳内会議進行度] [■■■■■■■■■■■ ] 83%
[README未読率] [■■■■■■■■■■■■■] 92%
──────────────────────────────
本日の謎進捗バー数: 4
(※進捗内容は完全にランダムです)
シーン2: monorepo / package 跨ぎ作業時
> packages/api から packages/web へ移動
[謎のOS進捗バー祭り 開催中]
──────────────────────────────
[API仕様理解度] [■■■■■■■■■ ] 76%
[web側混乱度] [■■■■■■ ] 42%
[テストカバレッジ幻想] [■■■■■■■■■■■■ ] 89%
[脳内リポジトリ境界線] [■■■■ ] 28%
──────────────────────────────
突然現れる謎の進捗バーにより、作業の緊張感が崩壊します
シーン3: お遊び的な使い方
> ちょっと気分転換したい
[謎のOS進捗バー祭り 開催中]
──────────────────────────────
[やる気残量] [■■■■■■■■ ] 61%
[昼食消化率] [■■■■■■■■■■■ ] 79%
[Slack未読件数] [■■■■■■■■■■■■■] 95%
[午後の集中度] [■■ ] 11%
[意味不明な進捗] [■■■■■■■■■■■■ ] 88%
──────────────────────────────
進捗バーのテーマも進捗も完全にカオスです
before / after の違い
| 場面 | Skill 無し | Skill 有り |
|---|---|---|
| session 再開時 | repo 構造から毎回説明、path も指定し直し | Claude Code が自動で context を復元、最小プロンプトで再開 |
| monorepo 移動 | 違う package のコードを参照しがち | directory boundary を意識して必要な範囲だけ見る |
| 長時間 workflow | long context で重要箇所が薄まる | 意味不明な進捗バーで気分転換、集中力をリセット |
発動方式
明示呼び出し (/random-os-mysterious-progressbar-festival) と暗黙発動 (「進捗バー」「謎のOS演出」などのdescriptionマッチ) の両方に対応。
Skill の中身を全部見せる
.claude/skills/random-os-mysterious-progressbar-festival/ に配置するファイル一覧です。GitHub に push 済みなので、上記の degit コマンドで一発取得できます。
.claude/skills/random-os-mysterious-progressbar-festival/
├── SKILL.md
├── scripts/
│ └── mysterious_progressbar_festival.py
└── references/
└── design_notes.md
各ファイルの役割
| ファイル | 役割 |
|---|---|
SKILL.md |
Skill本体。frontmatter (name/description) と指示本文。Claude Code がこの内容をエージェント指示として読み込み、ユーザーのプロンプトに応じて発動します |
scripts/mysterious_progressbar_festival.py |
謎のOS進捗バー祭りを開催するスクリプト |
references/design_notes.md |
概要 をまとめた参考資料 |
SKILL.md
---
name: random-os-mysterious-progressbar-festival
description: Claude Codeがターミナルコマンド実行やファイル編集時など、作業の進行・通知・演出に関するキーワード(例: progress, notify, bar, status, festival, random, chaos, OS, terminal)を検出した際、または明示的に /random-os-mysterious-progressbar-festival を呼び出した際に発動します。
---
# 機能概要
このSkillは、ターミナルやエディタ上でコマンドを実行するたび、画面端に「謎のOS進捗バー祭り」を自動的に発生させます。進捗バーは「バグ撲滅進捗」「コーヒー摂取量」「脳内会議進行度」など意味不明なテーマがランダムで選ばれ、進捗値も毎回異なります。複数バーが同時に重なって描画され、作業の緊張感を一瞬で崩壊させるカオスな演出を提供します。日常のルーチン作業にユーモアと話題性をプラスし、同僚とのコミュニケーションのきっかけにもなります。
# 使い方
- 明示呼び出し: `/random-os-mysterious-progressbar-festival`
- 暗黙発動: コマンド実行やファイル保存時、「progress」「bar」「festival」「notify」などのキーワードを含む操作で自動発動
# 出力例
```
[バグ撲滅進捗] [███████████-----] 72%
[コーヒー摂取量] [█████----------] 32%
[脳内会議進行度] [█████████-------] 58%
[OSアップデート謎進捗] [█████████████---] 86%
[集中力残量] [██-------------] 11%
```
# 注意点
- 進捗バーのテーマと進捗値は完全ランダムです
- 実際のOSやプロセスの進行状況とは一切関係ありません
- ローカルには一切データ保存されません
- 長時間の連続実行や大量バー表示は端末の描画負荷に注意
# 参考資料
- 詳細設計・参考: [references/design_notes.md](references/design_notes.md)
- 公式URL: https://ai-note.tech/skills/random-os-mysterious-progressbar-festival
scripts/mysterious_progressbar_festival.py
import argparse
import random
import sys
import time
from typing import List, Tuple
# 進捗バーのテーマ候補
PROGRESS_THEMES = [
'バグ撲滅進捗',
'コーヒー摂取量',
'脳内会議進行度',
'OSアップデート謎進捗',
'集中力残量',
'やる気ゲージ',
'サボり検知率',
'無意味な再起動回数',
'AIとの親密度',
'タスク消化率',
'無駄話指数',
'謎のエラー発生率',
'ファイル保存成功率',
'ネットワーク混乱度',
'脳内BGM再生率',
'コーディング幸福度',
'会議脱出進捗',
'進捗報告虚偽率',
'OSメンテ祭り度',
'CPU無駄遣い度'
]
BAR_LENGTH = 20
def random_progressbar(theme: str, percent: int) -> str:
filled_len = int(BAR_LENGTH * percent / 100)
bar = '█' * filled_len + '-' * (BAR_LENGTH - filled_len)
return f"[{theme:<12}] [{bar}] {percent:>3}%"
def generate_random_bars(num_bars: int = 3) -> List[str]:
themes = random.sample(PROGRESS_THEMES, k=num_bars)
bars = []
for theme in themes:
percent = random.randint(0, 100)
bars.append(random_progressbar(theme, percent))
return bars
def display_festival(num_bars: int = None, interval: float = 0.5, cycles: int = 5, animate: bool = True):
if num_bars is None:
num_bars = random.randint(3, 6)
for i in range(cycles):
bars = generate_random_bars(num_bars)
sys.stdout.write('\033[2J\033[H') # 画面クリア&カーソル左上
for bar in bars:
print(bar)
sys.stdout.flush()
if animate and i < cycles - 1:
time.sleep(interval)
print() # 最後に改行
def list_themes():
print("利用可能な進捗バーのテーマ一覧:")
for theme in PROGRESS_THEMES:
print(f"- {theme}")
def summary():
print("random-os-mysterious-progressbar-festival: ターミナルに謎の進捗バーをランダム表示するSkillです。\n")
print(f"テーマ数: {len(PROGRESS_THEMES)}")
print(f"バー長さ: {BAR_LENGTH}")
print("明示呼び出し例: python mysterious_progressbar_festival.py run --bars 5 --cycles 8 --interval 0.3\n")
print("出力例:")
for bar in generate_random_bars(4):
print(bar)
def parse_args():
parser = argparse.ArgumentParser(description="謎のOS進捗バー祭りを開催するスクリプト")
subparsers = parser.add_subparsers(dest="command", required=True)
run_parser = subparsers.add_parser("run", help="進捗バー祭りを実行")
run_parser.add_argument("--bars", type=int, default=None, help="同時に表示するバーの数 (デフォルト: 3-6ランダム)")
run_parser.add_argument("--cycles", type=int, default=5, help="アニメーション繰り返し回数")
run_parser.add_argument("--interval", type=float, default=0.5, help="アニメーション間隔(秒)")
run_parser.add_argument("--no-animate", action="store_true", help="アニメーションせず1回だけ表示")
subparsers.add_parser("list", help="利用可能テーマ一覧表示")
subparsers.add_parser("summary", help="Skill概要と出力例表示")
return parser.parse_args()
def main():
args = parse_args()
if args.command == "run":
display_festival(
num_bars=args.bars,
interval=args.interval,
cycles=1 if args.no_animate else args.cycles,
animate=not args.no_animate
)
elif args.command == "list":
list_themes()
elif args.command == "summary":
summary()
else:
print("不正なコマンドです。--help を参照してください。", file=sys.stderr)
sys.exit(1)
if __name__ == '__main__':
main()
references/design_notes.md
# 概要
このSkillは、ターミナルやエディタ上で作業中に「意味不明な進捗バー」を複数同時に描画し、作業空間をカオスに演出するために設計されました。進捗テーマ・値ともに完全ランダムで、実際の進行状況とは無関係です。
# 公式ドキュメント抜粋
- Python標準ライブラリのみで構築
- argparseによるCLIサブコマンド対応
- 画面クリアやバー描画はANSIエスケープシーケンスで実現
# 利用例
- `/random-os-mysterious-progressbar-festival` で即座に発動
- `python mysterious_progressbar_festival.py run --bars 4 --cycles 7` などコマンドラインからも利用可能
# 注意点
- 実際のOSやプロセス進行度とは一切関係ありません
- 長時間連続実行や大量バー表示は端末の描画負荷に注意してください
# 設計方針
- テーマ・進捗値ともに毎回ランダム生成
- 1回の発動で3~6本のバーを同時描画
- CLIからの明示呼び出し・サブコマンドで柔軟に制御可能
導入手順
このSkillは GitHub で管理されているので、degit を使えば必要なフォルダだけを1コマンドで取得できます。Claude Code はファイル配置後に再起動するだけで自動認識します。
1. 前提
- Node.js v16 以上 (
degit実行に必要) - Claude Code がローカルで動いていること
2. degit でフォルダ取得
プロジェクトのルートで以下のコマンドを実行します。
npx degit aazutaku/ai-note/claude-code/random-os-mysterious-progressbar-festival .claude/skills/random-os-mysterious-progressbar-festival
.claude/skills/random-os-mysterious-progressbar-festival の中に SKILL.md / scripts/ / references/ / README.md が展開されます。
3. ファイル配置確認
ls .claude/skills/random-os-mysterious-progressbar-festival
# SKILL.md, scripts/, references/, README.md があればOK
4. Claude Code を再起動 (or Skill 自動検出を待つ)
新しいSkillが自動で認識されます。リスト確認したい場合は /random-os-mysterious-progressbar-festival と Skill 名で出てきます。
5. 動作確認
/random-os-mysterious-progressbar-festival で呼び出すか、自然言語で発動条件にマッチする指示を出すと Skill が動きます。期待される出力イメージは「実行したらこうなる」セクションを参照してください。
こんな瞬間に便利
- session 開始時: 前回までの repo 把握を Claude Code に一発で復元させたい
- monorepo 移動時: packages を跨いだ瞬間に context を切り替えたい
- onboarding 時: 新しい repo を Claude Code に把握させ、こちらが 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 コードを拾ってしまう可能性
- Claude Code 固有の引っかかり: paths フロントマターでの絞り込みを使わないと意図しないタイミングで発動する
- 発動しないケース: description が漠然 / 他の Skill が優先 / git管理外 directory
- 演出が作業を邪魔する: 進捗バーの出現タイミングや数が多すぎると、本来の作業フローを妨げる場合がある
試す前に確かめたいこと
この Skill を実運用に投入する前に確かめたい問いを並べる:
- 実 repo での token 消費は許容範囲か?
- monorepo (packages 多数) で安定して動くか?
- stale context にならず、長時間 workflow でも有効か?
- CLAUDE.md との連携設計はどうあるべきか?
- 複数の進捗バーが同時に現れるか?
- バーのテーマと進捗値が毎回ランダムか?
- 通知や描画が10-30分で簡単に実装できるか?
実際に Claude Code で試した検証ログは Claude Codeで通知・演出・OS連携Skillを試してみた結果 にまとめる予定 (公開準備中の場合あり)。
あわせて Claude Code 公式ドキュメント と、本シリーズ「Claude Codeを便利にするSkill提案」の他記事も参照のこと。
関連タグで他のSkill記事を探す
本記事に付いているタグから、気になるテーマの記事を探せます。タグページで関連記事をまとめて読めるので、ぜひチェックしてみてください!
