cost-metering について
Claude API のワークフロー向けに、セッション費用の記録、予算アラート、タスク別のモデル振り分けを行うスキルです。支出はローカルの JSON ファイルに保存され、workflow-orchestrator のコストゲートとも連携できます。
主な機能
- 01日次 API 支出の追跡
- 02予算の50・80・95%でアラート
- 03タスク種別に応じたモデル振り分け
- 04週次・月次支出レポートの作成
- 05機能単位のコスト指標を記録
- 06ワークフローのコストゲートに対応
活用シーン
- 01現在の支出と日次予算の残額を確認
- 02予算しきい値で警告または処理を停止
- 03検索・コーディング・一括処理にモデルを選択
- 04モデル別または工程別に費用を集計
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ scientiacapital/ skills --skill cost-meteringインストール後、Claude Code で/cost-meteringを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
config.jsonreference/budget-templates.mdcost-tracking-guide.md詳細
セッションごとの Claude API コストを、予算アラート、モデルルーティングの最適化、支出レポートを使って追跡します。自動的な予算管理のため、workflow-orchestrator のコストゲートと統合します。
<quick_start> 現在の支出を確認:
cat ~/.claude/daily-cost.json 2>/dev/null || echo "No tracking yet"
追跡を初期化:
mkdir -p ~/.claude
echo '{"date":"'$(date +%Y-%m-%d)'","spent":0,"budget_monthly":100,"budget_daily":5}' > ~/.claude/daily-cost.json
</quick_start>
<success_criteria>
~/.claude/daily-cost.jsonで日次コスト追跡が初期化されている- 50%(情報)、80%(警告)、95%(ブロック)のしきい値で予算アラートが発生する
- モデルルーティングが適用されている:検索/分類には Haiku、コードには Sonnet、大量処理には DeepSeek
- portfolio-artifact との統合により、機能あたりのコスト指標を利用できる
- 月間支出が設定済み予算(デフォルトは月額 $100)以内に収まる </success_criteria>
モデル料金(現在)
| モデル | 入力/100万トークン | 出力/100万トークン | 主な用途 |
|---|---|---|---|
| Claude Opus 4.6 | $5.00 | $25.00 | アーキテクチャ、複雑な推論 |
| Claude Sonnet 4.6 | $3.00 | $15.00 | コード生成、標準タスク |
| Claude Haiku 4.5 | $1.00 | $5.00 | 検索、分類、簡単なタスク |
| DeepSeek V3 | $0.27 | $1.10 | 大量処理 |
| GROQ Llama 3.3 70B | $0.59 | $0.79 | 高速推論 |
| Voyage Embeddings | $0.10 | — | 埋め込み |
v1.1.0 の料金変更: Opus $15/$75 → $5/$25(Opus 4.6 で 70% 安価)。Haiku $0.25/$1.25 → $1/$5(Haiku 3 → 4.5 で 4 倍高価)。Sonnet $3/$15 は変更なし(モデルを 4.5 → 4.6 にアップグレード)。
予算設定
~/.claude/daily-cost.json
{
"date": "2026-02-07",
"spent": 2.40,
"budget_monthly": 100,
"budget_daily": 5,
"alerts": {
"info": 0.5,
"warn": 0.8,
"block": 0.95
}
}
アラートのしきい値
| しきい値 | 予算の割合 | アクション |
|---|---|---|
| 情報 | 50% | 表示:「月間予算の 50% を使用しました」 |
| 警告 | 80% | 黄色のアラート:「⚠️ 予算の 80% — モデルのダウングレードを検討してください」 |
| ブロック | 95% | 赤色のアラート:「🛑 予算の 95% — 続行するには明示的な上書きが必要です」 |
コスト最適化戦略
1. モデルルーティング(最大の効果)
| タスク | 高コスト | 最適化後 | 削減率 |
|---|---|---|---|
| ファイル検索 | Sonnet($3/1M) | Haiku($1/1M) | 67% |
| コードレビュー | Sonnet($3/1M) | Haiku($1/1M) | 67% |
| 分類 | Sonnet($3/1M) | Haiku($1/1M) | 67% |
| 大量処理 | Sonnet($3/1M) | DeepSeek($0.27/1M) | 91% |
ルール: タスクでコードを生成しない場合は Haiku を使用します。Claude が不要な場合は DeepSeek を使用します。
2. コンテキスト管理
- SKILL.md ファイルは 200 行未満に保ちます(段階的な情報開示)
- 必要な場合にのみ参照ファイルを読み込みます
- コードベースの検索には、
haikuモデルを使うExploreエージェントを使用します - ファイル全体を読むのは避け、Grep を使って特定の行を検索します
3. タスクのバッチ処理
- 関連する検索を 1 回の Explore エージェント呼び出しにまとめます
- 逐次的な sonnet 呼び出しではなく、並列サブエージェント(haiku)を使います
- 可能な場合はファイルの読み込みをまとめます
追跡コマンド
日次支出の確認
cat ~/.claude/daily-cost.json | jq '{date, spent, remaining: (.budget_daily - .spent), pct: ((.spent / .budget_monthly) * 100 | floor)}'
週次レポート
# Aggregate daily logs
cat ~/.claude/cost-log.jsonl | jq -s 'group_by(.phase) | map({phase: .[0].phase, total: (map(.est_cost) | add), count: length})'
月次サマリー
cat ~/.claude/cost-log.jsonl | jq -s '{
total: (map(.est_cost) | add),
by_model: (group_by(.model) | map({model: .[0].model, cost: (map(.est_cost) | add)})),
by_phase: (group_by(.phase) | map({phase: .[0].phase, cost: (map(.est_cost) | add)}))
}'
統合ポイント
| システム | 方法 |
|---|---|
| workflow-orchestrator | ワークフローの前にコストゲートが予算を確認します |
| subagent-teams | モデルの選択にコスト階層を使用します |
| agent-capability-matrix | モデルの推奨を含みます |
| portfolio-artifact | 機能あたりのコスト指標をレポートします |
| End Day protocol | 日次コストを記録し、MTD を更新します |
| TaskCreate/TaskUpdate | API コストはゼロ — 進捗追跡用のローカル UI ツールです |
| TeamCreate/SendMessage | API コストはゼロ — ローカルでの連携(ただし、起動したエージェントにはモデルコストがかかります) |
保存先
~/.claude/
├── daily-cost.json # Current day's budget + spend
├── cost-log.jsonl # Append-only operation log
└── portfolio/
└── daily-metrics.jsonl # Includes cost-per-feature
詳細: reference/cost-tracking-guide.md、reference/budget-templates.md を参照してください
結果サイドカーの出力
最後の手順として、~/.claude/skill-analytics/last-outcome-cost-metering.json に書き込みます:
{"ts":"[UTC ISO8601]","skill":"cost-metering","version":"1.1.0","variant":"default",
"status":"[success|partial|error]","runtime_ms":[estimated ms from start],
"metrics":{"sessions_tracked":[n],"total_cost_usd":[n],"budget_alerts":[n]},
"error":null,"session_id":"[YYYY-MM-DD]"}
一部のステージが失敗しても結果が生成された場合は、ステータスに「partial」を使用します。出力がまったく生成されなかった場合にのみ、「error」を使用します。
コメント
Markdown 対応