Claude Codeで不条理なOS通知を演出するSkillの作り方ガイド

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

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

Claude Code を使っていると、集中して作業している最中にふとした瞬間に「現実逃避したい」「ちょっとした息抜きがほしい」と感じることが多いものです。特に長時間の repository 作業や、複雑な monorepo の directory を行き来していると、思わず頭の中で突飛なコマンドや妄想コマンドを考えてしまうことも。「もしもOSが自分の心を読んでくれたら…」といったシュールな願望が湧く瞬間も、開発者なら一度は経験したことがあるのではないでしょうか。

  • Claude Code がいつの間にか違う directory を見始めて、想定外のファイルを読みに行く
  • monorepo で package を跨いだ瞬間、Claude Code が repo 構造を忘れる
  • session を再開すると、前回までの context や path 指定をまるごと再説明しないといけない
  • 長時間 workflow で long context が膨らみすぎて、important な情報が薄まる (stale context)
  • 「ここはこういう構造のリポジトリ」というあらすじを毎回チャットの冒頭で書く羽目になる

こうした悩みを抱えつつ、通知や演出でちょっとした気分転換や笑いがほしい…そんなシーンにぴったりな Skill を提案します。

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

一言サマリ: このスキルは、作業中に突如「OSがあなたの心を読んだ」風のフェイクコマンド通知を表示し、真面目な開発 workflow に不条理な笑いと現実逃避の余白を提供します。

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

  • Claude Code の AI coding workflow に「妄想コマンド通知」という遊び心ある context を注入できる
  • repository understanding や directory path management の合間に、意図的に現実逃避のトリガーを作れる
  • onboarding 時や長時間作業時の緊張感を和らげ、チーム内のコミュニケーションネタとしても活用できる
  • フェイク通知なので memory や repo の実データに影響せず、安全な演出が可能
  • Skill の明示呼び出しと自動発動の両対応で、好きなタイミングで「OSテレパシー」体験ができる
QUICK INSTALL
このSkillをすぐ試す

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

npx degit aazutaku/ai-note/claude-code/random-os-fake-telepathic-command-alert .claude/skills/random-os-fake-telepathic-command-alert

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

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

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


# /random-os-fake-telepathic-command-alert

[OS Notification]
念波検出:'make coffee'
システムがあなたの心の中で思ったコマンドをキャッチしました。
これは実行されません。引き続き repository の理解を進めます。

(Claude Code: 

Skill の中身を全部見せる

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

.claude/skills/random-os-fake-telepathic-command-alert/
├── SKILL.md
├── scripts/
│   └── telepathic_alert.py
└── references/
    └── design_notes.md

各ファイルの役割

ファイル 役割
SKILL.md Skill本体。frontmatter (name/description) と指示本文。Claude Code がこの内容をエージェント指示として読み込み、ユーザーのプロンプトに応じて発動します
scripts/telepathic_alert.py OSが読心術で検出した架空コマンド通知をランダム表示するSkill
references/design_notes.md 概要 をまとめた参考資料

SKILL.md

---
name: random-os-fake-telepathic-command-alert
description: 作業中やコマンド実行の合間、または明示的な /random-os-fake-telepathic-command-alert 呼び出し時に、OSが“読心術”で検出したかのような架空コマンド通知をランダム表示。通知・演出・OS連携カテゴリ向け。
---

# 機能概要
このSkillは、あなたの作業中やコマンド実行の合間に、OSがまるで“読心術”を身につけたかのようなフェイク通知をランダムに表示します。通知内容は毎回異なり、「あなたが心で考えたコマンドをOSが検出しました:'make coffee'」や「念波キャッチ:'deploy to mars'」など、絶対に実行されない妄想コマンドばかり。これにより、真面目な作業空間に不条理な笑いと現実逃避の余白をもたらします。実際のシステムコマンドやデータには一切触れず、安全性とユーモアを両立しています。

# 使い方
- 明示呼び出し例:
  `/random-os-fake-telepathic-command-alert`
- 暗黙発動キーワード例:
  - "コマンド実行待ち"
  - "作業中断"
  - "集中力低下"
  - "エディタ切替"
Skillはこれらの状況で自動的に発動し、ランダムなテレパシー通知を表示します。

# 出力例
```
[Telepathic OS Alert]
あなたが心の中で考えたコマンドを検出しました: 'brew install happiness'

[Telepathic OS Alert]
念波キャッチ: 'sudo teleport /workspace moon_base'

[Telepathic OS Alert]
OSがあなたの妄想コマンドを感知: 'git push --force-to-parallel-universe'

[Telepathic OS Alert]
読心術発動: 'make coffee'

[Telepathic OS Alert]
未知のコマンドが念波で伝わりました: 'deploy to mars'
```

# 注意点
- 実在のコマンドやデータ、ファイルには一切アクセスしません。
- 通知内容は完全にランダム生成され、実行されることはありません。
- ローカル保存や履歴管理は行いません。
- 本Skillはユーモア・演出目的であり、業務用途には適しません。

# 参考資料
- [references/design_notes.md](references/design_notes.md)
- [Python公式: notifications/OS通知API](https://docs.python.org/3/library/subprocess.html)
- [OS通知の実装例](https://github.com/jithurjacob/Windows-10-Toast-Notifications)

scripts/telepathic_alert.py

import sys
import argparse
import random
import time
import platform
import subprocess
from typing import List

# テレパシーコマンド候補
FAKE_COMMANDS = [
    "make coffee",
    "brew install happiness",
    "sudo teleport /workspace moon_base",
    "git push --force-to-parallel-universe",
    "deploy to mars",
    "rm -rf /anxiety",
    "activate time_machine",
    "pip install dreams",
    "open portal --to=vacation",
    "chmod +x /motivation",
    "start quantum-debugger",
    "echo 'hello multiverse'",
    "docker run -it unicorn:latest",
    "ssh root@telepathy-server",
    "cat /etc/telepathy.conf",
    "ls /hidden/desires",
    "sudo reboot universe",
    "git merge --strategy=telepathy",
    "npm install --global inspiration",
    "python -m daydream"
]

# テレパシー通知メッセージテンプレート
TEMPLATES = [
    "あなたが心の中で考えたコマンドを検出しました: '{cmd}'",
    "念波キャッチ: '{cmd}'",
    "OSがあなたの妄想コマンドを感知: '{cmd}'",
    "読心術発動: '{cmd}'",
    "未知のコマンドが念波で伝わりました: '{cmd}'",
    "テレパシー通信受信: '{cmd}'",
    "OSがあなたの未来予想コマンドを捕捉: '{cmd}'",
    "サイキック検出: '{cmd}'",
    "脳内コマンドインターセプト: '{cmd}'",
    "OSがあなたの思念を読み取りました: '{cmd}'"
]

# OS通知を送信する(クロスプラットフォーム対応)
def send_notification(message: str):
    system = platform.system()
    if system == "Darwin":  # macOS
        script = f'display notification "{message}" with title "Telepathic OS Alert"'
        subprocess.run(["osascript", "-e", script], check=False)
    elif system == "Linux":
        try:
            subprocess.run(["notify-send", "Telepathic OS Alert", message], check=False)
        except FileNotFoundError:
            print(f"[Telepathic OS Alert]\n{message}")
    elif system == "Windows":
        try:
            from win10toast import ToastNotifier
            toaster = ToastNotifier()
            toaster.show_toast("Telepathic OS Alert", message, duration=5)
        except ImportError:
            print(f"[Telepathic OS Alert]\n{message}")
    else:
        print(f"[Telepathic OS Alert]\n{message}")

# ランダムなフェイク通知を生成
def generate_fake_alert() -> str:
    cmd = random.choice(FAKE_COMMANDS)
    template = random.choice(TEMPLATES)
    return template.format(cmd=cmd)

# ログ保存はしないが、出力履歴用にメモリ保持(デモ用)
ALERT_HISTORY: List[str] = []

# コマンド: 通知を1回表示
def alert_once(args):
    message = generate_fake_alert()
    send_notification(message)
    ALERT_HISTORY.append(message)
    print(f"[Telepathic OS Alert]\n{message}")

# コマンド: 指定回数通知
def alert_multi(args):
    count = args.count
    interval = args.interval
    for _ in range(count):
        alert_once(args)
        time.sleep(interval)

# コマンド: 履歴リスト(このSkillではメモリのみ)
def alert_list(args):
    if not ALERT_HISTORY:
        print("まだ通知履歴はありません。")
    else:
        print("--- Telepathic OS Alert 履歴 ---")
        for i, msg in enumerate(ALERT_HISTORY, 1):
            print(f"{i:02d}: {msg}")

# コマンド: サマリー
def alert_summary(args):
    print(f"通知回数: {len(ALERT_HISTORY)}")
    if ALERT_HISTORY:
        print(f"最新通知: {ALERT_HISTORY[-1]}")

# 引数パーサ
def build_parser():
    parser = argparse.ArgumentParser(
        description="OSが読心術で検出した架空コマンド通知をランダム表示するSkill"
    )
    subparsers = parser.add_subparsers(dest="command")
    # alert once
    p_once = subparsers.add_parser("alert", help="1回だけ通知を表示")
    p_once.set_defaults(func=alert_once)
    # alert multi
    p_multi = subparsers.add_parser("multi", help="複数回ランダム通知")
    p_multi.add_argument("--count", type=int, default=3, help="通知回数")
    p_multi.add_argument("--interval", type=float, default=2.0, help="通知間隔(秒)")
    p_multi.set_defaults(func=alert_multi)
    # list
    p_list = subparsers.add_parser("list", help="通知履歴を表示")
    p_list.set_defaults(func=alert_list)
    # summary
    p_summary = subparsers.add_parser("summary", help="通知サマリーを表示")
    p_summary.set_defaults(func=alert_summary)
    return parser

# メインエントリ
if __name__ == '__main__':
    parser = build_parser()
    args = parser.parse_args()
    if hasattr(args, 'func'):
        args.func(args)
    else:
        parser.print_help()

references/design_notes.md

# 概要
本Skillは、実際のOSコマンドやユーザーデータに一切アクセスせず、完全にランダムな“フェイクコマンド”通知を生成します。作業中の息抜きや、集中力が切れたタイミングで不条理な演出を提供することを目的としています。

# 公式ドキュメント抜粋
- Pythonの`subprocess`や`platform`モジュールを使い、OSごとの通知APIに対応。
- Windowsの場合は`win10toast`パッケージを利用(インストールされていない場合は標準出力)。
- [notify-send](https://specifications.freedesktop.org/notification-spec/notification-spec-latest.html)(Linux)、[osascript](https://developer.apple.com/library/archive/documentation/AppleScript/Conceptual/AppleScriptLangGuide/introduction/ASLR_intro.html)(macOS)対応。

# 利用例
- `/random-os-fake-telepathic-command-alert`で明示的に発動
- 作業の合間やコマンド実行後に自動発動
- Slackやチャットの雑談ネタとしても活用可能

# 注意点
- 通知内容は完全に架空で、実行・記録・保存はされません。
- ユーザーのプライバシーやセキュリティに配慮し、実データには一切触れません。

# 設計方針
- ランダム性と安全性を重視し、妄想コマンドのバリエーションを豊富に用意。
- OSごとに適切な通知APIを選択し、環境依存の問題を回避。
- 履歴管理はメモリのみ(Skill実行中のみ有効)。

導入手順

この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-telepathic-command-alert .claude/skills/random-os-fake-telepathic-command-alert

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

3. ファイル配置確認

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

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

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

5. 動作確認

/random-os-fake-telepathic-command-alert で呼び出すか、自然言語で発動条件にマッチする指示を出すと 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 の謎テレパシー通知を実際に使ってみた! にまとめる予定 (公開準備中の場合あり)。
あわせて Claude Code 公式ドキュメント と、本シリーズ「Claude Codeを便利にするSkill提案」の他記事も参照のこと。

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

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

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

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