Claude Codeで楽しむ自己肯定感を高める演出の作り方入門

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

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

Claude Code を使った開発現場では、日々の作業やAIとのやりとりの中で、ちょっとした「気の抜ける」瞬間や、単調なコマンド操作に飽きてしまうことがよくあります。特に通知や演出の要素が少ないと、長時間の作業で集中力が切れてしまうことも。「今日はやる気が出ない」「バグに負けそう」「また同じ説明をAIにしている…」といった気持ちに、ちょっとした遊び心や気晴らしがほしくなることもあるでしょう。

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

こうした悩みの裏には、AI coding workflow の単調さや、通知・演出不足によるモチベーション低下が潜んでいます。「どうせなら、意味不明でもいいから謎の演出で気分転換したい」と感じたことはありませんか?

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

一言サマリ: このスキルは、コマンド実行時やAIとのやりとりに、謎の“OS自己肯定感ハイプバー”を出現させ、単調なAI coding workflowに遊び心とモチベーションを注入します。

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

  • Claude Code のコマンド実行やディレクトリ移動時に、意味不明な「やればできる度」などのハイプバーが毎回ランダムで出現し、ちょっとした演出を楽しめる
  • monorepo で package を跨いだ際や長時間の作業中でも、自己肯定感を盛り上げる通知が届き、ちょっとした気分転換になる
  • repository understanding や context 管理の合間に、記憶や成果に関係なく“盛り上がる”演出で面白みが増す
  • AI coding workflow の中で、実用性をあえて排除した意味不明な演出が、チームや個人の会話のネタになる
  • 長時間のonboardingやパス管理に疲れた時も、ハイプバーで気分をリセットできる
QUICK INSTALL
このSkillをすぐ試す

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

npx degit aazutaku/ai-note/claude-code/random-os-motivational-hypebar .claude/skills/random-os-motivational-hypebar

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

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

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


# /random-os-motivational-hypebar
> セッション開始

[OS Motivational HypeBar]
やればできる度: 97/100
バグ耐性ゲージ: 42%
今日のやる気残量: 1337/2048
-------------------------------
ヒント: この session での自己肯定感は爆上がりです(根拠なし)

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


> cd packages/core && ls

[OS Motivational HypeBar]
リファクタリング適性: 12%
パッケージ横断力: 88/100
今週の運気: SSSランク
-------------------------------
※この数値は完全にランダムです。深く考えないでください。

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


> echo "今日はバグゼロでいくぞ!"

[OS Motivational HypeBar]
バグ遭遇予報: 0.01%
自己肯定感: MAX
ディレクトリアウェアネス: 73/100
-------------------------------
あなたのAI coding workflowは今、全宇宙で注目されています(たぶん)

before / after の違い

場面 Skill 無し Skill 有り
session 再開時 repo 構造から毎回説明、path も指定し直し Claude Code が自動で context を復元、最小プロンプトで再開+ハイプバーで自己肯定感UP
monorepo 移動 違う package のコードを参照しがち directory boundary を意識して必要な範囲だけ見る+謎のパラメータで盛り上がる
長時間 workflow long context で重要箇所が薄まる 途中でハイプバーが出現し、気分転換できる

発動方式

明示呼び出し (/random-os-motivational-hypebar) と暗黙発動 (「やる気」「ハイプバー」などのワードや、コマンド実行時) の両方に対応。

Skill の中身を全部見せる

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

.claude/skills/random-os-motivational-hypebar/
├── SKILL.md
├── scripts/
│   └── hypebar.py
└── references/
    └── design_notes.md

各ファイルの役割

ファイル 役割
SKILL.md Skill本体。frontmatter (name/description) と指示本文。Claude Code がこの内容をエージェント指示として読み込み、ユーザーのプロンプトに応じて発動します
scripts/hypebar.py OS自己肯定感ハイプバー
references/design_notes.md 概要 をまとめた参考資料

SKILL.md

---
name: random-os-motivational-hypebar
description: コマンド実行時やエディタ操作時など、ユーザーの作業アクションに反応し、毎回ランダムな“自己肯定感ハイプバー”を画面端やメニューバーに表示します。パラメータ名・数値は完全にランダムかつ意味不明で、進捗や成果には一切関係ありません。明示呼び出しは /random-os-motivational-hypebar で可能です。
---

# 機能概要
このSkillは、ターミナルやエディタでコマンドを実行するたびに、画面端やメニューバーに“OS自己肯定感ハイプバー”を出現させます。バーには「やればできる度」「バグ耐性ゲージ」「今日のやる気残量」など、毎回ランダムなパラメータ名と、まったく根拠のない数値が表示されます。進捗や成果とは無関係に、ユーザーの自己肯定感だけを謎に盛り上げるカオスな演出を提供します。

# 使い方
- 明示呼び出し: `/random-os-motivational-hypebar`
- 暗黙発動: ターミナルでコマンド実行時、またはエディタでファイル保存・ビルド・実行などのアクション時に自動発動します。
- 設定不要、Skill有効化のみで毎回自動表示されます。

# 出力例
```
[OS自己肯定感ハイプバー]
やればできる度: 97%
バグ耐性ゲージ: 12%
今日のやる気残量: 88%
カオス指数: 42%
進捗予測不能度: 76%
```

# 注意点
- 表示されるパラメータ・数値は完全にランダムで、実用性や正確性は一切ありません。
- 本Skillは通知・演出目的のみであり、進捗管理やヘルスチェック等には利用できません。
- ローカルに履歴やデータは保存されません。
- 除外パス: システムディレクトリや自動スクリプト実行時には発動しません。

# 参考資料
- references/design_notes.md
- https://ai-note.tech/skills/random-os-motivational-hypebar

scripts/hypebar.py

import sys
import argparse
import random
import time
import os
from typing import List, Dict

HYPEBAR_PARAMS = [
    "やればできる度",
    "バグ耐性ゲージ",
    "今日のやる気残量",
    "カオス指数",
    "進捗予測不能度",
    "謎パワー充填率",
    "OS愛着度",
    "自己肯定感ブースト",
    "無敵モード発動率",
    "デバッグ運勢"
]


def random_param_set() -> List[Dict[str, str]]:
    num_params = random.randint(3, 6)
    selected = random.sample(HYPEBAR_PARAMS, num_params)
    result = []
    for name in selected:
        if "度" in name or "率" in name or "指数" in name or "ゲージ" in name or "残量" in name or "発動率" in name:
            value = f"{random.randint(0, 100)}%"
        elif "運勢" in name:
            value = random.choice(["大吉", "中吉", "小吉", "凶", "超吉", "謎"])
        else:
            value = str(random.randint(0, 9999))
        result.append({"name": name, "value": value})
    return result


def print_hypebar():
    print("[OS自己肯定感ハイプバー]")
    for param in random_param_set():
        print(f"{param['name']}: {param['value']}")


def log_hypebar(logfile: str):
    params = random_param_set()
    with open(logfile, 'a', encoding='utf-8') as f:
        f.write(f"[OS自己肯定感ハイプバー] {time.strftime('%Y-%m-%d %H:%M:%S')}\n")
        for param in params:
            f.write(f"{param['name']}: {param['value']}\n")
        f.write("\n")


def list_history(logfile: str, count: int):
    if not os.path.exists(logfile):
        print("履歴ファイルがありません。")
        return
    with open(logfile, encoding='utf-8') as f:
        lines = f.readlines()
    blocks = []
    block = []
    for line in lines:
        if line.startswith('[OS自己肯定感ハイプバー]') and block:
            blocks.append(block)
            block = [line]
        else:
            block.append(line)
    if block:
        blocks.append(block)
    for b in blocks[-count:]:
        print(''.join(b))


def summary_stats(logfile: str):
    if not os.path.exists(logfile):
        print("履歴ファイルがありません。")
        return
    param_counts = {}
    with open(logfile, encoding='utf-8') as f:
        for line in f:
            for name in HYPEBAR_PARAMS:
                if line.startswith(name):
                    param_counts[name] = param_counts.get(name, 0) + 1
    print("パラメータ出現回数:")
    for name, count in sorted(param_counts.items(), key=lambda x: -x[1]):
        print(f"{name}: {count}回")


def main():
    parser = argparse.ArgumentParser(description='OS自己肯定感ハイプバー')
    subparsers = parser.add_subparsers(dest='command')

    parser_show = subparsers.add_parser('show', help='ハイプバーを表示')

    parser_log = subparsers.add_parser('log', help='ハイプバーを履歴に記録')
    parser_log.add_argument('--file', default='hypebar.log', help='履歴ファイル')

    parser_list = subparsers.add_parser('list', help='履歴を表示')
    parser_list.add_argument('--file', default='hypebar.log', help='履歴ファイル')
    parser_list.add_argument('--count', type=int, default=5, help='表示件数')

    parser_summary = subparsers.add_parser('summary', help='パラメータ出現回数を集計')
    parser_summary.add_argument('--file', default='hypebar.log', help='履歴ファイル')

    args = parser.parse_args()

    if args.command == 'show' or args.command is None:
        print_hypebar()
    elif args.command == 'log':
        log_hypebar(args.file)
        print("ハイプバーを記録しました。")
    elif args.command == 'list':
        list_history(args.file, args.count)
    elif args.command == 'summary':
        summary_stats(args.file)
    else:
        parser.print_help()

if __name__ == '__main__':
    main()

references/design_notes.md

# 概要
このSkillは、ユーザーの作業アクションごとに完全にランダムな“自己肯定感ハイプバー”を表示することで、作業の合間にユーモラスな演出を提供します。実用性や正確性を一切持たず、気分転換やモチベーションの演出に特化しています。

# 設計方針
- パラメータ名・数値は毎回ランダム生成し、同じ組み合わせが続かないよう工夫しています。
- ログ機能や履歴集計も実装し、過去の“ハイプバー”を振り返ることも可能です。
- システムや実際の進捗とは無関係で、あくまで通知・演出目的です。

# 利用例
- コマンド実行時に自動でハイプバー表示
- `/random-os-motivational-hypebar` で明示呼び出し
- 履歴や集計を活用してカオスな変遷を楽しむ

# 注意点
- 実際の作業進捗や健康状態の指標には一切なりません。
- システムディレクトリや自動バッチ処理時には発動しません。

# 公式ドキュメント抜粋
- https://ai-note.tech/skills/random-os-motivational-hypebar

導入手順

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

1. 前提

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

2. degit でフォルダ取得

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

npx degit aazutaku/ai-note/claude-code/random-os-motivational-hypebar .claude/skills/random-os-motivational-hypebar

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

3. ファイル配置確認

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

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

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

5. 動作確認

/random-os-motivational-hypebar で呼び出すか、自然言語で発動条件にマッチする指示を出すと 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をコピーしました!
目次