Claude Codeで仕事中の疑似業務画面を自動表示する演出の作り方

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

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

Claude Code を使っていると、思わず「これ…どうにかならない?」と感じる瞬間が多々あります。特に、作業中にふと気を抜いているタイミングで、背後から上司や同僚が近づいてくると、つい画面を隠したくなるものです。開発現場では、集中が切れた瞬間や一息ついたときに、ターミナルやエディタの画面が「遊び」や「検証用」のままになっていることも少なくありません。そんなとき、即座に「業務中です」感を演出できる仕組みが欲しいという声もよく聞かれます。

  • 作業中に突然誰かが背後に立つと、ターミナルやエディタの画面を一瞬で“真面目な業務画面”に切り替えたくなる
  • 集中が切れて息抜きしているとき、Claude Code の context や session の履歴が画面に残っていて気まずい
  • monorepo で複数の package を横断していると、どこで何をしているか分かりづらくなり、覗かれたときの印象が気になる
  • onboarding や説明中に、見られたくない作業ログや検証コードがうっかり表示されてしまう
  • AI coding workflow の途中で「今は仕事中です」とアピールしたい瞬間があるが、即座に context を切り替える手段がない

通知・演出・OS連携の観点では、こうした「一瞬で業務っぽい画面に切り替えたい」というニーズが根強く、特にClaude Code の柔軟な repository understanding や path management 機能を活かしたい場面で、演出系 Skill の需要が高まっています。

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

一言サマリ: このスキルは、作業中の画面を一瞬で“業務中”演出に切り替えるパロディ Skill。

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

  • AI coding workflow の最中に、指定コマンドやキーワードで即座に「真面目な業務画面」風のダミーウィンドウを表示できる
  • repository のどの directory で作業していても、context を損なわずに“ボスキー”演出が発動する
  • 毎回ランダムな業務レポート・進捗グラフ・コードレビュー画面風の演出が生成され、見られても安心
  • session 再開時や onboarding の説明中にも、不要な履歴や検証ログを一時的に隠すことができる
  • Claude Code の path management や repository understanding を活かしつつ、遊び心ある演出を加えられる
QUICK INSTALL
このSkillをすぐ試す

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

npx degit aazutaku/ai-note/claude-code/random-os-fake-boss-key .claude/skills/random-os-fake-boss-key

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

使う側がイメージしやすいよう、擬似 terminal で出力例を3パターン示します。

シーン1: session 開始時 (CLAUDE.md と組み合わせて)


# /random-os-fake-boss-key
> 今すぐ“真面目な業務画面”に切り替えて

=== 業務レポート: プロジェクト進捗 ===
Repository: /home/user/projects/monorepo
Directory: packages/api/
- コードレビュー進捗: 85%
- テストカバレッジ: 92%
- 本日コミット数: 14
[グラフ: テストカバレッジ推移 (日次)]
[ダミーPDFレポート: "四半期業務実績.pdf" を自動生成中...]

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


> /random-os-fake-boss-key

=== 社内ダッシュボード: システム監視 ===
Monorepo: /workspace/my-monorepo
Current package: packages/frontend/
- build 成功率: 100%
- open PR: 3件
- CI status: all green
[グラフ: PR数推移 (週次)]
[ダミーターミナル: "npm run build" ログ表示中...]

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


> /random-os-fake-boss-key

=== 顧客向けレポート: システム分析 ===
Repository: /home/user/projects/analytics/
Directory: src/report/
- データ取得件数: 12,500
- 最新アップデート: 2024/06/15
[グラフ: 月次アクセス数]
[ダミーウィンドウ: "重要指標レポート.xlsx" オープン中...]

before / after の違い

場面 Skill 無し Skill 有り
session 再開時 repo 構造から毎回説明、path も指定し直し Claude Code が自動で context を復元、最小プロンプトで再開
monorepo 移動 違う package のコードを参照しがち directory boundary を意識して必要な範囲だけ見る
長時間 workflow long context で重要箇所が薄まる “業務画面”で余計な履歴を一時的に隠し、重要な context だけに集中できる

発動方式

明示呼び出し (/random-os-fake-boss-key) と、description マッチによる暗黙発動の両方に対応しています。

Skill の中身を全部見せる

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

.claude/skills/random-os-fake-boss-key/
├── SKILL.md
├── scripts/
│   └── fake_boss_key.py
└── references/
    └── design_notes.md

各ファイルの役割

ファイル 役割
SKILL.md Skill本体。frontmatter (name/description) と指示本文。Claude Code がこの内容をエージェント指示として読み込み、ユーザーのプロンプトに応じて発動します
scripts/fake_boss_key.py ボスキー風ダミー業務画面を即座に表示します
references/design_notes.md 概要 をまとめた参考資料

SKILL.md

---
name: random-os-fake-boss-key
description: 作業中に“ボスキー”や指定コマンドを押すと、即座に業務画面風のダミーウィンドウをランダム生成して表示します。緊急時や監督者の接近時、作業中断を装いたい場面で発動してください。
---

# 機能概要
random-os-fake-boss-keyは、伝説の「ボスキー」機能を現代の開発環境に再現するスキルです。作業中に特定のコマンドやキーワードで発動すると、即座に“本物の業務画面っぽい”ウィンドウ(例: グラフ付きレポート、ダッシュボード、進捗管理画面)がランダム生成され、背後からの視線をかわします。実際の業務データは使わず、あくまでダミーの演出です。

# 使い方
- 明示呼び出し例: `/random-os-fake-boss-key` または `/skill random-os-fake-boss-key`
- 暗黙発動キーワード例: 「ボスが来た」「急に上司が」「画面を切り替えたい」「サボり防止」など
- 発動後はEscキーやCtrl+Cで元の作業画面に戻ります

# 出力例
```
=== 業務進捗ダッシュボード ===
プロジェクト: Alpha
進捗率: 87%
本日タスク: 4/5 完了
売上グラフ: |||||||||||||
リスク: 低
--------------------------
[レポート出力日時: 2024-06-10 14:22]
```

# 注意点
- 本スキルはあくまでパロディ用途です。実業務データや個人情報は一切表示しません。
- 表示内容は毎回ランダム生成されます。
- ローカル保存や履歴記録は行いません。
- 一部のターミナルやOS環境ではウィンドウ表示が制限される場合があります。

# 参考資料
詳細な設計方針やダミー画面例は references/design_notes.md を参照してください。公式Pythonドキュメント: https://docs.python.org/3/library/curses.html

scripts/fake_boss_key.py

import sys
import random
import time
import argparse
import curses
from datetime import datetime

DASHBOARD_TEMPLATES = [
    {
        'title': '業務進捗ダッシュボード',
        'fields': [
            lambda: f'プロジェクト: {random.choice(["Alpha", "Beta", "Gamma", "Omega"])}',
            lambda: f'進捗率: {random.randint(60, 99)}%',
            lambda: f'本日タスク: {random.randint(2, 8)}/{random.randint(3, 8)} 完了',
            lambda: f'売上グラフ: ' + ("|" * random.randint(8, 18)),
            lambda: f'リスク: {random.choice(["低", "中", "高"])}',
        ]
    },
    {
        'title': '営業レポート',
        'fields': [
            lambda: f'担当者: {random.choice(["佐藤", "鈴木", "田中", "高橋"])}',
            lambda: f'本日訪問件数: {random.randint(3, 12)}',
            lambda: f'成約数: {random.randint(0, 5)}',
            lambda: f'見込顧客数: {random.randint(10, 40)}',
            lambda: f'次回アクション: {random.choice(["資料送付", "訪問予定", "フォローコール"])}',
        ]
    },
    {
        'title': 'システム監視モニター',
        'fields': [
            lambda: f'CPU使用率: {random.randint(10, 95)}%',
            lambda: f'メモリ使用率: {random.randint(20, 90)}%',
            lambda: f'ネットワーク: {random.choice(["正常", "遅延", "障害"])}',
            lambda: f'アラート: {random.choice(["なし", "1件", "2件"])}',
            lambda: f'最終バックアップ: {datetime.now().strftime("%Y-%m-%d %H:%M")}',
        ]
    }
]

FOOTER = lambda: f'[レポート出力日時: {datetime.now().strftime("%Y-%m-%d %H:%M")}]'

HELP_TEXT = """
ボスキー風ダミー業務画面を即座に表示します。

使い方:
  python fake_boss_key.py [--duration 秒数] [--template N]

オプション:
  --duration 秒数   ダミー画面を表示する秒数 (省略時はEsc/Ctrl+Cで手動終了)
  --template N     テンプレート番号を指定 (0-2, 省略時はランダム)
"""

def render_dashboard(stdscr, template_idx=None):
    curses.curs_set(0)
    stdscr.clear()
    if template_idx is None:
        template = random.choice(DASHBOARD_TEMPLATES)
    else:
        template = DASHBOARD_TEMPLATES[template_idx % len(DASHBOARD_TEMPLATES)]
    maxy, maxx = stdscr.getmaxyx()
    y = 2
    x = 4
    stdscr.addstr(y, x, f'=== {template["title"]} ===', curses.A_BOLD)
    y += 2
    for field in template['fields']:
        stdscr.addstr(y, x, field())
        y += 1
    y += 1
    stdscr.addstr(y, x, '-' * (maxx - 8))
    y += 1
    stdscr.addstr(y, x, FOOTER())
    stdscr.refresh()

def wait_for_exit(stdscr, duration=None):
    if duration is not None:
        time.sleep(duration)
        return
    stdscr.nodelay(True)
    while True:
        try:
            c = stdscr.getch()
            if c in [27, 3]:  # Esc or Ctrl+C
                break
            time.sleep(0.1)
        except KeyboardInterrupt:
            break

def main():
    parser = argparse.ArgumentParser(description='ランダム業務画面ダミー (ボスキー風)')
    parser.add_argument('--duration', type=int, default=None, help='表示秒数 (省略時はEsc/Ctrl+Cで終了)')
    parser.add_argument('--template', type=int, default=None, help='テンプレート番号 (0-2)')
    parser.add_argument('--list', action='store_true', help='テンプレート一覧を表示')
    parser.add_argument('--helptext', action='store_true', help='詳細な使い方を表示')
    args = parser.parse_args()

    if args.helptext:
        print(HELP_TEXT)
        sys.exit(0)
    if args.list:
        for idx, t in enumerate(DASHBOARD_TEMPLATES):
            print(f'{idx}: {t["title"]}')
        sys.exit(0)

    try:
        curses.wrapper(render_and_wait, args.template, args.duration)
    except Exception as e:
        print(f'エラー: {e}', file=sys.stderr)
        sys.exit(1)

def render_and_wait(stdscr, template_idx, duration):
    render_dashboard(stdscr, template_idx)
    wait_for_exit(stdscr, duration)

if __name__ == '__main__':
    main()

references/design_notes.md

# 概要
このスキルは、作業中に“ボスキー”や明示コマンドを押すことで、即座に本物の業務画面風ダミーを生成・表示します。目的はパロディ的な演出や緊急時の画面切替体験の再現です。

# 公式ドキュメント抜粋
Python標準のcursesモジュールを用いて、クロスプラットフォームなターミナル描画を実現しています。詳細: https://docs.python.org/3/library/curses.html

# 利用例
- `/random-os-fake-boss-key` コマンドで即座にダミー画面を表示
- 上司の接近時や、作業中断を装いたい際のジョーク用途

# 注意点
- 実データや個人情報は一切利用せず、内容は毎回ランダム生成
- ローカルへの保存や履歴記録は行いません
- 一部のターミナル環境ではcurses描画が制限される場合があります

# 設計方針
シンプルな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-fake-boss-key .claude/skills/random-os-fake-boss-key

.claude/skills/random-os-fake-boss-key の中に SKILL.md / scripts/ / references/ / README.md が展開されます。

3. ファイル配置確認

ls .claude/skills/random-os-fake-boss-key
# SKILL.md, scripts/, references/, README.md があればOK

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

新しいSkillが自動で認識されます。リスト確認したい場合は /random-os-fake-boss-key と Skill 名で出てきます。

5. 動作確認

/random-os-fake-boss-key で呼び出すか、自然言語で発動条件にマッチする指示を出すと 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 との連携設計はどうあるべきか?
  • 指定キーやコマンドで即座にダミー画面へ切り替わるか?
  • 本物の業務画面っぽい演出が毎回ランダム生成されるか?
  • 元の作業画面へすぐ戻れるか?

実際に Claude Code で試した検証ログは Claude Codeで通知・演出・OS連携Skillを試してみた結果 にまとめる予定 (公開準備中の場合あり)。
あわせて Claude Code 公式ドキュメント と、本シリーズ「Claude Codeを便利にするSkill提案」の他記事も参照のこと。

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

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

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

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