invoice

Generates itemized Stripe invoices from project scope with draft review and hosted pay links.

Updated Jun 16, 2026
One-click install
npx skills add https://github.com/adamtpang/summon.company --skill invoice-adamtpang
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: invoice
Source: https://github.com/adamtpang/summon.company/tree/main/skills/invoice
Command: npx skills add https://github.com/adamtpang/summon.company --skill invoice-adamtpang

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) components.

What problem does it solve? Billing clients for completed work requires reading the actual project scope, decomposing it into recognizable line items, pricing defensibly, and creating a real Stripe invoice, all of which is slow and error-prone when done manually. ## Core Features & Use Cases - Scope-aware line items: Reads a repo, URL, or description and decomposes the actual work into 1-8 client-recognizable line items with defensible pricing. - Dual Stripe engines: Creates draft invoices via the Stripe MCP connector when available, or falls back to a dependency-free Node script using the Stripe REST API. - Client profiles and presets: Stores per-client JSON profiles with pinned customer IDs, terms, footers, and named line-item presets for fast repeat billing. - Use Case: After finishing a client project, ask to invoice the client for the work; the skill drafts an itemized invoice, shows it for review, creates a Stripe draft with a hosted pay page and PDF, and only sends on explicit approval. ## Quick Start Ask the assistant to invoice a client for a project by providing the repo path or description, the client name and email, and your rate or target total, then review the draft before saying send.

Frequently Asked Questions about invoice

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I create a Stripe invoice from a project automatically?

Provide the project repo path, URL, or description plus the client name, email, and your rate or target total. The skill reads the scope, drafts itemized line items, shows the draft, then creates a Stripe draft invoice with a hosted pay link and PDF.

How to send a Stripe invoice without the Stripe dashboard?

Use the Stripe MCP connector in the session or run the fallback script scripts/invoice.mjs with --name, --email, and --item flags. The invoice is finalized only on your explicit send command, which triggers Stripe to email the hosted invoice and PDF.

Does the invoice script require npm dependencies?

No, scripts/invoice.mjs is dependency-free and uses Node's built-in fetch against the Stripe REST API. The secret key is resolved from the STRIPE_SECRET_KEY environment variable or a local .env file and is never printed.

Can I reuse client billing details across invoices?

Yes, client profiles live in clients/<slug>.json with name, email, pinned Stripe customer ID, default terms, footer, and named line-item presets. Passing --client <slug> loads the profile and --preset pulls a saved line item, with flags overriding profile values.

Why does the invoice stay in draft instead of sending?

Drafts are created with auto_advance disabled so nothing reaches the client without approval. Finalizing assigns the invoice number and sending is irreversible, so the skill only finalizes and sends after the explicit word send.