home / skills / openclaw / skills / model-usage

model-usage skill

/skills/steipete/model-usage

This skill summarizes per-model usage and costs from CodexBar for Codex or Claude, returning current or full model breakdowns to inform budgeting.

npx playbooks add skill openclaw/skills --skill model-usage

Review the files below or copy the command above to add this skill to your agents.

Files (4)
SKILL.md
2.0 KB
---
name: model-usage
description: Use CodexBar CLI local cost usage to summarize per-model usage for Codex or Claude, including the current (most recent) model or a full model breakdown. Trigger when asked for model-level usage/cost data from codexbar, or when you need a scriptable per-model summary from codexbar cost JSON.
metadata: {"clawdbot":{"emoji":"📊","os":["darwin"],"requires":{"bins":["codexbar"]},"install":[{"id":"brew-cask","kind":"brew","cask":"steipete/tap/codexbar","bins":["codexbar"],"label":"Install CodexBar (brew cask)"}]}}
---

# Model usage

## Overview
Get per-model usage cost from CodexBar's local cost logs. Supports "current model" (most recent daily entry) or "all models" summaries for Codex or Claude.

TODO: add Linux CLI support guidance once CodexBar CLI install path is documented for Linux.

## Quick start
1) Fetch cost JSON via CodexBar CLI or pass a JSON file.
2) Use the bundled script to summarize by model.

```bash
python {baseDir}/scripts/model_usage.py --provider codex --mode current
python {baseDir}/scripts/model_usage.py --provider codex --mode all
python {baseDir}/scripts/model_usage.py --provider claude --mode all --format json --pretty
```

## Current model logic
- Uses the most recent daily row with `modelBreakdowns`.
- Picks the model with the highest cost in that row.
- Falls back to the last entry in `modelsUsed` when breakdowns are missing.
- Override with `--model <name>` when you need a specific model.

## Inputs
- Default: runs `codexbar cost --format json --provider <codex|claude>`.
- File or stdin:

```bash
codexbar cost --provider codex --format json > /tmp/cost.json
python {baseDir}/scripts/model_usage.py --input /tmp/cost.json --mode all
cat /tmp/cost.json | python {baseDir}/scripts/model_usage.py --input - --mode current
```

## Output
- Text (default) or JSON (`--format json --pretty`).
- Values are cost-only per model; tokens are not split by model in CodexBar output.

## References
- Read `references/codexbar-cli.md` for CLI flags and cost JSON fields.

Overview

This skill summarizes per-model usage and cost from CodexBar local cost logs for Codex or Claude. It supports a "current model" view (most recent daily entry) and a full breakdown across all models. Use it when you need a scriptable, human- or machine-readable summary of model-level costs from CodexBar JSON output.

How this skill works

The script reads CodexBar cost JSON produced by the CLI or from a file/stdin. For the current-model mode it selects the most recent daily row with modelBreakdowns and picks the highest-cost model, falling back to the last modelsUsed entry if breakdowns are missing. In all-models mode it aggregates cost values per model and emits text or JSON output.

When to use it

  • You need a quick per-model cost snapshot for the most recent billing day.
  • You want a full breakdown of costs across all models in your CodexBar data.
  • You need output that can be consumed by other scripts (JSON or plain text).
  • You want to override automatic detection and force a specific model summary.
  • You have CodexBar cost JSON saved to a file or streaming via stdin.

Best practices

  • Fetch fresh cost JSON using the CodexBar CLI before running the script to ensure up-to-date results.
  • Use --mode current for quick checks and --mode all for audits or reports.
  • Pass --input - to stream JSON via stdin for automated pipelines.
  • Use --format json --pretty when integrating with downstream tools that expect structured data.
  • Explicitly set --model <name> when you need a deterministic model selection instead of the top-cost heuristic.

Example use cases

  • Run a daily job that pipes codexbar cost --format json into the script to extract the current most expensive model.
  • Generate a monthly report that aggregates costs per model by running the script in --mode all and saving pretty JSON.
  • Automate alerts that notify when a specific model's daily cost exceeds a threshold by combining the script with simple filtering.
  • Quickly inspect model-level spend after a deployment to verify new model usage is within budget.
  • Include the script in CI/CD pipelines to produce a compact per-model cost summary as part of billing checks.

FAQ

What input sources are supported?

The script supports running the CodexBar CLI directly, reading a JSON file via --input, or accepting JSON on stdin.

How does current-mode pick the model?

It uses the most recent daily row with modelBreakdowns and selects the highest-cost model, falling back to the last modelsUsed entry if breakdowns are missing; you can override with --model.