savethetokens について
savethetokensは、正確性とコード品質を保ちながらコンテキストを管理するClaude Code向けスキルです。計画、分析、チェックポイント作成のスクリプトと、測定に基づく評価手順を備えています。
主な機能
- 01コンテキスト使用量の計画と分析
- 02セッションのチェックポイント作成と圧縮案内
- 03関連度評価とコンテキストの整理
- 04CLAUDE.mdとクイックリファレンスの生成
- 05条件を揃えたベンチマークとテレメトリー
活用シーン
- 01コンテキスト予算内で作業を計画
- 02セッション圧縮前にチェックポイントを保存
- 03コンテキストの関連性を確認
- 04条件を揃えた実行間でトークン量を測定
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ redclawww/ savethetokens --skill savethetokensインストール後、Claude Code で/savethetokensを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
README.md.gitignore.npmignoreLICENSEpackage.jsonbin/uninstall.jscli.jsinstall.jsdocs/BENCHMARK_PROTOCOL.mdADVANCED_AUTOMATION.mdEXECUTION_PLANS.mdMODEL_SELECTION.mdLAUNCH_READINESS.mdLEAN_SESSION_PROMPT.mdSTRICT_BENCHMARK_PROMPT.mdLIVE_TELEMETRY.mdSESSION_PLAYBOOK.mdTOKEN_ESTIMATION.mdQUALITY_GATES.mdPRUNING_STRATEGIES.mdscripts/context_snapshot_diff.pyanalyze.pycompact_watchdog.pyclassify_intent.pyclaude_md_optimizer.pyab_telemetry.pyestimate_tokens.pymemory_store.pylaunch_readiness.pycost_calculator.py詳細
コンテキストガバナー
実用的で効果の高いワークフローとスクリプトで、コンテキストの使用量を最適化します。
絶対に守るべきガードレール
- スコープをユーザーの依頼に限定してください。依頼されていない機能、ページ、テレメトリを追加しないでください。
- トークンの最適化は制約として扱い、目標にはしないでください。正確性とセキュリティは、トークン削減より優先されます。
- 比較可能なタスクで削減前と削減後を測定せずに、トークン削減を主張しないでください。
- コンテキスト削減の操作で品質が損なわれるおそれがある場合は、追加のコンテキストを残し、そのトレードオフを明示してください。
- トークンを節約するために、コードの網羅性を絶対に落とさないでください。 テスト、厳格な設定、安全性チェック、エラー処理は必須です。トークンを節約するなら、メッセージの冗長さからにしてください。出力の完全性を損なってはいけません。
動作モード
Lean Mode(デフォルト):軽量なコンテキスト整理のみを行い、新しいベンチマーク成果物は作成しません。Measurement Mode:ユーザーが証明や割合を求めた場合に限り、起動準備または A/B テレメトリのスクリプトを使用します。
Claude Code のメッセージ予算(必須)
- 進捗報告は短く、フェーズごとにまとめてください。ファイルへの書き込みを逐一説明しないでください。
- ユーザーが求めない限り、長いコマンド出力を貼り付けないでください。重要な情報だけを要約してください。
- コードや入力に変更がないのに、同じコマンドを繰り返さないでください。再試行する場合は、その理由を一度だけ伝えてください。
/contextでメッセージ量が通常より大幅に増えていることが分かったら、さらに簡潔にしてください。- 報告を減らす
- 要約を短くする
- 関連する編集をまとめてから報告する
- 長い進捗報告より、簡潔な最終要約を優先してください。
- ベンチマークを実行する場合は、両方の条件で動作を一致させてください。
- 停止基準を同じにする
- コンパクト化の方針を同じにする
- 出力スタイルを同じにする(一方の条件だけに、巨大なレポートを追加しない)
運用手順
- 目的を確認し、スコープを一文で確定します。
- タスクごとにチャットセッションを1つ使用します。無関係な作業には新しいセッションを開始します。
- 推論が不要な直接的なシェルコマンドには
! <command>を使用します。 /contextを定期的に実行します。ハードリミットを待たず、使用率が約50%になったらコンパクト化します。/compactまたは/clearの前に、次の手順と変更したファイルを記載したチェックポイントファイルを作成します。- トップレベルのドキュメントは簡潔に保ち、詳細はリンク先の
docs/*.mdに移します。 - コードタスクで最終出力を行う前に、
docs/QUALITY_GATES.mdの品質ゲートを実行します。 - トークン削減を主張する場合は、
docs/BENCHMARK_PROTOCOL.mdに従って条件を揃えた A/B テストを実行します。 - Claude のベンチマークを実行する場合は、セッション開始時に
docs/STRICT_BENCHMARK_PROMPT.mdを使用します。
クイックコマンド
# Generate execution plan
python ~/.claude/skills/savethetokens/scripts/govern.py --budget 8000
# Generate checkpoint before compact/clear
python ~/.claude/skills/savethetokens/scripts/session_checkpoint.py \
--task "..." \
--done "..." \
--next "..." \
--context-percent 52 \
--message-count 36
# Create session hook (Claude Code)
python ~/.claude/skills/savethetokens/scripts/session_hook_generator.py --project .
# Optimize CLAUDE.md
python ~/.claude/skills/savethetokens/scripts/claude_md_optimizer.py --analyze
# Calculate cost savings
python ~/.claude/skills/savethetokens/scripts/cost_calculator.py --developers 5
# Run launch-readiness benchmark with section-wise savings
python ~/.claude/skills/savethetokens/scripts/launch_readiness.py
# Run live A/B telemetry session (auto split control/optimized)
python ~/.claude/skills/savethetokens/scripts/govern.py \
--input context.json \
--budget 8000 \
--experiment-id claude-launch-v1 \
--variant auto \
--assignment-key TICKET-123
# Generate measured A/B report from live sessions
python ~/.claude/skills/savethetokens/scripts/ab_telemetry.py \
--experiment-id claude-launch-v1 \
--days 14 \
--required-intents code_generation,debugging,planning,review \
--min-samples-per-intent 5
# Strict mode: exit 2 if claim gates fail (CI-friendly)
python ~/.claude/skills/savethetokens/scripts/ab_telemetry.py \
--experiment-id claude-launch-v1 \
--strict-claim-mode
# Print report JSON to stdout (pipe to jq, etc.)
python ~/.claude/skills/savethetokens/scripts/ab_telemetry.py \
--experiment-id claude-launch-v1 \
--json-stdout
# Code-task quality gate checklist (required before final answer)
cat ~/.claude/skills/savethetokens/docs/QUALITY_GATES.md
# Compare two /context snapshots (control vs optimized)
python ~/.claude/skills/savethetokens/scripts/context_snapshot_diff.py \
--before-file before.txt \
--after-file after.txt \
--strict
# Compact watchdog (advisory, safe defaults)
python ~/.claude/skills/savethetokens/scripts/compact_watchdog.py \
--context-file context_snapshot.txt \
--require-checkpoint
# Dynamic tool filtering (fail-open recommended)
python ~/.claude/skills/savethetokens/scripts/tool_filter.py \
--input tools.json \
--query "..." \
--fail-open
# Semantic skill selection (recommendation only)
python ~/.claude/skills/savethetokens/scripts/skill_selector.py \
--query "..."
# External memory store (bounded retrieval)
python ~/.claude/skills/savethetokens/scripts/memory_store.py search \
--query "..." \
--for-prompt \
--top-k 5 \
--max-chars 1200
# Print lean session prompt template
cat ~/.claude/skills/savethetokens/docs/LEAN_SESSION_PROMPT.md
# Print strict benchmark harness prompt
cat ~/.claude/skills/savethetokens/docs/STRICT_BENCHMARK_PROMPT.md
スクリプト
| スクリプト | 目的 |
|---|---|
govern.py | メインエントリーポイント — 実行計画 |
analyze.py | コンテキスト分析 |
prune.py | 予算に合わせて削減(最大40%) |
session_hook_generator.py | セッション開始時のフック |
session_checkpoint.py | コンパクト化に備えたセッションのチェックポイントを保存 |
claude_md_optimizer.py | CLAUDE.md を最適化 |
quick_ref_generator.py | QUICK_REF.md を生成 |
tiered_context.py | 3段階のコンテキスト分類 |
relevance_scorer.py | コンテキストの関連性をスコアリング |
cost_calculator.py | ROI の追跡 |
launch_readiness.py | 起動ベンチマークとセクション別の削減レポート |
ab_telemetry.py | 信頼度チェック付きのライブ A/B テレメトリレポート |
context_snapshot_diff.py | /context スナップショットからトークンの回帰を検出 |
compact_watchdog.py | /compact と /clear の判断を安全に支援 |
tool_filter.py | フェイルオープンの安全策を備えた動的なツールフィルタリング |
skill_selector.py | 信頼度ゲート付きのセマンティックなスキルランキング |
memory_store.py | 取得範囲に上限を設けた外部メモリストア |
path_filter.py | パッケージディレクトリをフィルタリング |
品質ルール
- システムプロンプト、エラー、直近のメッセージは絶対に削減しないでください。
- 削減の上限:40%(品質を維持するため)
- 判断に迷ったら、コンテンツを残してください。
- 品質を損なうくらいなら、予算を超過させてください。
- 解決策は最小限にし、依頼に沿ったものにしてください。推測に基づくアーキテクチャは避けてください。
- 変更箇所に関連するテストやチェックを実行するか、実行できなかった内容を明示してください。
完全性チェックリスト(トークンが逼迫していても省略しない)
トークンを節約するには、メッセージを短くし、コンテキストをより賢く扱います。出力品質を妥協してはいけません。コード作業を完了する前に、次の項目を確認してください。
- 厳格な設定 — 利用可能な最も厳しいコンパイラー/リンター設定を有効にします(例:tsconfig の
"strict": true)。any型、@ts-ignore、@ts-nocheckは一切使用しません。 - 変更したコードのテスト — 変更したすべての関数/モジュールに、対応するテストを用意します。最低限、公開関数ごとに正常系を1つ、エラー系を1つ用意します。
- 安全制限 — ループ、再帰、または上限のない入力を処理するランタイムコードには、明示的なガードを設けます(最大反復回数、呼び出し深度、ステップ数、タイムアウト)。
- コンテキストを含むエラー処理 — エラーには場所の情報(ファイル、行、範囲)と、対処につながるメッセージを含めます。何も処理しない
catch(e) {}やexcept Exception: passは使用しません。 - 境界での入力検証 — ユーザー入力、API レスポンス、ファイル I/O を検証します。内部コードでは、内部の型を信頼できます。
- セキュリティの基本 — コマンドインジェクション、サニタイズされていないテンプレートへの値の埋め込み、ハードコードされたシークレットを避けます。クエリはパラメーター化します。
- ビルドの成功 — 完了を宣言する前に、型チェック/コンパイル/ビルドを実行します。実行できない場合は、その理由を明記します。
- 未検証の項目を明記 — 上記のチェックを実行できなかった場合(テストランナーやビルドスクリプトがないなど)、最終的な要約で該当項目を明示します。
代わりにトークンを節約する方法:進捗報告を短くする、関連する編集をまとめる、求められない限りコマンド出力を省く、コンテキストが50%になった時点で簡潔にする。
詳細ドキュメント(必要に応じて参照)
- EXECUTION_PLANS.md - 計画の構成
- PRUNING_STRATEGIES.md - プルーニングのロジック
- MODEL_SELECTION.md - モデルの推奨事項
- TOKEN_ESTIMATION.md - トークン数の推定
- SESSION_PLAYBOOK.md - 実践的なコンパクト化/リセットのワークフロー
- QUALITY_GATES.md - 必須のコード品質および主張の品質に関するゲート
- BENCHMARK_PROTOCOL.md - 公正な測定のための条件をそろえた A/B プロセス
- LEAN_SESSION_PROMPT.md - そのまま貼り付けて使える、厳格なトークン管理用プロンプト
- STRICT_BENCHMARK_PROMPT.md - 公正な Claude Code A/B テスト用の、そのまま貼り付けて使えるハーネス
- ADVANCED_AUTOMATION.md - 安全制御を備えた、任意の高度な機能
- LAUNCH_READINESS.md - 測定済みのローンチベンチマークレポート
- LIVE_TELEMETRY.md - ライブのコントロール実験と最適化実験のレポート
コメント
Markdown 対応