Skip to content
Back to skills

Hr Usage Report

ASecurity

Measure where Claude Code, Codex and OpenCode usage went by provider, model and role, and chart model comparisons as HTML. Use for quota or cost questions and to show a model or role recommendation visually.

  • 2 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 17, 2026
ai-agentsgobashapidatabase

Works with

  • claude code
  • api

Security analysis

A100/100

Pro scans all 7 files and shows the line behind each finding

Scanned October 17, 2026

npx -y skills add bompus/house-rules --skill hr-usage-report --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Hr Usage Report?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Hr Usage Report
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/bompus-hr-usage-report/badge)](https://www.skillsdirectory.com/skills/bompus-hr-usage-report)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: hr-usage-report
description: Measure where Claude Code, Codex and OpenCode usage went by provider, model and role, and chart model comparisons as HTML. Use for quota or cost questions and to show a model or role recommendation visually.
---

# Usage report

Answer quota and model-role questions from measured usage and published
evidence, then show the result as charts and tables. Run the scripts from this
skill's directory with Bun.

## 1. Measure where usage went

```bash
bun scripts/usage-by-model.ts --days 7 [--providers claude,codex,opencode] [--claude-projects <dir,dir>] [--prices <api.json>] [--json]
```

It reads Claude Code transcripts (`projects` under `~/.claude` and under every
other `~/.claude_*` or `~/.claude-*` configuration directory, so sessions run
with a separate `CLAUDE_CONFIG_DIR` count; `--claude-projects` replaces that
list), Codex rollouts
(`~/.codex/sessions`) and the OpenCode database, all read-only and local. It
prices each request at [models.dev](https://models.dev) list rates, including
long-context tiers, and splits usage by provider, model and role: main session,
subagent, advisor. Without `--prices` it downloads `https://models.dev/api.json`;
that request carries no local data. Use `--since <ISO>` for a fixed start.

Read the output beside the provider's live quota readings:

- **Shares, not dollars.** List price stands in for subscription quota; no
  provider publishes the conversion. Say so in the report.
- **Cache reads.** When cache reads dominate a row's cost, context length, not
  the model's output, drives usage. Compare the main-request context median
  with the session-start median: the gap is conversation growth; the start is
  fixed overhead (system prompt, rules, tool schemas).
- **Advisor rows.** Each advisor call re-reads the whole transcript uncached at
  the advisor's rates; a few calls can outweigh many main turns.
- **Cross-provider work.** The same table shows what the author's sessions and
  another vendor's reviewer each cost.
- **Unpriced models.** The summary lists models models.dev has no price for;
  report them rather than dropping them.

## 2. Pick evidence by question

| Question                              | Evidence                                                             | Read                                                                |
| ------------------------------------- | -------------------------------------------------------------------- | ------------------------------------------------------------------- |
| Quality per dollar for implementation | Agentic coding boards that publish effort, harness and cost per task | Score against cost at every effort; cost per solved task            |
| Review and bug finding                | Bug-finding boards with run counts per row                           | The effort curve; treat single runs as noisy                        |
| Raw speed                             | Output tokens per second                                             | Generation speed only                                               |
| Task speed                            | Boards that time whole tasks                                         | Time to finish; a model that generates faster can still take longer |
| Fit for your own work                 | A known-answer trial on your own tasks (`hr-benchmarking`)           | Correctness and model time per task shape                           |

Compare models at the same effort and harness, or say they differ. A vendor
table that sets one model's top effort against another's lower effort is not a
matched comparison. Keep token speed and task time in separate charts; never
infer one from the other.

## 3. Render the report

Write a data file, then:

```bash
bun scripts/render-report.ts <data.json> <out.html>
```

The page is self-contained, follows the host's theme variables when it is
embedded, and falls back to a dark surface. `assets/example-report.json` uses
every section type.

The data file declares `series` once, so each model keeps one color across
every chart in the report: up to three colored series with slots 0 to 2, and at
most one `"reference": true` series drawn dashed and neutral. The renderer
rejects a fourth colored series because no fourth hue passes the color-vision
check on the dark surface against the other three. Compare more models in a
second report file.

Section types:

- `curve`: points with `x`, `y`, `label`, `tip` per series; `xLog`, domains,
  ticks and axis affixes. Use for score against cost across efforts.
- `ladder`: `categories` (usually efforts) and `values` per series, `null` for a
  missing row, optional `notes` such as run counts.
- `bars`: `rows` of `label`, `key`, `value`, optional `display` and `tip`.
- `pair`: two sections side by side, such as token speed beside task time.
- `table`: `columns` and `rows`; a cell may be `{ "text", "verdict": "yes" | "maybe" | "no" }`;
  `numeric` lists right-aligned column indexes.

End with one verdict table per model or role: role, key evidence with numbers,
verdict. Name the evidence date in the title, and apply any model or effort
limits the user has set before recommending a configuration.

Files in this skill

  • SKILL.md5.1 KB
  • agents/openai.yaml46 B
  • assets/example-report.json4 KB
  • assets/report-template.html12.8 KB
  • scripts/render-report.ts3 KB
  • scripts/usage-by-model.ts16.1 KB
  • test/usage-report.test.ts8.7 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.