视觉画布设计
canvas-design
基于设计原则创作静态视觉作品,用于海报与品牌图形。
pay-the-bills【文档与办公】Works the bill pile from the AP inbox all the way to a staged payment run — reads and codes every bill, then checks the cash position before a dollar is committed, then stages the run for one-click approval and keeps the books tidy for close. Coding and paying are two separate decisions with two separate approvals, and the cash check sits between the…
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
Chain three skills so paying vendors is one decision instead of an afternoon: ap-processor for the bills, cash-flow-snapshot for the cash check, month-end-prep for the books.
The cash check in the middle is the point of this command. Any tool can code bills and any tool can cut checks. What owners actually need is to know, before they commit, whether the money is there.
Invoke ap-processor.
ap-processor owns the dedupe, the extraction, the coding rules, and the three-way match. Do not second-guess any of it here.
Ramp and Expensify are backups, and they behave differently. Expensify is read-only search — it finds expenses and flags the ones with no receipt, and it changes nothing. Ramp can approve or reject a bill and mark it ready to sync, which makes it a real write path and means it never becomes the primary route here: the ledger stays the system of record, and any Ramp write sits behind gate two like everything else. Reimbursements appear in both; count them once.
Gate one — the coding approval. Nothing is written to the ledger until the owner says yes. State the count, the total dollars, which ledger the entries land in, and that they land as unpaid bills awaiting payment, not as payments.
Without a ledger connector, ap-processor produces a coded import file and a plain summary. That is a complete outcome, and the chain continues.
Run this before staging any payment run. Always. No exception.
Invoke cash-flow-snapshot, handing it the staged payables from Step 1 so the forecast runs on real numbers instead of a guess.
With Gusto connected, the payroll figure in this comparison comes from the actual upcoming run — date and amount — rather than a recurring-transaction guess. Say which it was.
Then answer the one question the owner is actually asking, in a sentence with numbers in it:
Paying all 14 bills on Friday leaves USD 6,200. Payroll on the 15th is USD 18,400. Paying the four that are actually due this week leaves USD 21,700 and clears payroll.
That is the sentence Ray Okonkwo at Okonkwo Mechanical needs before he approves anything. Without it, this command is just a bill printer.
If the cash data is not available, say so plainly and say the payment run is being proposed without a cash check. Never imply the money is there when nothing was checked.
Only now, and only with the cash picture on screen, does ap-processor propose which bills to pay: grouped by vendor, with the total leaving the account, the date, any early-pay discounts and what they are worth, and anything late enough to risk a stop-ship.
Gate two — the payment approval. This is a separate decision from Step 1, not a continuation of it. Approving the coding is not approving the spend, and merging the two gates is how a plugin loses an owner's trust permanently.
Say the total out loud before asking. The owner approves or trims the list. The command never widens it, and nothing auto-pays, including recurring bills approved a hundred times before. Recurrence is not consent.
After the run is approved, invoke month-end-prep scoped to what this run touched.
Two questions get answered while the detail is still fresh: did anything land uncategorized, and did any bill get paid twice across the email copy, the portal reminder, and the statement line.
Do not run a full month-end close here. That is /close-month. This is a tidy-up pass on this run's entries.
No QuickBooks and no mail connector is still a working path. Bills come in as PDFs or photos, coding happens the same way, the cash check runs from a CSV export or is skipped with that said plainly, and the output is a coded import file plus a payment run sheet the owner or their bookkeeper keys in.
../../shared/untrusted-content.md).../../shared/quickbooks-report-traps.md, Trap 6).Deliver the payment-run summary per the owner's stored output preference — never default to a markdown file. Check the ## Business context block's Output preference (shared style guide rule, ../../shared/artifact-style.md):
The bills are paid or staged and the books are tidy behind them. The natural next step is "who owes me money" — invoice-chase works the other side of the ledger so the cash that just left gets replaced. Also nearby: "cash forecast" (cash-flow-snapshot) to see the position after this run settles, and "close the month" (/close-month) when the period ends. Offer at most three, and skip any offer the owner already declined this session.
The connectors named in this skill are the tested paths, not a wall. If the owner wants this flow to use a tool that isn't connected or listed, offer build-connector — it checks the connector directory first and connects through Zapier otherwise, never hand-building against a raw API. Once the connection exists, the tool joins this skill like any other optional connector, under the same approval gates.