Teach agents to blueprint purchase orders before layout: unambiguous buyer–vendor identity, ship and bill routing, a reconciled line-item commitment, and visual hierarchy that surfaces what is ordered, for where, by when, and under which terms—without inventing SKUs, prices, or authorization the user did not supply.
This skill produces purchase orders as
packages. Follow the
k2f skill for authoring: unpack or init a workspace, edit the semantic tree, run pack/verify, then export. K2F keeps agents on
meaning (parties, line roles, totals, delivery block)—not pixel coordinates—while the engine compiles layout, typography, and theme into consistent output across PDF and other formats.
Before you build, install the core skill:
npx skills add suzheng/k2f --skill k2f
.
Single blueprint for semantic content and aesthetic intent. Use labeled blocks the k2f skill can map to regions later.
-
PO type & commitment frame — Standard goods, services, blanket/call-off, or change order against an existing PO. Note currency, locale formatting, and whether prices are firm or estimate-only. Omit sections the type does not need (e.g., skip ship-to on pure services if user says digital delivery only).
-
Party & routing block — Buyer (issuing entity): legal name, address, contact, logo intent. Vendor: supplier name and address only from user. Ship-to and bill-to when they differ from buyer HQ; attention or receiving dock notes verbatim. Never fabricate vendor tax IDs, DUNS, or buyer approver names.
-
Reference metadata — PO number, issue date, requested or expected delivery date (header and/or per line if user supplied). Linked quote, RFQ, requisition, contract, or prior PO for amendments. One currency for the whole document; flag missing delivery expectation before layout.
-
Line-item architecture — Table-first, not narrative paragraphs. Per row: line number, description, optional part/SKU/model, quantity, unit, unit price, extended amount. Group sections (hardware vs installation) only when user data already splits that way. Change-order lines reference what they replace or add—never merge unrelated SKUs into one vague row.
-
Totals story (write the math in the doc) — Subtotal → freight/handling, each tax or fee with labeled rate →
PO total. State rounding (per line vs document). If quote and requisition totals conflict, mark
instead of picking one silently.
-
Terms & fulfillment footer — Payment terms, incoterms or shipping method verbatim from user. Special instructions (partial ship OK, packing, invoicing rules, remit-to). Authorized-by or signature block only if user named a role or name. Keep legal boilerplate minimal unless user supplied text.
-
Design intent — Tone, hierarchy, density, palette for the engine:
- Tone: authoritative, operational B2B; zero sales language—this is a binding request to supply.
- Hierarchy: “Purchase Order” + PO number and vendor name scannable in header; line table primary; ship-to and PO total strong in secondary zones; terms footer tertiary.
- Density: warehouse-friendly table rhythm; stable column order (#, item, qty, unit price, extended); right-align money; tabular numerals; one compact notes block max on the main view.
- Palette: restrained neutrals, one accent on PO number and total; WCAG AA; clear separation between routing addresses and line data.