agentsclimarketplace

Agent

Skill ChialiT/Simple-Invoice/Agent

Agent friendly invoice generator with human in the loop, or human as the driver. Light weight, keep it simple.

Install
npx -y skills add ChialiT/Simple-Invoice --skill Agent

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Manage invoices using the local Simple Invoice app (FastAPI + SQLite). Use this skill whenever the user asks to create invoices, check status, find unpaid invoices, mark invoices as paid, or reconcile payment references against open invoices. Always use API endpoints and avoid direct database edits.

SKILL.md

3.3 KB, 803 tokens by cl100k_base, as published. Nobody here has run it

Simple Invoice Skill Template

This file is intentionally sanitized for open-source use. Before using in production, update all REQUIRED_UPDATE values.

Required Setup

  • REQUIRED_UPDATE::APP_BASE_URL (example: http://127.0.0.1:8080)
  • REQUIRED_UPDATE::PROJECT_ROOT (example: /path/to/Simple-Invoice)
  • REQUIRED_UPDATE::PRIMARY_OPERATOR_NAME (example: Finance Admin)
  • REQUIRED_UPDATE::NOTIFICATION_CHANNEL (example: Slack #finance or Telegram)

If these are unknown at runtime, agents should ask the user once and cache locally.

App Context

  • Entry point: app.py
  • Business logic: invoice_service.py
  • Templates: templates/
  • Database: invoices.db (SQLite)
  • PDFs: pdfs/INV-XXXX.pdf
  • Assets: Asset/full-logo.png, Asset/wise-quick-pay-qr-code.png (or env-configured paths)

API Reference

Base URL: REQUIRED_UPDATE::APP_BASE_URL

List invoices

GET /api/invoices
GET /api/invoices?status=Sent

Get a single invoice (with totals/tax breakdown)

GET /api/invoices/{id}

Mark invoice as paid

PATCH /api/invoices/{id}/paid
Content-Type: application/json
{"wise_ref": "TRANSFER-XXXX"}  # optional

List contacts

GET /api/contacts

Status summary

GET /api/summary

Tax Types

KeyLabel
zero_ratedZero-rated (0%)
gstGST (5%)
exemptExempt (0%)
out_of_scopeOut of Scope (0%)
gst_qst_qcGST/QST QC - 9.975 (14.975%)
qst_qcQST QC - 9.975 (9.975%)

Standard Agent Tasks

Check unpaid invoices

  1. Call GET /api/invoices?status=Sent
  2. Call GET /api/invoices?status=Overdue
  3. Report: invoice id, client, due date, total, currency

Reconcile payment reference

  1. Fetch open invoices (Sent)
  2. Compare incoming payment amount/reference with invoice total
  3. If matched, call PATCH /api/invoices/{id}/paid with wise_ref
  4. Send summary to REQUIRED_UPDATE::NOTIFICATION_CHANNEL

Verify app health

curl REQUIRED_UPDATE::APP_BASE_URL/api/summary

If unavailable, notify REQUIRED_UPDATE::PRIMARY_OPERATOR_NAME and suggest:

cd REQUIRED_UPDATE::PROJECT_ROOT
source venv/bin/activate
python app.py

Compute outstanding total

  1. Fetch GET /api/invoices?status=Sent
  2. Sum total by currency (do not mix currencies)
  3. Return grouped totals (e.g., USD, CAD, EUR)

Rules

  • Never write directly to invoices.db for normal operations.
  • Use API endpoints for all invoice state changes.
  • Treat cross-currency or partial-payment matches as manual review.
  • Keep secrets/payment/account details in .env, not in this file.
  • Do not hardcode private client names, bank numbers, or personal paths.

Optional Local Extensions

You can add organization-specific sections below, but keep them private:

  • Known clients mapping
  • Auto-match tolerance policy
  • Notification templates
  • Bookkeeping/export hooks

If you publish this repo, remove private sections before commit.

Gives 0 of the 12 instructions most databases sql skills give in 803 tokens

Counted across 589 of the 662 authors here whose files we hold, read 2026-08-06

  • use parameterized queriesin 36 of 589, across 32 files
  • use timestamptz for timestampsin 30 of 589, across 12 files
  • create indexes concurrentlyin 29 of 589, across 23 files
  • index foreign keysin 28 of 589, across 17 files
  • use numeric type for moneyin 25 of 589, across 8 files
  • select only required columnsin 24 of 589, across 19 files
  • use cursor pagination instead of OFFSETin 23 of 589, across 15 files
  • add indexes manually on foreign key columnsin 22 of 589, across 11 files
  • read individual rule files for detailed explanationsin 18 of 589, across 4 files
  • configure connection poolingin 18 of 589, across 16 files
  • put equality columns before range columns in indexesin 17 of 589, across 9 files
  • normalize to third normal formin 17 of 589, across 8 files

Said here and by no other author read

  • use API endpoints for invoice state changes
  • fetch sent and overdue invoices to check unpaid
  • fetch open invoices before reconciling payments
  • mark matched invoices as paid via API
  • send reconciliation summaries to the notification channel
  • group outstanding totals by currency

Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.