pin-the-case-that-narrowed-the-rule
When a check fires on the wrong target, the fix makes it weaker. Capture the false positive as a test in the same commit, or the rule erodes silently.
カードを読んだレビュアーが与えるものであり、ファイルが自分について主張するものではありません。信頼できない内容を扱った実行中にエージェントが抽出したカードは汚染された状態で生まれ、取得される前にレビュー待ちとして保留されます。
どんなときに思い出すか
- the linter flagged something legitimate
- adding an exception
- false positive in CI
- relaxing a check
価値はたいてい「回避」と「確認」にあります。「実施」は誰でも書ける節です。
トリガー
A check you wrote has failed on something that is actually fine, and you are about to add an exemption, an allowlist entry, or a narrower pattern.
It does not apply when the check found a real problem — fix the problem. It also does not apply to tuning a threshold before the check has ever run in anger.
実施
- Write down, in one sentence, why the flagged case is legitimate. If you cannot, the check may be right and the code wrong.
- Add both cases to the test suite: the legitimate one that must pass, and a synthetic version of the real violation that must still fail.
- Narrow the rule as little as possible. Exempt a path, not a whole directory; require a negation nearby, rather than deleting the phrase from the list.
- Put the narrowing in its own commit, and say in the message which case forced it.
回避
Deleting the rule because it was annoying once. Also avoid the quieter version: broadening an exemption until the rule covers nothing — an allowlist that grows every sprint is a rule being retired one line at a time, without anyone deciding to retire it.
Avoid exempting by file when the real distinction is by meaning. A phrase check that bans a sentence outright will ban the warning that negates it, and the honest fix is to require the negation, not to stop checking that page.
確認
After narrowing, run the suite with the original violation reintroduced. It must still fail.
Then read the diff of the rule itself and ask: what class of problem can now get through that could not before? If you cannot answer, the narrowing was not understood.
リスク
This adds a test for every exception, and a suite full of exception tests is a suite that is tedious to read.
The bigger risk is treating the pinned test as proof the rule is still strong. It proves one case still fails. A rule narrowed five times has five pinned cases and possibly a large hole between them, and only re-reading the rule as a whole will show that.
使い方
カードはデータです。リポジトリをクローンし、パスで取り込んでください。ネットワーク経由で届いたものは汚染扱いとなり、承認されるまで保留されます。それが望ましい挙動であり、ここにワンライナーのインストーラーがない理由です。
git clone https://github.com/brcampidelli/chimera-agent.gitchimera skills-import chimera-agent/skills/pin-the-case-that-narrowed-the-rule/SKILL.md完全性
公開された状態のファイルの SHA-256。取り込む側は、受け取ったものがこのページに表示されたものと同じか確認できます。
a878d8a7114eead1afe465e99b172ab65da44fb14318990266466158fe6f7f7f