Claude Plugins
Claude Code 用のカスタムプラグインコレクションです。
概要
このリポジトリは Claude Code の機能を拡張するプラグインを提供します。各プラグインは開発ワークフローを強化する独自の機能を備えています。
プラグイン一覧
rules-on-create
.claude/rules/ 内のパスベースルール(paths: フロントマターあり)と CLAUDE.md のパス指定インストラクションを、ファイル読み込み時だけでなく Claude が新規ファイルを作成するときにも適用させるプラグインです。anthropics/claude-code#23478 のワークアラウンドです。
動作の仕組み:
Write への PreToolUse フックが、存在しないファイルへの書き込みをインターセプト
- ファイルを空で作成し、先に Read するよう Claude に指示して Write を拒否
- Read 後にパスベースのルールが注入され、Claude はルールをコンテキストに持った状態で Write/Edit を実行
前提条件:
詳細は plugins/rules-on-create を参照してください。
package-manager-enforcer
プロジェクトで検出されたパッケージマネージャーと異なるコマンドの実行をブロックするプラグインです(例:pnpm ベースのプロジェクトで npm install を実行しようとした場合)。
動作の仕組み:
Bash への PreToolUse フックがすべての Bash コマンドをインターセプト
package.json#packageManager フィールドまたはロックファイルからプロジェクトのパッケージマネージャーを検出
- コマンドのマネージャーが検出されたものと異なる場合、exit 2 でブロック
npx は常に許可、パッケージマネージャー以外のコマンドはそのまま通過
前提条件:
詳細は plugins/package-manager-enforcer を参照してください。
plan-rule-review
プランモードを終了する前に、プロジェクトルール(CLAUDE.md / .claude/rules/)への準拠状況をレビューするプラグインです。実装開始前にルール違反を検出するのに役立ちます。
動作の仕組み:
ExitPlanMode への PreToolUse フックがプランの確定をインターセプト
- 終了を拒否してレビュー指示を Claude のコンテキストに注入
- Claude が CLAUDE.md と
.claude/rules/ ファイルを読み込み、プランの違反箇所をレビュー
- 違反が見つかった場合、Claude はプランを修正して
ExitPlanMode を再試行
- 設定した回数のレビュー後(デフォルト:2回)は常に終了が許可される
前提条件:
設定:
PLAN_RULE_REVIEW_MAX — セッションあたりの最大レビュー回数(デフォルト:2、0 で無効化)
詳細は plugins/plan-rule-review を参照してください。
plan-rubocop-review
プランモードを終了する前に、プラン本文中の Ruby コードブロックを RuboCop(--stdin)で検証するプラグインです。実装開始前にプラン内のコード例の問題を検出するのに役立ちます。
動作の仕組み:
ExitPlanMode への PreToolUse フックがプランの確定をインターセプト
- プラン本文からバッククォートフェンスの Ruby コードブロックを抽出し、RuboCop(
--stdin)で検証
- ブート時間削減のため RuboCop は server mode で実行
- 違反が見つかった場合は deny し、プラン内コードの修正を促す
- 設定した回数のレビュー後(デフォルト:2回)は常に終了が許可される
前提条件:
node が PATH に存在すること
- 検証先プロジェクトで
bundle exec rubocop が利用可能であること(Gemfile に rubocop が含まれる)
設定:
PLAN_RUBOCOP_REVIEW_MAX — セッションあたりの最大レビュー回数(デフォルト:2、0 で無効化)
詳細は plugins/plan-rubocop-review を参照してください。
plan-archive
古くなったプランファイルを archived/ サブディレクトリへ自動的に退避させるプラグインです。プランディレクトリが古いファイルで散らからないように整理します。
動作の仕組み:
- Stop フックが transcript の
planFilePath(plan_mode attachment)からプランディレクトリを特定
- そのディレクトリ直下で mtime が 30 日以上前の
.md プランファイルを抽出
- 対象ファイルを
archived/ サブディレクトリへ移動し、ファイル名に最終更新日時の prefix(YYYY-MM-DD_HHMM)を付与
- 同名衝突時は連番サフィックスを付けて回避
- 無限ループを防ぐため
stop_hook_active が true の場合はスキップ
前提条件:
詳細は plugins/plan-archive を参照してください。
plan-workflow
Plan モードの運用ルール(要件インタビュー・実装の Agent 委譲・モデル振り分け・依頼とプランの妥当性検証)を UserPromptSubmit で自動注入するプラグインです。プランの視覚化ルールは plan-visualize、ExitPlanMode 承認直前の mo プレビューは plan-preview にそれぞれ分離されており、併用したい場合はそちらも合わせてインストールしてください。
動作の仕組み:
UserPromptSubmit フックが permission_mode を確認し、"plan" のときだけ運用ルール(妥当性検証・インタビュー徹底・実装の Agent 委譲・モデル振り分け)を additionalContext として注入(通常モードは副作用ゼロ)
- 妥当性検証ルールには、依頼・プランの過剰実装や不要スコープのチェックに加え、大規模な実装をフェーズ分割してドキュメント化してから進める方針を含む
exit 0 で返し、プランの承認フローには一切関与しない
- Stop フックが、plan モード起点(
ExitPlanMode 承認済み)のセッションでのみ、コード変更が10行以上あり /simplify 未実行なら Stop をブロックして /simplify を促す(doc・設定・lock・画像ファイルは変更行数の集計から除外)
前提条件:
詳細は plugins/plan-workflow を参照してください。
plan-visualize
Plan モードでプランファイルを作成する際の視覚化ルール(Mermaid 図・表)を UserPromptSubmit で自動注入するプラグインです。手順・フロー・構成など順序や関係が本質の内容を、文章の羅列ではなく図や表で構造的に表現するよう促します。
動作の仕組み:
UserPromptSubmit フックが permission_mode を確認し、"plan" のときだけ視覚化ルールを additionalContext として注入(通常モードは副作用ゼロ)
- ルールにはマーメイド図が壊れにくくなる書き方(記号を含むラベルのダブルクォート化、サブグラフを避けるなど)のガイドを含む
前提条件:
詳細は plugins/plan-visualize を参照してください。
plan-preview
ExitPlanMode の承認ダイアログが表示される直前に、プランファイルを mo(Markdown ビューア)でブラウザ表示するプラグインです。承認判定には一切干渉しません。
動作の仕組み:
PermissionRequest(ExitPlanMode)フックが承認ダイアログ表示直前に発火し、transcript の plan_mode attachment から planFilePath を解決
mo <planFilePath> --target <project>/plans --open でプランを GitHub-flavored Markdown としてブラウザ表示(プロジェクトごとにグループを分離)
- JSON の承認可否判定を返さず
exit 0。プランの承認フローには一切関与しない
前提条件:
node が PATH に存在すること
mo(k1LoW/mo、brew install k1LoW/tap/mo)が PATH に存在すること(未インストール時はフックが素通しし、承認フローに影響しない)
設定:
PLAN_WORKFLOW_TARGET — mo の --target グループ名の末尾セグメント(デフォルト:plans、実グループ名は <project>/<この値>)
PLAN_WORKFLOW_DEBUG — 真の値でステップログを出力(デフォルト:無効)
PLAN_WORKFLOW_DEBUG_FILE — デバッグログの出力先(デフォルト:<tmpdir>/plan-workflow-debug.log)
詳細は plugins/plan-preview を参照してください。
compact-handoff