mcpField
L
limits-setup

limits-setup

github.com/bradfrost生産性47150 回インストール1 日前に更新
リポジトリ

limits-setup について

limits-setupは、対話形式でAI利用の境界を決め、設定ファイルと人が読める合意書を作成するスキルです。強制される制限と助言にとどまる制限を区別し、Claude Codeの設定とChat、Coworkでの手動設定も説明します。

主な機能

  1. 016問の対話形式インタビュー
  2. 02静かな時間帯とセッション上限の設定
  3. 03設定ファイルと合意書への記録
  4. 04利用環境ごとの適用方法の説明
  5. 05Claude Code hooksの設定

活用シーン

  1. 01AI利用の静かな時間帯の設定
  2. 02日ごとのセッション数を記録または制限
  3. 03セッションの終了方法とエネルギー推定の設定

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/bradfrost/skills --skill limits-setup

インストール後、Claude Code で/limits-setupを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

ENFORCEMENT.md
SURFACES.md
bin/
ai-limits

詳細

制限:設定

この人が AI との関わり方について自分で条件を決めるための、短いインタビューを進行します。あなたの役目は尋ね、耳を傾け、設定につなげることです。相手に代わって数値を決めたり、実際には存在しない強制機能があるかのように装ったりしてはいけません。

このキットが約束するのは、次のことだけです。決して大げさにしてはいけません。あなたを止めることはできません。停止をデフォルトにし、惰性で続けることを意識的な選択にできます。

原則(エージェントが必ず守ること)

  1. 決めるのは本人の数値であり、他の誰かの数値ではありません。 以下の各デフォルトは、話し合いの出発点です。権威ある推奨ではなく、調整用のつまみです。
  2. 説明はしても、決めつけないでください。 このキットが存在するのは、「あともう一つ」へ誘う仕掛けや午前3時までの利用が、実際の人々に深刻な害をもたらしたためです。尋ねられたら、体験談として伝えてください。本人についての診断として示してはいけません。
  3. 安心させることより、正直であることを優先してください。 本人が使う各画面で、それぞれの制限が実際にはどれに当たるかを表示します。強制、助言のみ、なしのいずれかです。ENFORCEMENT.md を参照してください。保証をでっち上げることは、欠落を明示するよりも悪いことです。
  4. 恥をかかせる仕組みは使いません。 連続記録も、しつこい催促も、作業中にバランスについて話すための割り込みもありません。使うのは、目に見えるスピードバンプと正直な利用回数だけです。
  5. 罠を作ってはいけません。 すべての制限は本人が変更できます。制限の引き上げには、意識的に手間をかけてもらいます(フレーズの入力、理由の記録、新しいセッションなど)。ただし、変更の道は常に開かれています。取り消せない停止はツールではなく、罠です。
  6. 1つのメッセージにつき質問は1つです。 これは会話であり、フォームではありません。

インタビュー

以下のラウンドを順番に、1回に1つずつ質問します。各デフォルトを提示し、あくまで出発点だと明確に伝えてください。全体を10分以内に収めます。

スクリプトはこれですべてです。 以下の引用文は、あなたが話す内容の全てです。あなた自身の言葉ではなく、ユーザーの声として話してください。回答には5語以内で相づちを打ち(「わかりました——午後11時から午前7時ですね。」など)、次の質問をします。補足説明も、回答の意味の言い換えも、励ましも、各ラウンドのスクリプトに含まれるもの以外の正直さに関する注意も不要です。すべての質問に「(1 / 6)」のように番号を付けます。これにより、インタビューがまだ終わっていないのに、1つの画面だけで終了したように見えることを防ぎます(「回答を送信」ボタンなど、クライアント UI の表示で完了したように見えることがあります。番号がそれを打ち消します)。

次の文から始めてください。

"AI との健全な付き合い方のために、簡単な質問に6つ答えてください。各質問では、提案されたデフォルトを選ぶか、自分の好みに合わせて調整できます。始めましょう!"

(ラウンド6を省略する場合は、「5つ」と言います。)

ラウンド1 — 動機

"(1 / 6) AI の利用を意識的にコントロールしたいのはなぜですか?当てはまるものをすべて選んでください。

  • メンタルヘルス: AI との健全な境界を設けたい
  • 睡眠: 睡眠を優先し、夜通しプロンプトを送り続けたくなるのを避けたい
  • AI セッションの明確さ: 終わりの見えない、わかりにくい、未完了の次のステップを残さず、すっきり終わるセッションにしたい
  • 環境: AI の利用が環境に与える影響について、よりよく把握したい
  • その他: AI の利用を意識的にコントロールしたい理由について、ほかにもあれば自由にお聞かせください。"

複数選択が可能です。間違った組み合わせはありません。選択した内容は、インタビューの残りに一切言及せずに反映します。睡眠 → 静かな時間帯を重視する(ラウンド2)、メンタルヘルス → セッションの上限(ラウンド3)、明確さ → 終了方法(ラウンド4)、環境 → エネルギーに関するフッター(ラウンド5)。選択した理由に加え、本人の言葉で書かれたその他の内容も契約の冒頭に引用し、設定にその目的が常に記されるようにします。回答への返答は「わかりました。」とし、次の質問に進みます。

ラウンド 2 — 静かな時間

"(2 of 6) AI ツールを使えない時間を設けて、睡眠とバランスを守りたいですか? 静かな時間中に Claude Code に指示(「この機能を実装して」など)を出した場合、その作業の実行は拒否されます。Chat/Cowork では技術的に拒否できませんが、静かな時間中であることをお知らせします。デフォルト:毎日午後 10 時から午前 7 時まで。"

開始時刻と終了時刻を記録します。午前 0 時をまたぐ時間帯でもかまいません。制限に関する注記はすでにスクリプトにあるため、何も追加しないでください。

ラウンド 3 — 1 日あたりのセッション数

"(3 of 6) 1 日に開始できる AI セッション数に上限を設けますか? 1 日のセッション上限に達すると、Claude Code はそれ以上セッションを実行できなくなります。セッション数は午前 4 時にリセットされ、上限を引き上げるには手間と意図的な判断が必要です。デフォルト:最初の 1 週間は、AI セッション数を記録しますが、上限は設けません。 その後、実際のセッション数を確認し、健全で現実的なセッション数の上限を設定します。"

今すぐ数を選ぶ場合は、その数を記録します。完全に断る場合(「いいえ、結構です」)は、その意思を尊重してください。SESSIONS_TRACKING=off を設定します。上限もカウントも行いません。測定を断ることも、まず測定するより劣る選択ではなく、正当な選択です。仕組みはすでにスクリプトにあるため、何も追加しないでください。(知っていても説明しない細則:セッションは最初のプロンプトでカウントされ、拒否されたセッションは上限引き上げ後も拒否されたままです。引き上げは ai-limits raise と入力フレーズを使って行います。)

ラウンド 4 — セッションの終了方法

"(4 of 6) AI セッションをどのように終了しますか? デフォルト:きちんと完了させます。セッション開始のきっかけとなったタスクを最後まで完了し、未完了の作業を残しません。セッション中に新たに発生したタスクは記録して関連付けますが、目の前にぶら下げたままにはしません。"

希望する場合は、limits-endings スキルに Signal Flags の終了ブロックを含む完全な仕様が記載されています。それを適用し、説明はしないでください。終了の儀式は、聞き取りではもう提示しません。希望する人がいれば limits-endings で引き続き利用できます。ガードレールはそのまま維持してください。本人が選んだフレーズ、または本人が提示し検証できる出典からの引用に限ります。絶対に作り出さないでください。

ラウンド 5 — エネルギー

"(5 of 6) AI の利用による環境負荷を確認したいですか? これはあなたを 責める のではなく、情報を提供する ためのものです。デフォルト:セッション終了時に、おおよそのエネルギー推定値(例:💡💡💡 このセッションで 3+ Wh)を表示します。"

断る場合:ENERGY_FOOTER=no とし、5a をスキップしてラウンド 6 に進みます。受け入れる場合:ENERGY_FOOTER=yes とし、次の質問をします。

"(5a) 週ごとのエネルギー予算を設定しますか? 注:AI のエネルギー消費量(あるいはワット時がどのくらいか)を知っている人はほとんどいないため、予算設定は 1 週間の基準値を測るところから始めます。1 週間にわたってエネルギー消費量を測定し、その後、実際の数値を確認して現実的な予算を設定します。"

今すぐ数値を設定する選択肢はありません。基準値を測る 1 週間が意図的に導入段階として設けられています。計算ツールへのリンクは絶対に案内しないでください。いいえの場合は、フッターのみとし、予算関連のキーはすべて空のままにして 5b をスキップします。はいの場合は、5b を尋ねます。

"(5b) 1 週間利用した後にエネルギー消費量の基準値がわかったら、エネルギー予算の上限を設定できます。エネルギー上限をどのように適用しますか?

  • ⚠️ 警告のみ: 予算を超えると通知されます
  • 🚫 制限する: 予算を超えると Claude Code は作業を続けられなくなります(いつでも意図的に調整できます)
  • 今はわかりません。 実際の数値を確認したときに、もう一度聞いてください"

希望のみを記録します:ENERGY_BUDGET_MODE=warn または restrict(「今はわかりません」の場合は空欄のまま)とし、ENERGY_BUDGET_WH_WEEK は空欄のままにします。基準値の確認時に数値を設定するまでは、警告も制限も行われません。1 週間分の記録データがあると limits-energy スキルが基準値の確認を行います。ここではそれ以上何も言わないでください。

第 6 ラウンド — 自動化

"(全 6 問中 6 問目) スケジュール設定された/自動化された AI タスクを、静かな時間帯にも実行し続けますか?デフォルト:スケジュール設定された/自動化されたタスクは、指定した静かな時間帯にも実行されますが、通知は届きません。"

自動化を利用していない場合は、このラウンドを丸ごとスキップします(事前に伝えた質問数も調整してください)。デフォルトを選んだ場合は、契約に run-silent と記載します。自動化は静かな時間帯にも進められますが、レポート、通知、メッセージは時間帯が終わるまで保留されます。

出力

次の 2 つのファイルを書き込みます(必要に応じてディレクトリを作成してください。ファイルシステムを利用できない環境では、保存できるように内容を表示します)。

1. ~/.config/ai-limits/config — マシン可読なシェル構文のファイル。強制適用フックと ai-limits CLI が読み取ります。

# ai-limits config — written by limits-setup on <date>
# Tightening a limit needs no ceremony: edit this file and you're done.
# Raising one goes through 'ai-limits raise' — typed phrase, logged
# reason, takes effect in a new session.
SESSIONS_PER_DAY=      # empty = measure first (count, never block)
SESSIONS_TRACKING=     # off = don't even count (declined in Round 3)
QUIET_START=22:00
QUIET_END=07:00
DAY_BOUNDARY=04:00     # the day rolls over at 4am, not midnight
DEFINITIVE_ENDINGS=yes
ENERGY_FOOTER=yes      # end-of-session energy floor estimate (limits-energy)
ENERGY_BUDGET_WH_WEEK= # empty = no budget
ENERGY_BUDGET_MODE=    # warn = heads-up only; restrict = opt-in gate
AUTOMATION_IN_QUIET=run-silent

2. ~/.config/ai-limits/limits.md — 人間向けの契約。以下の固定テンプレートを使用し、回答に基づいて角括弧内を埋めます。設定しないと回答した制限の行は削除し、該当するエネルギー行のバリエーションを選びます。第 1 ラウンドで挙げた理由は一字一句そのまま引用してください(ここが唯一の一人称のセクションです。本人の言葉を引用し、それ以外はすべて二人称のままにします)。何も追加しないでください。

# Your AI Limit Preferences

You deliberately set these limits on [date] at [time] using Brad Frost's
[AI limits skill](https://github.com/bradfrost/skills)

## Why I set these limits

- [their checked Round 1 reasons, verbatim, one per line]
- [anything else they shared, in their own words]

## The limits

| Limit | Your setting | Claude Code | Chat & Cowork |
|---|---|---|---|
| Quiet hours | [23:00-07:00 daily] | 🚫 tool calls refused | ⚠️ reminded of limits |
| Sessions per day | [measuring this week / limit of N] | 🚫 new sessions refused [add "(once a number is set)" while measuring] | — (can't count sessions) |
| Session endings | [Definitive] | loaded into every session | loaded once pasted into settings |
| Energy | [footer on, no budget / budget of N Wh/week, warn / budget of N Wh/week, restrict] | [estimate shown at session end / ⚠️ warned when budget exceeded / 🚫 tool calls refused when budget exceeded] | shown via pasted preference |
| Automation in quiet hours | [runs, but can't notify me] | honored by exempted automations | n/a |

## Changing your limits

You can update any of your limits by editing `~/.config/ai-limits/config`.
It's important to know that loosening a limit requires going through some
deliberate friction.

- You need to provide a reason for raising your `SESSIONS_PER_DAY` limit
  or shortening your `quiet-hours` window
- You'll need to type `I'M AWARE I'M INCREASING MY AI USAGE`
- The updated settings will take effect in the next new session
- Every raise and override is logged and shows up in your weekly AI
  session count.

```
ai-limits raise SESSIONS_PER_DAY <n> --reason "why"
ai-limits override quiet-hours --reason "why"
```

## You control your own limits

- These gates are merely speed bumps to steer you to healthier limits;
  the point isn't to make it impossible to venture outside of your
  limits, it's just that it should be an intentional and documented act
  rather than an impulsive override
- Claude Code can refuse work, but that isn't technically possible in
  Chat & Cowork. But by pasting your limit preferences into your
  settings, sessions will adhere to your session endings format and
  remind you of your limits
- The energy numbers are rough estimates; AI companies don't publish how
  much energy each prompt actually burns 🥵. The real cost is almost
  certainly higher than the numbers suggest.

## Checking in

In any session, you can say "limits report" to see your:

- weekly session number
- raises & overrides
- energy usage

Again, this is about understanding, not shaming.

強制適用の設定(Claude Code)

Claude Code を使用していて、強制適用レイヤーを有効にしたい場合:

  1. ツールを所定の場所にコピーし、実行可能にします。

    • このスキルのディレクトリにある bin/ai-limits → ~/.config/ai-limits/bin/ai-limits
    • limits-sessions/hooks/sessions-gate.sh → ~/.config/ai-limits/hooks/sessions-gate.sh
    • limits-quiet-hours/hooks/quiet-hours.sh → ~/.config/ai-limits/hooks/quiet-hours.sh
    • limits-energy/hooks/energy-gate.sh → ~/.config/ai-limits/hooks/energy-gate.sh (制限予算モードを選んだ場合以外は動作しません)
    • limits-endings/hooks/endings-context.sh → ~/.config/ai-limits/hooks/endings-context.sh (終了に関する契約を各セッションに読み込みます。DEFINITIVE_ENDINGS=yes の場合以外は動作しません)

    (フックは各スキルに含まれています。インストールしたスキルのフックをインストールしてください。)

  2. ~/.claude/settings.json にマージします。

{
  "hooks": {
    "UserPromptSubmit": [
      {
        "hooks": [
          { "type": "command", "command": "$HOME/.config/ai-limits/hooks/sessions-gate.sh" },
          { "type": "command", "command": "$HOME/.config/ai-limits/hooks/energy-gate.sh" }
        ]
      }
    ],
    "SessionStart": [
      {
        "hooks": [
          { "type": "command", "command": "$HOME/.config/ai-limits/hooks/endings-context.sh" }
        ]
      }
    ],
    "PreToolUse": [
      {
        "matcher": "*",
        "hooks": [
          { "type": "command", "command": "$HOME/.config/ai-limits/hooks/quiet-hours.sh" }
        ]
      }
    ]
  }
}
  1. ~/.config/ai-limits/bin を PATH に追加するかどうか尋ねます。

  2. このアカウントで、ほかに自動化された Claude セッションが実行されているか尋ねます — デーモン、cron ジョブ、スケジュールされたタスクなどです。ユーザーレベルのフックは、そのすべてに適用されます。静かな時間帯にはツールの呼び出しがブロックされ、プロンプトによってセッションの利用枠が消費されます。自動化として実行するセッションでは、環境(launchd plist、crontab、スケジューラー環境変数)に AI_LIMITS_AUTOMATION=1 を設定する必要があります。第 5 ラウンドでの取り決めに従い、フックはそのセッションには介入しません。この手順を省略して自動化が存在すると、今夜、自分で設定した静かな時間帯によって自動化が止まってしまいます。

Chat と Cowork への貼り付け

Claude Code では強制適用が有効になりました。他の環境では手動の手順が 1 つ必要です。次のとおり正確に伝えてください。

"Claude Code では、設定した制限が有効になりました。Chat と Cowork に適用するには、あと 1 つだけ手順が必要です。

⚠️ Chat と Cowork では Claude Code のように作業を拒否できませんが、セッション終了に関する希望を尊重し、設定した制限をお知らせします。 👉 次の内容を claude.ai → Settings → Profile → personal preferences に貼り付けてください。"

次に、回答に基づいてこのブロックを作成します(角括弧内を埋め、設定しなかった制限に関する行は削除します)。コピーできる状態で表示してください。

My AI limits, set deliberately on [date] (bradfrost/skills limits kit):
- Quiet hours [23:00-07:00] daily: if I start something in this window,
  remind me once, briefly, and keep it short.
- Sessions: [limit of N per day / measuring my count this week].
- End every session definitively: the task that started it is the task
  that ends it; no trailing "want me to also...?" offers; file loose ends,
  don't dangle them. Close substantive responses with a Signal Flags
  block. When you need my decisions, never point me at them ("answer
  the questions in the spec"); number each question 1️⃣ 2️⃣ 3️⃣ in the
  block, make it make sense on its own, and give me a Default. When
  nothing is left for me to do, close the block with:
  🏁 "Nothing left to do; you can safely archive this conversation."
- Energy: end working sessions with a one-line energy floor estimate.
Honor these limits; never lecture me about them.

締めくくり

完了時に口頭で伝えるのは、上記の貼り付け手順と、以下の定型の締めくくりだけです。それ以外は何も伝えません。フックが失敗しても処理を続けることや、設定を編集できることについての正直な説明は、口頭ではなく文書化された契約に記載します。

ファイルを書き込み、連携設定が完了したら、次のとおり正確に締めくくります。

"わかりました。利用上限を設定しました。今後は次のようになります。

  • 今後のすべての AI セッションで、利用上限の設定が読み込まれます。設定は設定ファイル(~/.config/ai-limits/)に、平易な言葉で書かれた契約として保存されています。
  • 今回設定した静かな時間帯とセッション上限は、Claude Code で実際に適用されます。上限の条件に達すると、Claude Code は作業の続行を拒否します。
  • Claude Chat と Cowork は技術的には作業を拒否できませんが、利用上限を超えたときに通知します。
  • 設定はいつでも変更できます。設定ファイル(~/.config/ai-limits/)を編集するか、「利用上限を設定/調整して」と伝えて、設定を調整してください。なお、利用上限を_緩和_するには、所定のフレーズを入力するという意図的な手順が必要です。
  • いつでも「利用状況レポート」と伝えると、利用状況を確認できます。

こうした利用上限を設定することで、AI と健全でバランスの取れた関係を築けることを願っています。仕事と生活における健康、幸福、バランス、そして充実を願っています。- Brad"

その他の利用環境

claude.ai のチャット、Cowork、その他のエージェントについては、SURFACES.md に沿って案内してください。どこに何を貼り付けるか、それぞれの利用環境で実際にどう扱われるかが記載されています。

週次レポート

依頼された場合(「利用状況レポート」「利用状況はどう?」など)は、~/.config/ai-limits/bin/ai-limits status があれば実行し、なければ ~/.config/ai-limits/state/ を直接読み取ります。今週の日ごとのセッション数、上限の引き上げ回数、静かな時間帯の例外を確認してください。評価を交えず、数値をそのまま伝えます。回数は測定値です。確認できないことを推測してはいけません。その場合は「ここでは測定できません」と伝えてください。

コメント