Claude Code ユーザーが日常でぶつかる悩み
Claude Code を日々使っていると、開発ワークフローの中で思わず「またか」と感じる瞬間が多々あります。特に repository understanding や path management まわりの課題は、monorepo・複雑な directory 構造を扱うほど顕著です。しかも、長時間の AI coding workflow を続けていると、context や memory の扱いがどんどん煩雑になっていきます。
- Claude Code がいつの間にか違う directory を見始めて、想定外のファイルを読みに行く
- monorepo で package を跨いだ瞬間、Claude Code が repo 構造を忘れる
- session を再開すると、前回までの context や path 指定をまるごと再説明しないといけない
- 長時間 workflow で long context が膨らみすぎて、important な情報が薄まる (stale context)
- 「ここはこういう構造のリポジトリ」というあらすじを毎回チャットの冒頭で書く羽目になる
こうした真面目な悩みの合間に、ふとした瞬間「ちょっと気分を変えたい」「緊張感をほぐしたい」と思うことも。通知や演出系 Skill で作業空間に小さな“遊び”が入ると、意外とリフレッシュできるものです。
この Skill が一言でいうと何を解決するか
一言サマリ: このスキルは、作業中に完全無意味な“謎のOSアップデート進捗バー”をランダムに表示し、緊張感を一瞬で脱力させる演出を提供します。
もう少し具体化すると、このSkillを入れることで以下のような状態になる:
- AI coding workflow の合間に、意味不明な進捗バー演出で気分転換ができる
- 毎回ランダムな context(例:「やる気パッチ適用中」など)が現れ、予測不能な脱力感を味わえる
- 進捗バーは100%になっても何も起きず、作業を邪魔しないライトな通知として楽しめる
- repository understanding や path management のような重いテーマから一瞬距離を置ける
- onboarding や長時間作業時の“空気の入れ替え”にちょうどいい演出となる
GitHub から degit でコマンド1行、Claude Code の Skill ディレクトリに展開できます。Node.js があれば即時に動きます。
npx degit aazutaku/ai-note/claude-code/random-os-fake-update-progrebar .claude/skills/random-os-fake-update-progrebar実行したらこうなる (3つの利用シーン)
使う側がイメージしやすいよう、擬似 terminal で出力例を3パターン示します。進捗内容や演出は毎回ランダムで、現実的な表示フォーマットを想定しています。
シーン1: session 開始時 (CLAUDE.md と組み合わせて)
# /random-os-fake-update-progrebar
> セッションを開始
[ OSアップデート進捗バー ]
バグ収穫中... ██████░░░░ 60%
やる気パッチ適用中... ████████░░ 80%
怠惰アップグレード中... ██████████ 100%
進捗完了!(特に何も起きません)
シーン2: monorepo / package 跨ぎ作業時
> packages/api/ に移動して作業再開
[ OSアップデート進捗バー ]
依存性迷子検出中... ███░░░░░░░░ 30%
README 自動生成中... █████░░░░░░ 50%
型安全度アップグレード中... █████████░░ 90%
進捗完了!(特に何も起きません)
シーン3: お遊び的な使い方
> ちょっと気分転換したい
[ OSアップデート進捗バー ]
やる気ブースト注入中... ████░░░░░░ 40%
意味不明なパッチ適用中... ███████░░░░ 70%
無意味な最適化中... ██████████ 100%
進捗完了!(特に何も起きません)
before / after の違い
| 場面 | Skill 無し | Skill 有り |
|---|---|---|
| session 再開時 | repo 構造から毎回説明、path も指定し直し | Claude Code が自動で context を復元、最小プロンプトで再開 |
| monorepo 移動 | 違う package のコードを参照しがち | directory boundary を意識して必要な範囲だけ見る |
| 長時間 workflow | long context で重要箇所が薄まる | 作業の合間に進捗バーで気分転換、集中力リセット |
発動方式
明示呼び出し (/random-os-fake-update-progrebar) と暗黙発動 (自然言語で「進捗バー」「アップデート」等が含まれる指示) の両方に対応しています。
Skill の中身を全部見せる
.claude/skills/random-os-fake-update-progrebar/ に配置するファイル一覧です。GitHub に push 済みなので、上記の degit コマンドで一発取得できます。
.claude/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) と指示本文。Claude Code がこの内容をエージェント指示として読み込み、ユーザーのプロンプトに応じて発動します |
scripts/random_os_fake_update_progrebar.py |
謎のOSアップデート進捗バーをランダム表示する無駄スキル |
references/design_notes.md |
概要 をまとめた参考資料 |
SKILL.md
---
name: random-os-fake-update-progrebar
description: ターミナルやエディタでコマンド実行時や明示的な /random-os-fake-update-progrebar 呼び出し時に、毎回異なる“謎のOSアップデート進捗バー”を画面端にランダム表示します。進捗内容は完全無意味で、100%到達時も何も起きません。作業の合間に緊張感を和らげたい時に有効です。
---
# 機能概要
このSkillは、ターミナルやエディタでコマンドを実行するたびに、架空の「OSアップデート進捗バー」を画面端やメニューバー風に一時的に表示します。進捗内容は完全にランダムで、「バグ収穫中」「やる気パッチ適用中」「怠惰アップグレード中」など、意味不明な項目ばかり。進捗が100%になっても何も起きず、作業の緊張感を一瞬で脱力させる“無駄な演出”を提供します。
# 使い方
- 明示呼び出し: `/random-os-fake-update-progrebar` を入力すると即座に進捗バーが表示されます。
- 暗黙発動: `run`, `build`, `test`, `deploy`, `save`, `commit`, `push` など、主要なコマンドやファイル操作時に自動的に発動します。
# 出力例
```
[==> ] 12% バグ収穫中...
[=======> ] 38% やる気パッチ適用中...
[============> ] 67% 怠惰アップグレード中...
[==================>] 100% 仕様の穴を拡張中...
```
# 注意点
- 実際のOSやファイルには一切影響しません。
- 進捗バーは10秒以内に自動で消えます。
- ログや履歴は残さず、ローカル保存もしません。
- 進捗内容や表示位置は毎回ランダムです。
# 参考資料
詳細な設計方針や参考実装例は references/design_notes.md を参照してください。Pythonの標準ライブラリのみで動作し、外部依存はありません。
scripts/random_os_fake_update_progrebar.py
import sys
import time
import random
import argparse
import threading
# ランダムな進捗メッセージ候補
PROGRESS_MESSAGES = [
'バグ収穫中',
'やる気パッチ適用中',
'怠惰アップグレード中',
'仕様の穴を拡張中',
'レガシーコードを温存中',
'依存関係を複雑化中',
'無駄な最適化を実施中',
'テストを省略中',
'謎のパッチを適用中',
'やる気スイッチを探索中',
'未定義動作を拡張中',
'仕様書を紛失中',
'バグを擬態化中',
'技術的負債を積立中',
'コメントを削除中',
'未来の自分に丸投げ中',
'エラーを黙殺中',
'メモリリークを再現中',
'コピペで量産中',
'意味不明な警告を生成中'
]
BAR_LENGTH = 20
DISPLAY_DURATION = 10 # 秒
def random_progress_message():
return random.choice(PROGRESS_MESSAGES)
def build_progress_bar(percent):
filled = int(BAR_LENGTH * percent // 100)
empty = BAR_LENGTH - filled
bar = '[' + '=' * filled + '>' + ' ' * (empty - 1) + ']'
return bar
def print_progress_bar(percent, message, clear=False):
bar = build_progress_bar(percent)
sys.stdout.write(f'\r{bar} {percent:3d}% {message}...')
sys.stdout.flush()
if clear:
sys.stdout.write('\n')
def animate_progress_bar():
message = random_progress_message()
percent = 0
steps = random.randint(6, 12)
increments = sorted(random.sample(range(5, 100), steps - 1)) + [100]
last = 0
start_time = time.time()
for p in increments:
for i in range(last, p, max(1, (p - last)//5)):
print_progress_bar(i, message)
time.sleep(random.uniform(0.05, 0.15))
print_progress_bar(p, message)
last = p
time.sleep(random.uniform(0.2, 0.7))
if time.time() - start_time > DISPLAY_DURATION:
break
print_progress_bar(100, message, clear=True)
# バーを消す
time.sleep(random.uniform(1.5, 3.0))
sys.stdout.write('\r' + ' ' * (BAR_LENGTH + 30) + '\r')
sys.stdout.flush()
def run_bar(args):
animate_progress_bar()
def main():
parser = argparse.ArgumentParser(
description='謎のOSアップデート進捗バーをランダム表示する無駄スキル')
subparsers = parser.add_subparsers(dest='command')
parser_run = subparsers.add_parser('run', help='進捗バーを即座に表示')
parser_run.set_defaults(func=run_bar)
parser_demo = subparsers.add_parser('demo', help='3回連続でデモ表示')
parser_demo.set_defaults(func=lambda args: [animate_progress_bar() for _ in range(3)])
args = parser.parse_args()
if hasattr(args, 'func'):
args.func(args)
else:
parser.print_help()
if __name__ == '__main__':
main()
references/design_notes.md
# 概要
このSkillは、作業中に意図的に脱力感を演出するための“無駄な進捗バー”を表示するものです。心理的な緊張緩和や、チーム内でのちょっとしたジョーク用途を想定しています。
# 公式ドキュメント抜粋
Pythonの標準ライブラリ(sys, time, random, argparse)だけで実装されており、外部依存はありません。進捗バーはターミナル互換の環境で動作します。
# 利用例
- `/random-os-fake-update-progrebar` を明示的に呼び出して、会議や作業の合間に表示
- コマンド実行時に自動発動させて、緊張を和らげる演出
# 注意点
このスキルは実務的な意味を一切持たず、進捗バーが100%になっても何も起きません。進捗内容は毎回ランダムで、実在のOSやファイルには一切影響を与えません。履歴やログも残りません。
# 設計方針
- 10秒以内に自動消去し、作業の邪魔にならない
- 進捗内容・表示タイミングは完全ランダム
- コードは100行以上で可読性と拡張性を重視
- 標準出力のみを使用し、外部ライブラリ不使用
導入手順
このSkillは GitHub で管理されているので、degit を使えば必要なフォルダだけを1コマンドで取得できます。Claude Code はファイル配置後に再起動するだけで自動認識します。
1. 前提
- Node.js v16 以上 (
degit実行に必要) - Claude Code がローカルで動いていること
2. degit でフォルダ取得
プロジェクトのルートで以下のコマンドを実行します。
npx degit aazutaku/ai-note/claude-code/random-os-fake-update-progrebar .claude/skills/random-os-fake-update-progrebar
.claude/skills/random-os-fake-update-progrebar の中に SKILL.md / scripts/ / references/ / README.md が展開されます。
3. ファイル配置確認
ls .claude/skills/random-os-fake-update-progrebar
# SKILL.md, scripts/, references/, README.md があればOK
4. Claude Code を再起動 (or Skill 自動検出を待つ)
新しいSkillが自動で認識されます。リスト確認したい場合は /random-os-fake-update-progrebar と Skill 名で出てきます。
5. 動作確認
/random-os-fake-update-progrebar で呼び出すか、自然言語で発動条件にマッチする指示を出すと 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 との連携設計はどうあるべきか?
- 進捗バーが作業時に毎回違う内容でランダム表示されるか?
- 100%になっても何も起きないことを確認
- 通知や演出が冗長すぎず、すぐ消えること
実際に Claude Code で試した検証ログは Claude Codeで謎のOSアップデート進捗バーを表示してみた! にまとめる予定 (公開準備中の場合あり)。
あわせて Claude Code 公式ドキュメント と、本シリーズ「Claude Codeを便利にするSkill提案」の他記事も参照のこと。
関連タグで他のSkill記事を探す
本記事に付いているタグから、気になるテーマの記事を探せます。タグページで関連記事をまとめて読めるので、ぜひチェックしてみてください!
