Cost signal
Compare runner rates and static matrix fan-out before and after a workflow change.
See when a pull request expands a matrix, moves jobs to expensive runners, broadens triggers, or removes cost guardrails—while the change is still reviewable.
PULL-REQUEST COST SIGNAL
Keep macOS only for steps that require Apple tooling.
Remove unsupported combinations or split nightly coverage.
Illustration based on a validated public lab result . Public list-rate signals—not an invoice.
TRY IT NOW
Nothing you paste is uploaded, stored, or sent to an AI model.
Maximum 250 KB per workflow. YAML 1.2 is parsed locally.
WHAT YOU GET
The deterministic engine reports what changed, why it matters, and what remains unknown.
Compare runner rates and static matrix fan-out before and after a workflow change.
Every finding includes severity, confidence, concrete evidence, and a recommendation.
The Action can process recent run metadata ephemerally, with conservative fallback when incomplete.
PRACTICAL GUIDES
Worked examples using the same public catalog and conservative assumptions as the scanner.
Calculate static fan-out, combine it with runner rates, and recognize when a small YAML diff multiplies work.
Read the guideSee why runner selection and matrix size compound—and which safer changes to review first.
Read the guideINSTALL IN 2 MINUTES
Create .github/workflows/ci-bill-doctor.yml. No checkout step,
account, API key, or backend connection is required.
name: CI cost guard
on:
pull_request:
paths:
- ".github/workflows/**"
permissions:
contents: read
pull-requests: read
jobs:
inspect:
runs-on: ubuntu-latest
timeout-minutes: 5
steps:
- uses: seba-montero/ci-bill-doctor@v0
DESIGNED FOR TRUST
Runs entirely in your browser. No network request contains your workflow.
Runs inside your GitHub runner. History is opt-in and processed only in memory.
Public list-rate signals exclude quotas, discounts, credits, and unknown runners.
WHAT SHOULD COME NEXT?
Persistent history, policy guardrails, or multi-repository reporting? Share what would be worth paying for. No meeting or email required. The form and your GitHub username will be public.
STRAIGHT ANSWERS
No. It is a gross-equivalent signal at public list rates. It does not subtract included minutes, discounts, credits, or taxes.
No. The parser and analyzer are bundled into this page and execute locally in your browser.
Not by default. Comments, historical analysis, and failure thresholds are all explicit opt-ins.
The beta catalogs standard GitHub-hosted Linux, Windows, and macOS runners. Custom, larger, and self-hosted runners remain unknown.