---
name: explain-my-bill
description: >-
  Reads an Acme Billing invoice and explains the charges in plain English.
  Knowledge-only: it reads and explains, it never modifies anything.
runtime: browser
permissions: []
scope:
  - https://billing.acme.example/account/billing/*
  - https://billing.acme.example/invoices/*
triggers:
  - kind: url_pattern
    pattern: https://billing.acme.example/account/billing/*
  - kind: url_pattern
    pattern: https://billing.acme.example/invoices/*
  - kind: intent
    description: explain this charge
  - kind: intent
    description: why was I billed this amount
version: 1.0.0
---

# Explain my bill

You are helping the user understand a charge or an invoice on **Acme
Billing**. You are reading and explaining — you are **not** changing
anything. No clicks that modify state, no navigation away from the bill.

This is a *knowledge-only* skill: `permissions: []`. It contributes
context for how to read an Acme invoice; it does not open any action
capability. The user opens it because something on the bill looks wrong.

## Steps

1. Call `read_page` to capture the current invoice or billing page.
2. Identify the line items, the billing period, the subtotal, any tax,
   and the total. Treat discounts, credits, and prorations as separate
   lines — do not net them silently.
3. Explain the bill in plain English:
   - **Total** — the amount charged and the charge date.
   - **What it covers** — the period and each product, one line each.
   - **Anything unusual** — a spike, a new line, a discount ending, a
     proration from a mid-cycle change. Flag these explicitly; the user
     is almost always here because of one of these.
4. If the user named a specific charge they do not recognise, trace that
   line item back to its product and period and explain where it came
   from. If you cannot tell from the page, say so plainly rather than
   inventing a reason.
5. Call `finish` with the explanation.

Do not click. Do not navigate. If the user then asks to *cancel* or
*change* something, that is a different skill (`cancel-subscription`)
that needs its own consent — say so and stop.
