1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

あなたのCLAUDE.mdの"性格"を診断するツールを作った——11タイプの判定ロジック

1
Last updated at Posted at 2026-03-05

あなたのCLAUDE.mdの"性格"を診断するツールを作った——11タイプの判定ロジック

CLAUDE.mdを使い込んでいる人が増えてきた。チームの規約をびっしり書く人。3行で終わる人。Git操作を全面禁止する人。自由放任の人。

でも、自分のCLAUDE.mdがどんな"性格"なのか、客観的に見たことはあるだろうか。

CC Roast — CLAUDE.mdの辛口診断ツール

CC Roastは、CLAUDE.mdのテキストを正規表現ベースで分析し、11種類の

:::details 初心者向け: 正規表現とは
テキストの中から特定のパターンを検索するための記法。例えば「NEVER」という単語が何回出てくるか数えたり、「禁止」「するな」などの日本語表現をまとめて検索したりできる。プログラミングの文字列検索でよく使われる基本ツールだ。
:::
"性格タイプ"と4つのスコアを返すブラウザツールだ。

ファイルを選択するか、テキストを貼り付けるだけ。データはブラウザの中で完結し、外部に送信されない。

11種類の性格タイプ(Verdict)

判定は上から順に評価され、最初にマッチした条件が採用される。優先順位がそのまま判定ロジックになっている。

# Verdict 判定条件
1 S-Tier Micromanager strict指示25個超 AND 200行超
2 Helicopter Operator strict指示15個超
3 The Novelist 500行超
4 Security Paranoid セキュリティ言及5回超 AND git安全ルールあり
5 Overengineered Perfection 複雑度スコア70超 AND 100行超
6 Vibes Only strict指示3未満 AND 50行未満
7 The Minimalist 15〜60行
8 Sticky Note Energy 15行未満
9 Well-Balanced Config 網羅度60超 AND strict指示15以下 AND 40〜200行
10 Trust Fund AI 30行未満 AND strict指示2未満
11 Standard Issue Operator 上記すべて非該当(フォールバック)

VERDICTS.find(v => v.check(a))で最初にマッチしたものが返る。配列の順番が優先度そのものだ。

:::details 初心者向け: この判定ロジックの仕組み
11個の性格タイプが「優先度順」に並んでいて、上から順番にチェックする。最初に条件を満たしたタイプが診断結果になる。健康診断で「まず重病をチェック→次に中程度→最後に健康」と上から順に確認するのと同じ仕組みだ。
:::

4つのスコア(0〜100)

Verbosity(冗長度)

行数ベースのシンプルな段階評価。

function verbosityScore(a) {
  if (a.lineCount < 20) return 10;
  if (a.lineCount < 50) return 25;
  if (a.lineCount < 100) return 40;
  if (a.lineCount < 200) return 55;
  if (a.lineCount < 500) return 75;
  return 100;
}

200行を超えたあたりから「書きすぎ」判定が始まる。

Strictness(厳格度)

strict指示の密度(1000語あたりの出現数)で評価する。文章全体に対して禁止表現がどれくらい散りばめられているかの濃度のようなものだ。

function strictnessScore(a) {
  const density = a.strictTotal / Math.max(a.wordCount, 1) * 1000;
  // density < 2 → 10, < 5 → 25, < 10 → 40, < 20 → 60, < 35 → 80, else 100
}

ここでカウントされるキーワードが面白い。英語だけでなく日本語のstrict表現も検出する。

// English
const nevers = (text.match(/\bNEVER\b/gi) || []).length;
const donts = (text.match(/\bDO NOT\b|\bDON'T\b/gi) || []).length;
const always = (text.match(/\bALWAYS\b/gi) || []).length;
const musts = (text.match(/\bMUST\b/gi) || []).length;

// Japanese
const jpForbidden = (text.match(/禁止/g) || []).length;
const jpDontDo = (text.match(/するな|してはいけない|するべからず/g) || []).length;
const jpAbsolute = (text.match(/絶対/g) || []).length;
const jpMust = (text.match(/必ず/g) || []).length;
const jpStrictOrder = (text.match(/厳命/g) || []).length;

日本語でCLAUDE.mdを書いている人にも正しくスコアが出る設計になっている。

Complexity(複雑度)

ヘッダー数、コードブロック数、テーブル数、リスト数を加算する。構造が複雑なほどスコアが上がる。

Thoroughness(網羅度)

git安全ルール、テスト言及、セキュリティ言及、CI/CD言及、エラーハンドリング言及の有無をチェックする。実務上カバーすべき領域をどれだけ押さえているかの指標だ。

実際に自分のCLAUDE.mdを食わせた結果

3ファイル合計342行のCLAUDE.mdを投入した結果がこれだ。

Verdict: S-Tier Micromanager
"Your AI has less autonomy than a vending machine"(自動販売機よりAIに自由がない)

スコア
Verbosity 75/100
Strictness 80/100
Complexity 68/100
Thoroughness 85/100

33個のstrict指示。52個のセクションヘッダー。ツールに「セルフヘルプ本より章立てが多い」と言われた。

ロースト(辛口コメント)の一部:

  • 「342行。AIの振る舞いについて相当な意見をお持ちだ。これより短い行数でアプリが書ける」
  • 「TODO/FIXMEが2個。設定ファイルにまで技術的負債がある」

褒めもある:

  • 「gitの安全ルールは本当に良い。リポジトリが感謝している」

なぜロースト形式にしたのか

「Thoroughness 42/100」と表示されても、翌日には忘れる。

「あなたの.envファイルがGitHubで勝利パレード中」と言われたら忘れない。

フィードバックは笑えるほうが記憶に残る。各ロースト項目は実際の改善ポイントに対応している。

  • 「git安全ルールがない?大胆だな」→ git安全ルールを追加すべき
  • 「テストの言及がゼロ」→ テスト要件を書くべき
  • 「フックが15個。安全ネットでできた安全ネット」→ フックを整理すべきかも

技術的な仕組み

  • ゼロ依存。単一HTMLファイル。約1000行
  • 正規表現ベースのテキスト分析(LLM不使用)
  • ファイル選択はFile System Access API(webkitdirectory

:::details 初心者向け: File System Access APIとは
ブラウザからパソコン内のファイルを読み書きできる仕組み。通常、ブラウザはセキュリティ上パソコン内のファイルに直接アクセスできないが、このAPIを使うとユーザーが明示的に選んだファイルだけを読み込める。データがサーバーに送られず、ブラウザ内で完結するのが特徴。
:::

  • 日英バイリンガル対応(UIもロースト文も切り替え可能)
  • シェアカード生成(Twitter共有・クリップボードコピー)

試し方

  1. CC Roast を開く
  2. 「Pick CLAUDE.md File」をクリックしてファイルを選択(またはテキストを直接貼り付け)
  3. 診断結果を見る
  4. 勇気があればシェアする

あなたのCLAUDE.mdは何タイプだっただろうか。

CLAUDE.mdの設計パターンをもっと深く知りたい方へ
Anthropic公式ガイドにない事故防止——Claude Code 800+時間で19点→85点にした全記録では、CLAUDE.mdの構成、Skillsの設計、Hooksの実装まで体系的に解説しています。

「AIに任せて大丈夫なのか」という不安を持ったまま800時間使い続けた記録は非エンジニアがClaude Codeを800時間走らせた——失敗と学びの全記録(¥800・第2章まで無料)に書いた。

関連記事

自分のトークン消費パターンを確認したい方へ
Token Checkupで5つの質問に答えるだけでトークン消費の診断ができる。Hook Selectorで最適なhookセットも分かる。


📖 トークン消費に困っているならClaude Codeのトークン消費を半分にする——800時間の運用データから見つけた実践テクニック(¥2,500・はじめに+第1章 無料)


関連記事: Claude Codeのトークン消費を減らす5つの方法——Opus 4.7対応


⚠️ CVE-2026-21852(2026年4月公開): プロジェクト内.claude/settings.json経由でAPIキー窃盗。対策: npx cc-safe-setup(ユーザーレベル設定で免疫)→ 詳細

⚠️ Opus 4.7緊急情報(2026年4月17日)
Opus 4.7のauto mode安全分類器がOpus 4.6にハードコードされている問題が発覚。3日間で23件以上のデータ損失。さらにv2.1.100以降、APIコールごとに約20,000トークンが見えない場所で追加課金されている問題も判明(#46917、GitHub上196件のリアクション)(50GB永久消失含む)。4倍のトークン消費も報告されている。対策: npx cc-safe-setup --opus47Survival Guide / Safety Scanner


📚 主張と実態の乖離の事例の整理と防衛の手順

本記事の CLAUDE.md の 11 タイプの診断の延長で、 利用者が指定した規則が圧縮や読み込みの段で失われる事故 (起票 #58513 / #58514 / #58515 / #58916 / #60226) が継続的に発生しています。 「規則を書いた」 と利用者が信じていた状態と、 実機の動作の乖離。

5/22 発売の Claude Code Claim-Verify Handbook で、 同型の主張と実態の乖離の事例を 130 件 (本文 15 件 + 付録 D 115 件) に整理した試し読み (無料、 約 9,900 字、 JP) を公開済。 4 月から 5 月の運用の事故の総括は、 Postmortems (Gumroad、 ¥4,350) に納めています (試し読み Gist - Incident #1: Cache TTL silent regression)。

購入の検討の判断の助け (Should I buy the Claim-Verify Handbook?) の対話型の道具で、 無料の hook の解説で十分の場合の判定の経路も articulate しています。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?