マキモノ
AIのしつけ無料✅ 公式検証済みv1.0.0 / 更新

運用ルールをAIに守らせる「宣言強制ゲート」hook

依頼受領時(UserPromptSubmit)に割り込み、応答冒頭で1行の判定宣言を出させることで、委譲・夜間バッチ等の運用ルールを実効化する hook の型。実装コード・登録方法・発火/非発火の検証コマンド・実際に踏んだ落とし穴つき。

出品者: kim@orgiast.jp4 DL📖 読込 約2,230トークン (約3円)💰 コスパ 17
トークン節約メーター90%節約
ゼロからAIに作らせた場合4.2万トークン
このMDを読ませた場合4,000トークン

3.8万トークンの節約 (API料金換算で約57円分)。 要件定義・技術調査・試行錯誤ぶんのトークンがまるごと不要になります。※ 出品者申告とレビューに基づく推定値。モデル・タスク内容により変動します。

この巻物について

運用ルールをAIに守らせる「宣言強制ゲート」hook」は、AIのしつけカテゴリのAI指示書(MDファイル)です。依頼受領時(UserPromptSubmit)に割り込み、応答冒頭で1行の判定宣言を出させることで、委譲・夜間バッチ等の運用ルールを実効化する hook の型。実装コード・登録方法・発火/非発火の検証コマンド・実際に踏んだ落とし穴つき。この巻物をAIに読み込ませると、ゼロから設計・調査する場合に比べて 約3.8万トークン(API料金換算で約57円)・90%のトークンを節約できます。

カテゴリ
AIのしつけ
対応AI
claude-code、cursor、codex-cli
ライセンス
商用利用可 (再販不可)
価格
無料
ゼロから開発時
約4.2万トークン
この巻物使用時
約4,000トークン
節約量
約3.8万トークン (約57円)
更新日
2026-08-20

使い方 (AIに渡す3つの方法)

いちばん簡単なのはワンライナー。Claude Code のターミナルに貼るだけです。

⬇ .md をダウンロード
claude "https://makimono-md.vercel.app/api/v1/files/ai-hook-2/raw を読み込んで、この指示書どおりに実装して"
claude-codecursorcodex-cliライセンス: 商用利用可 (再販不可)

中身

運用ルールを AI に守らせる「宣言強制ゲート」hook の作り方

CLAUDE.md や社内ルールに「安いモデルへ委譲せよ」「大量処理は夜間バッチへ回せ」と書いても守られない。 守らせる唯一の実効手段は 依頼を受けた瞬間に、応答冒頭で1行の判定を宣言させる こと。 この MD は、その「宣言強制ゲート」を UserPromptSubmit hook として実装する型を渡す。

なぜ宣言させるのか(設計の核)

  1. 強制点は「実装を書く瞬間」では遅い。 ファイル書き込み時点(PreToolUse)で警告しても、 高価な推論は既に終わっている=捨てるしかないので無視される。**依頼受領時(UserPromptSubmit)**に割り込む。
  2. 受動的なリマインドは効かない。出力を要求する。 「〜を検討せよ」は無視されるが、 「応答冒頭に **[判定]** A(理由: …) を1行書け」は書かざるを得ず、しかも人間から見えて監査できる
  3. ブロックしない。 警告と宣言要求だけに留める。人間の承認プロンプトを潜脱させたり、 選択肢を伏せたりする設計にしてはいけない(同意の剥奪になる)。
  4. 黙る条件を必ず作る。 毎回出すとノイズ化して無視を学習する。無関係な依頼・質問・ 既に宣言済みのプロンプトでは何も出さない。

実装(Node.js / hook 1ファイル)

hooks/policy-gate.mjs — stdin に JSON、stdout に1行 JSON。例外は握って必ず exit 0(人間の操作をブロックしない)。

#!/usr/bin/env node
let raw = '';
process.stdin.setEncoding('utf8');
for await (const chunk of process.stdin) raw += chunk;
try {
  if (!raw) process.exit(0);
  const input = JSON.parse(raw);
  const prompt = String(input.prompt || '');
  if (prompt.length < 2) process.exit(0);
  const parts = [];

  // --- ルール1: 実装依頼 → 安い/定額の実行系へ委譲させる ---
  const impl = /実装|作って|書いて|直して|修正|リファクタ|バグ|fix|implement|デバッグ/i;
  const question = /どう思う|教えて|説明して|とは|なぜ|比較|調べて/;
  const strong = /実装|作って|書いて|直して|修正|fix|implement/i;
  if (!prompt.includes('[委譲判定]') && impl.test(prompt) && (!question.test(prompt) || strong.test(prompt))) {
    parts.push('[委譲ゲート] 応答冒頭に必ず1行: `**[委譲判定]** 実装=<定額のコード生成CLI>(理由: …)` ' +
      'または `**[委譲判定]** 自分で実施(理由: 数行の修正 / 設定ファイル / 設計試行錯誤中)`。宣言せず着手は違反。');
  }

  // --- ルール2: 大量処理 → 夜間バッチ(半額)か即時かを宣言させる ---
  const count = prompt.match(/(\d{2,})\s*(件|社|行|本|通|人|個|ファイル)/);
  const bulk = /一括生成|全件|バックフィル|エンリッチ|棚卸し|全部に対して|再生成/;
  if (!prompt.includes('[夜間判定]') && ((count && Number(count[1]) >= 20) || bulk.test(prompt))) {
    if (/今すぐ|すぐに|至急|急ぎ|今日中|即時|リアルタイム/.test(prompt)) {
      // 依頼者が急ぎと明示している時に夜間を勧めるのは有害。即時側で確定させる。
      parts.push('[夜間ゲート] 応答冒頭に `**[夜間判定]** 即時実行(理由: 依頼者が急ぎと明示)` と宣言し同期実行へ。');
    } else {
      parts.push('[夜間ゲート] 応答冒頭に `**[夜間判定]** 夜間バッチ(半額・翌朝) — 投入: <キュー投入コマンド>` ' +
        'または `**[夜間判定]** 即時実行(理由: 依頼者が待っている / ブロッキング)` と宣言。' +
        '夜間に落とすなら黙って遅延させず、依頼者に「夜間(半額・翌朝結果)でよいか、今すぐ必要か」を伝え、' +
        '今すぐなら同期実行に切替える。');
    }
  }

  if (!parts.length) process.exit(0);
  console.log(JSON.stringify({
    hookSpecificOutput: { hookEventName: 'UserPromptSubmit', additionalContext: parts.join('\n') },
  }));
} catch {}
process.exit(0);

登録(~/.claude/settings.json。追加のみ・既存 hook を消さない):

{ "hooks": { "UserPromptSubmit": [ { "hooks": [ { "command": "node \"<絶対パス>/hooks/policy-gate.mjs\"" } ] } ] } }

必須の型(ここを外すと静かに壊れる)

  • context 注入 hook(UserPromptSubmit / SessionStart / Stop / Notification)に async: true を付けない。 付けると注入が黙殺される。
  • 例外は全部握って exit 0。 hook の失敗が依頼をブロックしてはいけない。
  • 既に宣言タグを含むプロンプトでは黙るprompt.includes('[委譲判定]'))。人間が判定済みの時に再要求しない。
  • 急ぎ表明の検知を必ず入れる。 これが無いと「今すぐ」と言われた依頼に夜間バッチを勧めて信頼を失う。
  • 設定ファイルは BOM 無し UTF-8 で保存。 BOM があると JSON パースに失敗して hook 登録が丸ごと無効になる。
  • PowerShell 版を書くなら stdin を UTF-8 として明示的に読む(既定のままだと日本語が化ける)。

検証(ここまでやって初めて「入った」と言える)

ユニットテストだけでは不十分。hook を実プロセスとして起動し、発火/非発火の両方を確認する。

printf '%s' '{"prompt":"300件の会社を分類して"}'     | node hooks/policy-gate.mjs   # → 夜間判定の要求が出る
printf '%s' '{"prompt":"500件を今すぐ分類して"}'      | node hooks/policy-gate.mjs   # → 即時側になる
printf '%s' '{"prompt":"1件だけ分類して"}'            | node hooks/policy-gate.mjs   # → 何も出ない
printf '%s' '{"prompt":"[夜間判定] 300件を分類して"}' | node hooks/policy-gate.mjs   # → 再注入されない
printf '%s' '{"prompt":"ログイン機能を実装して"}'      | node hooks/policy-gate.mjs   # → 既存ルールが非回帰

回帰テストは「注入文に含まれるべき語」で assert する(例: [夜間判定] を含む / 小規模では含まない)。 文面をリファクタしても壊れないよう、キーワード単位で検査するのがコツ。

落とし穴(実際に踏んだもの)

  • 直すファイルを間違える。 同名・似た名前の旧実装が残っていて、そちらを直しても1行も発火しない。 着手前に必ず settings.json に登録されているコマンド文字列を読み、今動いている実体を特定する。
  • 複数PCへ配る場合、「マージした=各PCで動いている」ではない。 リポジトリを git pull --ff-only で 同期する設計だと、未コミット変更やローカル専用コミットがある端末では pull が abort し、 配布だけが静かに止まる。配布物のバージョン一致(ハッシュ or 機能マーカー)を点検する仕組みを別に持つ。
  • 文面を強くしても守られない時は、発火点が意思決定より後になっていないかを疑う。強制点の位置が本質。

よくある質問

「運用ルールをAIに守らせる「宣言強制ゲート」hook」とは何ですか?

依頼受領時(UserPromptSubmit)に割り込み、応答冒頭で1行の判定宣言を出させることで、委譲・夜間バッチ等の運用ルールを実効化する hook の型。実装コード・登録方法・発火/非発火の検証コマンド・実際に踏んだ落とし穴つき。

どれくらいトークン(費用)を節約できますか?

ゼロから開発すると約4.2万トークンかかりますが、この巻物を使えば約4,000トークンで済みます。差し引き約3.8万トークン(API料金換算で約57円)・90%の節約です。

どうやって使いますか?

無料です。MDファイルを Claude Code などのAIに読み込ませるだけ。ワンライナーをターミナルに貼れば実装が始まります。要件定義や技術調査を省いて実装だけにトークンを使えます。

どのAIツールに対応していますか?

claude-code、cursor、codex-cli に対応しています。

商用利用できますか?

ライセンスは「商用利用可 (再販不可)」です。

🤝 自分でAIを動かすのは、まだ不安…という方へ

この巻物の内容を、AIを使うプロに丸ごと任せることもできます。姉妹サービスAI代行堂なら「LINEで頼むだけで、仕事が完成」。

AI代行堂を見る →

関連する巻物

AIのしつけ無料✅ 公式

AI運用ルールを機械的に守らせる hook 設計 — ルール文が守られない本当の理由

チームでAIエージェントを使うと運用ルールが必ず守られなくなる。真因は「読んでいない」ではなく hook がそのマシンで登録されていない/委譲先が沈黙して壊れていること。禁止=実行前拒否・誘導=依頼時の具体コマンド注入・担保=セッション開始時の自己修復の3層、明示例外の短命トークン、warn→blockの段階昇格、BOM/サンドボックス/timeout など失敗が沈黙する罠と、環境依存で落ちないテストの作り方までを実測ベースでまとめた導入手順。

95%節約
24.6万トークン (料金換算 約370円)
新着
AIのしつけ無料✅ 公式

マキモノ検索スキル — AIが自分で巻物を探して使えるようになるMD

あなたのAIエージェント (Claude Code等) にこのMDを読ませると、開発タスクを受けたとき自動でマキモノAPIを検索し、最適な指示書を取得してから作業するようになります。導入は貼るだけ。

97%節約
11.6万トークン (料金換算 約170円)
新着
AIのしつけ無料✅ 公式

無人AIセッションのバックグラウンド委譲が静かに殺される事故を潰す

ヘッドレスで起動したAIエージェントがバックグラウンド委譲した子プロセスは、ターン終了で kill されるのに親は exit 0 を返す。機械的に deny するフック、通知の作り方、対応中フラグの戻し忘れ、Windows製worktreeがLinux側から解決できない罠までを含む恒久対策。

97%節約
11.6万トークン (料金換算 約170円)
新着

この巻物、誰かのトークンも救えます

𝕏 で節約レシートをシェア