agentleFS
rickbauer327-cellrickbauer327-cell/solo-stack-starter/skills/invoice-generator/SKILL.md

invoice-generator

Skill2 starsChanged 58 days agoMITView on GitHub

Use when the user needs to create an invoice, bill a client, or turn a time log or list of deliverables into a sendable invoice. Produces a clean HTML invoice (printable to PDF) plus a markdown copy, numbered sequentially, using terms and details from .solo/business.md.

13 other projects use a version of this.

Adopted by

Most recently taken up by

The file

We split this skill into the rules it gives an agent

7 rules. 0 are common, 4 are distinctive, and 3 are very specific to this project.

  • 0

    Common

    Most of the 12 edited versions we read keep these.

  • 4

    Distinctive

    This author's own choices. Worth a look.

  • 3

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Read .solo/business.md. You need: business name/name, payment terms, payment methods, tax notes, currency, hourly/day rate.

    line 11
  2. Very specific:

    Look in invoices/ for existing files named INV-<number>-*.{html,md}.

    line 14
  3. Very specific:

    Write invoices/INV-<number>-<client-slug>.html and .md.

    line 27
  4. Distinctive:

    Keep it plain. No logos unless the user provides a path.

    line 53
  5. Distinctive:

    Do not guess tax rates. If business.md is silent, no tax line, and say so.

    line 61
  6. Distinctive:

    Do not reuse or skip invoice numbers.

    line 62
  7. Distinctive:

    Do not put bank account numbers into the file unless they are already in business.md or the user pastes them for this invoice.

    line 63

“Common” is measured: kept by at least 6 in 10 of the 12 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Invoice Generator

Produce an invoice the user can send within a minute. Output is a self-contained HTML file (prints cleanly to PDF from any browser) plus a markdown copy for records.

Step 1 — Load context

Read .solo/business.md. You need: business name/name, payment terms, payment methods, tax notes, currency, hourly/day rate. If missing, ask for only the missing fields — do not run the full setup.

Step 2 — Invoice number

Look in invoices/ for existing files named INV-<number>-*.{html,md}. Use the highest number + 1. If the folder is empty, ask the user for the starting number (default INV-0001). Never reuse a number.

Step 3 — Line items

Accept any of:

  • A time log (from /time-log or pasted): group by task/day, multiply hours by rate.
  • A list of deliverables with fixed prices.
  • A milestone from a proposal/SOW ("50% deposit for X").

Confirm the total with the user before writing if you had to make any assumption (e.g. which rate applies).

Compute: subtotal, tax (only if business.md specifies a rate; otherwise none and say so), total. Due date = issue date + payment terms (default net 14).

Step 4 — Write the files

Write invoices/INV-<number>-<client-slug>.html and .md.

HTML requirements: single file, no external assets, system font stack, prints on one A4/Letter page, @media print hides nothing important. Layout:

<Business name>                                    INVOICE
<address / email / website>                        INV-<number>
                                                   Issued: <date>
Bill to:                                           Due: <date>
<Client name>
<Client contact / address if known>

| Description | Qty | Rate | Amount |
|-------------|-----|------|--------|
| ...         |     |      |        |

                                       Subtotal   <amount>
                                       Tax (<x>%) <amount>   (omit row if none)
                                       TOTAL      <amount>

Payment: <methods from business.md>
Terms: <payment terms>. <Late fee policy if any.>
<Tax/VAT note if any.>
Thank you.

Keep it plain. No logos unless the user provides a path; no colors beyond one accent for the total.

Markdown copy: same content as a table, for the user's records and for /monthly-finance-summary.

Step 5 — Hand off

Report: file paths, total, due date. Offer a 3-sentence cover email in the business.md tone ("Invoice attached for <project>, total <amount>, due <date>. Let me know if anything needs adjusting.").

Do not

  • Do not guess tax rates. If business.md is silent, no tax line, and say so.
  • Do not reuse or skip invoice numbers.
  • Do not put bank account numbers into the file unless they are already in business.md or the user pastes them for this invoice.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.