WilsonKinyua/claude-mods/tree/main/plugins/house-rules

git の作業を自分の身元で行わせるために Bash ツール呼び出しをインターセプトする Claude Code プラグインです。AI の共同作成者トレーラーや偽装された author フラグを取り除き、別人として作成されたコミットや PR をブロックし、claude/ や ai/ などブロック対象の接頭辞を持つブランチを改名します。
WilsonKinyua/claude-mods/tree/main/plugins/house-rules

house-rules は WilsonKinyua/claude-mods にある三つの mod の一つで、Claude Code の function hooks から構築されています。Bash の tool.call イベントにフックし、実行前に Claude が実行するすべてのコマンドを、サブエージェントのコマンドも含めて調べます。自動的に修正されるのは、-c user.email/user.name の上書き、GIT_AUTHOR_/GIT_COMMITTER_ 環境変数、一致しない --author フラグ、コミットや gh pr/issue テキスト内の Co-authored-by/Generated-by/"Generated with Claude Code" の行とセッションリンク、そしてブロック対象の接頭辞を持つ新しいブランチです(claude/fix-login は feat/fix-login になります)。次のものは理由を Claude に説明してブロックされます。ブロック対象の接頭辞を持つブランチからの push や PR(Claude には git branch -m fix が渡されます)、user.email/user.name が自分のものではないリポジトリでのコミット、git config user.email/name への別の値の設定、許可されていないアカウントでログインした状態での gh pr create。/config または claude plugin configure house-rules@wilson-mods で、gitEmail、gitNames、githubLogin、blockedBranchPrefixes、branchType を設定できます。Claude Code 2.1.286 以降が必要です。/plugin marketplace add WilsonKinyua/claude-mods と /plugin install house-rules@wilson-mods でインストールします。
まず作者の README で marketplace とプラグイン名を確認してください。コマンドはリポジトリの構成によって変わる場合があります。
claude plugin marketplace add WilsonKinyua/claude-mods claude plugin install house-rules
Three Claude Code mods: plugins built from function hooks that run inside Claude Code, in the terminal and the desktop app's Code tab.
| Mod | What it does |
| --- | --- |
| house-rules | Keeps Claude's git work under your identity: removes AI co-author trailers, renames claude/ and ai/ branches, and blocks commits or PRs made as the wrong person |
| usage-band | Shows 5-hour and 7-day usage limits, context fill, cost and the git branch in a band above the prompt |
| lean-comments | Stops Claude adding banner, multi-line, long or narrating code comments, so comments only explain a non-obvious why in one short line |
Needs Claude Code 2.1.286 or later.
/plugin marketplace add WilsonKinyua/claude-mods
/plugin install house-rules@wilson-mods
/plugin install usage-band@wilson-mods
/plugin install lean-comments@wilson-mods
/reload-plugins
Plugins install at user scope, so they load in every project. Add --scope project to claude plugin install to turn one on for a single repo instead.
Mods run with the same access as Claude Code. Read the source before you install, as you would with any package.
It checks every Bash command Claude runs, including subagents' commands, before the command executes.
Corrected automatically (you get a toast, and Claude is told what actually ran):
-c user.email=…, -c user.name=…, GIT_AUTHOR_* / GIT_COMMITTER_* env vars and any --author that isn't yours are removed.Co-authored-by:, Generated-by:, 🤖 Generated with Claude Code and Claude session links are removed from commit messages and gh pr / gh issue text.git checkout -b claude/fix-login creates feat/fix-login, and a push in the same command follows the rename.Blocked, with the reason given to Claude:
git branch -m command to rename it first.git commit in a repo whose user.email or user.name isn't yours.git config user.email / user.name set to anything else.gh pr create while gh is signed in to another account. This check only runs if you set a GitHub login.Set these in /config, or from a terminal:
claude plugin configure house-rules@wilson-mods
| Setting | Default | Meaning |
| --- | --- | --- |
| gitEmail | your global user.email | The only email commits may be authored as |
| gitNames | your global user.name | Accepted author names, separated by commas |
| githubLogin | empty (no check) | The gh account allowed to open PRs |
| blockedBranchPrefixes | claude,ai,bot,copilot,codex,… | Branch prefixes that get renamed or blocked |
| branchType | feat | The prefix a blocked branch is renamed to |
If one repo should keep a different identity, such as a work email, run this inside that repo yourself:
git config house-rules.allow-identity true
Claude can't set that key; the mod blocks it.

/usage, or the details button, opens a pane with the context breakdown by category and spend per day.The rings are drawn as SVG in the desktop app and as ◔◑◕ glyphs in the terminal. Limits only appear on a Claude subscription. The today and month totals only count sessions where the mod was loaded.
It checks every Edit and Write Claude makes. Only comments the change adds are checked; existing comments are left alone. By default a change is refused, with a list of the offending comments, and Claude rewrites it. A comment is flagged when it:
// ── Section ────── or # ==========;/** … */ doc blocks;// Step 1: load config or # Helpers.A change that adds more than 3 new comments is flagged too.
Tool directives are never flagged: eslint-disable, @ts-expect-error, noqa, # type: ignore, prettier-ignore, //go:, shebangs, license headers and similar. Markdown and other prose files are skipped.
It understands comment syntax for JS/TS, Go, Java, Kotlin, Swift, C/C++, C#, Rust, Dart, PHP, Python, Ruby, shell, YAML, TOML, SQL, Lua, CSS/SCSS, HTML, Vue, Svelte and Astro.
| Setting | Default | Meaning |
| --- | --- | --- |
| mode | block | block refuses the change so Claude rewrites it; warn lets it through and tells Claude what to fix; off disables the mod |
| maxLength | 120 | Longest comment text allowed, in characters |
| maxNewComments | 3 | How many new comments one change may add |
| allowDocComments | false | Let /** … */ doc blocks span several lines, e.g. for a published library's API |
claude --plugin-dir ./plugins/usage-band
claude plugin validate ./plugins/usage-band
Saving a file reloads the mod in the running session. Bump version in the plugin's plugin.json and in .claude-plugin/marketplace.json when you release, so claude plugin marketplace update wilson-mods picks up the change.