Claude Code Tools

genshijin

github

genshijin 原始人 🗿| Claude Code / Codex等AIエージェント 向け超圧縮コミュニケーションスキル。caveman の日本語版をベースに、日本語特有の冗長表現に最適化。

Stars
⭐ 169
License
MIT
Last Updated
2026-05-19
Source
github

genshijin 原始人 🗿

なぜ多くトークン使う?少なくて済む🗿

Stars Last Commit License

Claude Code 公式プラグインディレクトリに公開済み。/plugin install genshijin でワンライナーインストール。

Claude Code / Codex 向けの超圧縮コミュニケーションスキル。caveman の日本語版をベースに、日本語特有の冗長表現に最適化。

トークン使用量を 約75%削減 しつつ、技術的正確性は100%維持。 コミット生成・PRレビュー・メモリ圧縮の用途別サブスキルも同梱。

日本語への最適化ポイント

英語版 caveman は冠詞(a/an/the)やフィラーの削除が中心だが、日本語版は以下に対応:

英語版の削減対象日本語版の削減対象
冠詞 (a/an/the)敬語・丁寧語 (です/ます/ございます)
フィラー (just/really/basically)クッション言葉 (えーと/まあ/基本的に/一応)
前置き (Sure! I’d be happy to…)前置き表現 (ご質問ありがとうございます…)
ぼかし (might/perhaps/likely)ぼかし (〜かもしれません/おそらく/〜と思われます)
冗長表現冗長な助詞連続・敬語の二重化

インストール

方法1: Claude Code 公式プラグインディレクトリ(推奨)

Claude Code 内で以下を実行:

/plugin install genshijin

Anthropic 公式 プラグインディレクトリ に公開済み。marketplace add 不要。

方法1b: GitHub 直接インストール(開発版)

claude plugin marketplace add InterfaceX-co-jp/genshijin
/plugin install genshijin@InterfaceX-co-jp/genshijin

main ブランチ最新を取得したい場合。

方法2: npx skills(サードパーティ)

npx skills add InterfaceX-co-jp/genshijin

方法3: 手動インストール

プロジェクト単位(このリポジトリだけに適用):

# リポジトリのルートで実行
mkdir -p .claude/skills/genshijin
curl -o .claude/skills/genshijin/SKILL.md \
  https://raw.githubusercontent.com/InterfaceX-co-jp/genshijin/main/skills/genshijin/SKILL.md

グローバル(すべてのプロジェクトに適用):

mkdir -p ~/.claude/skills/genshijin
curl -o ~/.claude/skills/genshijin/SKILL.md \
  https://raw.githubusercontent.com/InterfaceX-co-jp/genshijin/main/skills/genshijin/SKILL.md

方法4: 一時的に使う

claude --plugin-dir ./path/to/genshijin

使い方

/genshijin          # 通常モード(デフォルト)で起動
/genshijin 丁寧     # ビジネス向け簡潔体
/genshijin 極限     # 最大圧縮

会話中に 原始人やめて または 通常モード で解除。

3段階の強度

丁寧モード

クッション言葉・ぼかし表現を削除。敬語は維持。ビジネスメール向き。

Before:

ご質問ありがとうございます。お調べしたところ、こちらの問題につきましては、認証ミドルウェアにおけるトークンの有効期限チェックの部分に原因がある可能性が考えられます。

After:

コンポーネントが再レンダリングされるのは、レンダリングごとに新しいオブジェクト参照が生成されるためです。useMemoで解決できます。

通常モード(デフォルト)

敬語を落とし体言止め。助詞も最小限。原始人の基本形。

Before:

こちらの問題は、レンダリングが行われるたびに新しいオブジェクトの参照が生成されてしまうことが原因となっております。

After:

レンダリング毎に新オブジェクト参照が生成。インラインオブジェクトprop = 新しい参照 = 再レンダリング。useMemoで包む。

極限モード

略語・矢印記法・一語回答。電報のような圧縮。

Before:

データベースのコネクションプーリングというのは、リクエストが来るたびに新しい接続を確立するのではなく、あらかじめ作成しておいた接続を再利用する仕組みのことです。

After:

プール = DB接続再利用。ハンドシェイク省略 → 高負荷時に高速。

サブスキル

本体 /genshijin に加え、用途別サブスキル6個同梱。

スキルトリガー内容
genshijin-commit/genshijin-commitConventional Commits 形式の簡潔コミットメッセージ。件名≤50文字、「なぜ」重視
genshijin-review/genshijin-review1行PRコメント L42: 🔴 バグ: user null。ガード追加。
genshijin-compress/genshijin-compress <file>CLAUDE.md 等のメモリファイルを原始人モード化し入力トークン永続削減
genshijin-stats (v1.4.0〜)/genshijin-stats [--share / --all / --since 7d]現セッションのリアルトークン使用量+推定削減量+USD換算をフックが即時表示
genshijin-crew (v1.4.0〜)(auto)3 subagent preset (investigator/builder/reviewer)。tool-result 原始人圧縮で主コンテキスト約60%減
genshijin-help/genshijin-help全モード・サブスキル・設定方法のリファレンスカード

genshijin-compress について

CLAUDE.md はセッション開始毎に読込 → 圧縮で 毎回 の入力トークン削減。

使い始め(3ステップ)

1. 前提準備

Python 3.10+ に加え、以下いずれか:

# オプションA: API key 直接利用
pip install anthropic
export ANTHROPIC_API_KEY=sk-ant-...

# オプションB: claude CLI ログイン済みなら 追加設定不要(CLI fallback)
claude --version

2. 対象ファイル選定

典型的な圧縮対象:

  • ~/.claude/CLAUDE.md — ユーザー全体メモリ(全セッションで毎回読込)
  • ./CLAUDE.md — プロジェクト単位メモリ
  • ~/.claude/projects/<project>/memory/MEMORY.md — auto memory インデックス

3. 圧縮実行

/genshijin-compress ~/.claude/CLAUDE.md

結果:

  • 圧縮版が原ファイルを上書き
  • 人間可読版は CLAUDE.original.md にバックアップ(復元可能)
  • 失敗時は原ファイル無変更

保持・拒否ルール

  • 完全保持: コードブロック / URL / ファイルパス / 数値 / 見出し / 技術用語
  • 自動拒否: .env / credentials.* / id_rsa / .ssh/ 配下 等

誤検知時はファイル名変更で回避可能。

自動化機能(v1.2.0〜)

プラグイン導入後、Claude Code のフック機構で以下が自動で動く。

SessionStart フック — 原始人ルール注入

セッション開始毎に SKILL.md を読み、現アクティブレベルの該当行のみフィルタして hidden context に注入。多ターン経過後の敬語回帰・フィラー漂流を防ぐ anchor。

UserPromptSubmit フック — モード追跡 + 毎ターン補強

  • /genshijin 丁寧|通常|極限 や自然言語(「原始人モード」「原始人やめて」等)でモード切替を検出
  • アクティブ中は毎ユーザー発話で短い補強リマインダを注入 → 他プラグインが競合するスタイル指示を毎ターン注入する環境でもドリフト防止

Statusline バッジ

現モードを [原始人] / [原始人:丁寧] / [原始人:極限] / [原始人:コミット] 等で可視化。初回セッションで未設定を検知したら Claude がセットアップを提案する。

既定モードの設定(任意)

優先度: 環境変数 > 設定ファイル > normal(デフォルト)。

# 環境変数(最優先)
export GENSHIJIN_DEFAULT_MODE=extreme   # polite | normal | extreme | off

# 設定ファイル
mkdir -p ~/.config/genshijin
cat > ~/.config/genshijin/config.json <<'JSON'
{ "defaultMode": "extreme" }
JSON

off を指定するとフックがルール注入をスキップしフラグも削除 — プラグインインストール済みのまま一時停止できる。

セキュリティ

フラグファイル ~/.claude/.genshijin-active は symlink 拒否・64バイト上限・モードホワイトリスト検証で保護。~/.ssh/id_rsa 等への symlink 差替えで secret バイトが statusline やモデルコンテキストに流れ込む攻撃を塞ぐ。

スラッシュコマンド(v1.3.0〜)

プラグイン導入後、以下のコマンドが利用可能。

  • /genshijin 丁寧|通常|極限 — 強度レベル切替
  • /genshijin-commit — 現在のステージング変更から簡潔なコミットメッセージ生成(Conventional Commits)
  • /genshijin-review — 現在のコード変更を1行1指摘でレビュー(L42: 🔴 バグ: ...
  • /genshijin-stats (v1.4.0〜) — 現セッションのリアルトークン使用量+推定削減量+USD換算をフックが即時表示。--share ツイート用1行サマリ、--all / --since 7d ライフタイム集計対応

定義は commands/ 配下。

v1.4.0 拡張機能

caveman 本家 v1.3.0以降の差分(stats receipts / smart installer / cavecrew相当 / cavepack相当 / MCP-shrink)を全項目移植。

Smart multi-agent installer — root install.sh / install.ps1

Claude Code/Cursor/Windsurf/Cline/Copilot を自動検出し、各 agent に native install。

# macOS / Linux
curl -fsSL https://raw.githubusercontent.com/InterfaceX-co-jp/genshijin/main/install.sh | bash

# Windows PowerShell
iwr -useb https://raw.githubusercontent.com/InterfaceX-co-jp/genshijin/main/install.ps1 | iex

--dry-run / --force / --only <agent> / --all / --minimal / --list 対応。再実行安全。

genshijin-init — per-repo rule 一発投下

1コマンドで対象 repo に常時有効化 rule を全 IDE agent 用に投下。idempotent。

npx -y https://raw.githubusercontent.com/InterfaceX-co-jp/genshijin/main/tools/genshijin-init.js

Cursor / Windsurf / Cline / Copilot / AGENTS.md 用 rule file 生成。--dry-run / --force / --only 対応。

genshijin-shrink — MCP middleware

任意の MCP server を wrap → tools/listdescription field を圧縮。コード/URL/パス/識別子は byte-for-byte 保護。

{
  "mcpServers": {
    "fs-shrunk": {
      "command": "npx",
      "args": ["genshijin-shrink", "npx", "@modelcontextprotocol/server-filesystem", "/path"]
    }
  }
}

詳細は mcp-servers/genshijin-shrink/README.md

genshijin-crew — 3 subagent preset

長セッションでコンテキストを温存するための subagent 3種。

Subagent用途
genshijin-investigatorread-only locator (haiku model)、file:line 表で返却
genshijin-builder1-2ファイル surgical edit。3+ファイルは too-big. で拒否
genshijin-reviewerseverity-tagged finding (🔴bug / 🟡risk / 🔵nit / ❓question)

委譲判断ガイドは skills/genshijin-crew/SKILL.md

マルチエージェント対応(v1.3.0〜)

Claude Code 以外の AI コーディングエージェントでも原始人モード利用可能:

エージェントファイル
Cursor.cursor/rules/genshijin.mdc
Windsurf.windsurf/rules/genshijin.md
Cline.clinerules/genshijin.md
GitHub Copilot.github/copilot-instructions.md
Codex / Gemini CLI 等AGENTS.md
フック無し共通rules/genshijin-activate.md

Standalone インストーラ(v1.3.0〜)

プラグイン未使用でも ~/.claude 配下に直接フックを導入可能。

# インストール
bash hooks/install.sh

# 再インストール
bash hooks/install.sh --force

# アンインストール
bash hooks/uninstall.sh

Windows は hooks/install.ps1 / hooks/uninstall.ps1settings.json への安全マージ(既存 statusline を尊重)。

アップデート

プラグイン版(推奨)

# マーケットプレイス側を最新取得
claude plugin marketplace update genshijin

# プラグイン本体を更新(再起動で適用)
claude plugin update genshijin@genshijin

Claude Code 内の /plugin update genshijin が使える環境ではそれでも可。インストール済バージョン確認は claude plugin list

Standalone 版

cd /path/to/genshijin
git pull
bash hooks/install.sh --force   # Windows: hooks/install.ps1 -Force

npx skills 版

npx skills add InterfaceX-co-jp/genshijin   # 上書き再取得

ベンチマーク

タスク通常簡潔cavemangenshijingenshijin削減gs vs 簡潔gs vs caveman
なぜReactコンポーネントが毎回再レンダリングされるのか説114350936618983%63%48%
認証ミドルウェアのトークン有効期限チェックにバグがある。修正25357363229296%88%71%
Node.jsでPostgreSQLのコネクションプーリング2035101652037182%63%29%
git rebaseとmergeの違いを説明して78443529627665%37%7%
コールバック地獄をasync/awaitにリファクタリングし180571143437779%47%13%
マイクロサービスとモノリスの比較を説明して112156331626177%54%17%
ExpressルートのPRをセキュリティ観点でレビューして100976011411089%86%4%
Dockerのマルチステージビルドを設定して165361642927683%55%36%
PostgreSQLのレースコンディションをデバッグして177563851833881%47%35%
ReactのError Boundaryを実装して2457149156525390%83%55%
CORSエラーが出る。原因と解決策を教えて110449137930572%38%20%
Nginxのリバースプロキシ設定を教えて186959543732982%45%25%
Redisを使ったキャッシュ戦略を教えて220194255634284%64%38%
TypeScriptのジェネリクスを初心者向けに説明して118075358833672%55%43%
REST APIとGraphQLの違いを説明して87246441021575%54%48%
Node.jsアプリのメモリリークを調査する方法を教えて1853122665939679%68%40%
GitHub Actionsで基本的なCI/CDパイプライン2172105492638482%64%59%
N+1クエリ問題とは何か、どう解決するか教えて119949241229475%40%29%
WebSocketとServer-Sent Eventsの使129349242221683%56%49%
Reactの状態管理ライブラリの選び方を教えて111845149628874%36%42%
Kubernetesの基本概念を説明して73349938920272%60%48%
OAuth2の認証フローを説明して129750944431476%38%29%
CSS FlexboxとGridの使い分けを教えて102349333334866%29%-5%
Pythonのデコレータの仕組みを説明して140555149534575%37%30%
データベースインデックスの仕組みと使いどころを教えて139151541329279%43%29%
JWTとセッションベース認証の比較を教えて96745735427572%40%22%
Promise.allとPromise.raceの違いと使い122654644727578%50%38%
TerraformでAWSインフラを管理する基本を教えて160081756040175%51%28%
Node.jsのイベントループの仕組みを説明して128951166231076%39%53%
APIのレート制限を実装する方法を教えて19431118103345177%60%56%
平均146868147629580%57%38%

English Benchmark (参考値)

genshijin は日本語最適化スキルだが、英語プロンプトでも圧縮効果を発揮するか検証。caveman(英語ネイティブ)との比較。

TaskNormalTersecavemangenshijings savedgs vs tersegs vs caveman
Why does my React component re91469222812087%83%47%
There’s a bug in the auth midd7285938615179%75%-76%
How do I set up PostgreSQL con2344137433832786%76%3%
Explain the difference between68839929820670%48%31%
Refactor callback hell to asyn2026182239427287%85%31%
Compare microservices vs monol78551732238751%25%-20%
Review this Express route PR f193165837661%54%8%
Set up Docker multi-stage buil2396165823834386%79%-44%
Debug a race condition in Post2097192435429586%85%17%
Implement a React Error Bounda3363267247837489%86%22%
I’m getting CORS errors. What’146349525722784%54%12%
Show me how to configure Nginx2802224043828690%87%35%
What’s a good Redis caching st155270230426383%63%13%
Explain TypeScript generics fo1387114038841970%63%-8%
Explain the difference between60141524023361%44%3%
How do I investigate memory le2153170435935683%79%1%
Build a basic CI/CD pipeline w3023250161974975%70%-21%
What is the N+1 query problem137777032427580%64%15%
When should I use WebSocket vs74639927625366%37%8%
How do I choose a React state127561724219085%69%21%
Explain the basic concepts of83744230628266%36%8%
Explain the OAuth2 authenticat144954530430579%44%0%
When should I use CSS Flexbox60141022419368%53%14%
Explain how Python decorators148974239535976%52%9%
Explain how database indexes w1629126237837177%71%2%
Compare JWT vs session-based a146354323731978%41%-35%
Explain the difference between68653321624864%53%-15%
How do I manage AWS infrastruc2479185462839784%79%37%
Explain how the Node.js event145883831141172%51%-32%
How do I implement API rate li2814185556140386%78%28%
Average1560106032730381%71%7%

ベンチマークは英語版 caveman の結果を参考値として掲載。 自分で計測するには:

cd benchmarks
pip install -r requirements.txt
export ANTHROPIC_API_KEY=sk-ant-...
python run.py --trials 3 --update-readme              # 日本語
python run.py --lang en --trials 3 --update-readme     # 英語

安全機能

セキュリティ警告や破壊的操作の確認時は自動的に通常の丁寧な日本語に切り替わる。誤解が致命的になる場面では正確性を優先。

プロジェクト構成

genshijin/
├── skills/
│   ├── genshijin/SKILL.md            # 本体スキル
│   ├── genshijin-commit/SKILL.md     # コミット生成サブスキル
│   ├── genshijin-review/SKILL.md     # PRレビューサブスキル
│   ├── genshijin-help/SKILL.md       # ヘルプサブスキル
│   └── genshijin-compress/
│       ├── SKILL.md                  # メモリ圧縮サブスキル
│       └── scripts/                  # Python CLI 実装
├── hooks/                            # v1.2.0〜
│   ├── genshijin-activate.js         # SessionStart: ルール注入
│   ├── genshijin-mode-tracker.js     # UserPromptSubmit: モード追跡 + 毎ターン補強
│   ├── genshijin-config.js           # 設定解決(env var + config file)
│   ├── genshijin-statusline.sh       # statusline バッジ(Unix)
│   ├── genshijin-statusline.ps1      # statusline バッジ(Windows)
│   ├── install.sh / uninstall.sh     # standalone インストーラ(v1.3.0〜)
│   └── install.ps1 / uninstall.ps1   # standalone インストーラ Windows
├── commands/                         # v1.3.0〜スラッシュコマンド定義
│   ├── genshijin.toml                # /genshijin 強度切替
│   ├── genshijin-commit.toml         # /genshijin-commit
│   └── genshijin-review.toml         # /genshijin-review
├── rules/                            # v1.3.0〜
│   └── genshijin-activate.md         # フック無しプラットフォーム向け共通ルール
├── .cursor/rules/                    # Cursor 用(v1.3.0〜)
├── .windsurf/rules/                  # Windsurf 用(v1.3.0〜)
├── .clinerules/                      # Cline 用(v1.3.0〜)
├── .github/copilot-instructions.md   # GitHub Copilot 用(v1.3.0〜)
├── AGENTS.md                         # マルチエージェント参照インデックス(v1.3.0〜)
├── .claude-plugin/
│   ├── plugin.json                   # Claude Code プラグインマニフェスト(hooks 登録)
│   └── marketplace.json              # マーケットプレイス定義
├── benchmarks/
│   ├── run.py                        # ベンチマークスクリプト
│   ├── prompts.json                  # テスト用プロンプト
│   └── requirements.txt              # Python依存パッケージ
├── docs/
│   ├── index.html                    # GitHub Pages
│   └── caveman-diff-analysis.md      # caveman差分分析 + 進捗管理
├── README.md
├── LICENSE
└── .gitignore

元プロジェクト

JuliusBrussee/caveman — 英語版オリジナル

Star History

Star History Chart

ライセンス

MIT