This skill produces quotations 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, scope roles, option tiers, totals)—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.
-
Quote type & decision frame — Fixed price, time-and-materials cap, milestone-based, or tiered packages. Note currency, locale formatting, tax treatment (inclusive/exclusive/unknown), and whether this is binding or indicative. Omit sections the type does not need (e.g., skip acceptance block on a rough ballpark).
-
Party & identity — Seller and client names, addresses, contacts, logo intent. Registration or tax IDs only if user provided. Never fabricate signatures or authorized signatory names.
-
Reference metadata — Quote number, issue date, valid-until date (or explicit validity rule). Project name, RFP/PO reference, version (v1, v2). One currency for the whole document; flag missing validity before layout.
-
Offer narrative (assertion, then evidence) — One short block states what the client gets and why this price (outcome-oriented, not marketing fluff). Follow with evidence: line table, tier summary, or milestone list—not long prose that repeats table rows. If the user pasted client requirements, keep verbatim ask in a distinct subsection and map your priced response beside it; do not merge RFP text into line descriptions.
-
Line-item architecture — Table-first. Per row: deliverable or SKU label, qty, unit, unit price, line total. Group sections (implementation, licensing, support) only when user data already splits that way. Optional add-ons and alternates as labeled blocks—not hidden footnotes. Discounts as explicit lines or documented percent rules.
-
Totals story (write the math) — Subtotal → taxes/fees with labeled rates →
quote total → optional “from” pricing when tiers exist. State rounding (per line vs document). If inputs conflict, mark
instead of guessing.
-
Boundaries & terms — Inclusions, exclusions, assumptions, dependencies on client inputs. Payment or deposit milestones verbatim from user. Acceptance steps, change-order pointer, and warranty/support only if supplied. No invented liability caps or SLA numbers.
-
Design intent — Tone, hierarchy, density, palette for the engine:
- Tone: confident, precise B2B; persuasive through clarity, not hype.
- Hierarchy: quote title + number in header; scope headline and quote total strongest; line table secondary; validity and exclusions visible without hunting.
- Density: readable table rhythm; right-align money; tabular numerals; at most one short assumptions block on the main view.
- Palette: restrained neutrals, one accent on total and primary CTA (e.g., “Accept by …”); WCAG AA; tier columns visually parallel for comparison.