Skip to main content
skill CX Codex

k2f-purchase-order — Claude Code skill: vendor-ready POs

Turns a requisition, quote or pasted line items into an issuance-ready purchase order a vendor can fulfil, ship and invoice against.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add suzheng/k2f --skill k2f-purchase-order -a claude-code
Open on GitHub

What k2f-purchase-order does

The skill walks the agent through a blueprint first: content_and_design.md holds buyer and vendor identity, ship-to and bill-to routing, reference numbers for the linked quote or requisition, the line-item table and the totals story. From that blueprint it builds a .K2F package and exports it. The agent stays on meaning — who is buying, who supplies, what is ordered, where it ships — while the K2F engine compiles layout, typography and theme.

There is an issuance gate. No send-ready document without a PO number, issue date, currency, reconciled total, vendor identity and ship/bill routing for physical goods. Line extensions drive the subtotal, and fees or taxes apply only to the documented base. When a quote total and a requisition total disagree, the skill marks NEEDS USER CONFIRMATION instead of quietly picking one. Vendor details, tax figures, payment terms and the approver name come from you only; invented part numbers and catalog prices get stripped.

This skill sits on top of k2f, so install the core first: npx skills add suzheng/k2f --skill k2f. Without it the unpack, semantic-tree edit, pack/verify and export steps have nothing to run on. That is worth checking if the agent complains about a missing engine.

What it helps with

  • issue a PO from an approved quote
  • turn a vague "we need 50 laptops" into numbered rows with quantity and price
  • reconcile subtotal, freight and taxes into one PO total
  • separate buyer, ship-to and bill-to addresses when they differ
  • flag missing tax or terms instead of inventing them

Example prompts for the agent

  • create a purchase order from this quote, vendor details are in the file
  • build a PO from the line-item list, ship to the warehouse, bill the legal entity
  • rebuild this draft PO so references, quantities and totals match the requisition

How to install k2f-purchase-order

1Skills CLI (Vercel)

npx skills add suzheng/k2f --skill k2f-purchase-order -a claude-code

2Manually: put the files in place

~/.claude/skills/k2f-purchase-order/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/k2f-purchase-order/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about k2f-purchase-order

How do I install k2f-purchase-order in Claude?

Install the core skill first: npx skills add suzheng/k2f --skill k2f. Then the PO skill: npx skills add suzheng/k2f --skill k2f-purchase-order -a claude-code. It lands at ~/.claude/skills/k2f-purchase-order/SKILL.md.

What does k2f-purchase-order do?

It produces a purchase order: parties, ship and bill routing, a line-item table with quantities and prices, the totals story and terms. Output is a .K2F package exported to the format you need.

Do I need the k2f skill as well?

Yes. This skill writes the blueprint and relies on k2f to unpack a workspace, edit the semantic tree, verify and export. Without the core, the build steps have nothing to run on.

Source text

SKILL.md · Apache-2.0
---
name: k2f-purchase-order
description: Create issuance-ready purchase orders from requisitions, quotes, or line-item lists—structured so vendors can fulfill, ship, and invoice without clarification loops. Use when the user asks for a purchase order, PO, procurement order, or buyer-issued order to a supplier. Create purchase orders with AI-native design and the highest aesthetic standards, powered by the K2F format and engine. Purpose-built for AI agents, K2F lets them focus on semantic content and design intent while automatically handling layout, typography, and formatting complexity.
---

# K2F Purchase Order — AI-Native Aesthetic Design

## Purpose

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.

## Built on K2F

This skill produces purchase orders as `.K2F` 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`.

## When to Use

- Issuing a PO from an approved quote, requisition, catalog cart, or pasted line items.
- Rebuilding a vague or generic AI PO so references, quantities, and totals match what procurement will send.
- Standard goods PO, services PO, or blanket/call-off PO where only user-defined scope belongs on the document.

## Workflow

### Step 1. Generate the content_and_design.md

Single blueprint for semantic content and aesthetic intent. Use labeled blocks the **k2f** skill can map to regions later.

**Sub-steps**

1. **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).

2. **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.

3. **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.

4. **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.

5. **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 `NEEDS USER CONFIRMATION` instead of picking one silently.

6. **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.

7. **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.

**Rules & constraints**

- **Issuance gate**: no send-ready blueprint without PO number, issue date, currency, reconciled total, vendor identity, and ship/bill routing when physical goods are involved.
- **Single source of truth**: line extensions drive subtotal; fees and taxes apply to the documented base only.
- **Reference discipline**: quote/req/contract IDs appear in metadata and optionally per line—not duplicated in prose.
- **Honesty gate**: mark missing tax, freight, or authorization; never infer catalog prices or approval without user input.

**Common failure modes**

- Paragraph “we need 50 laptops” → rewrite as numbered rows with qty, unit, and price.
- Missing ship-to or conflated buyer and ship-to → split addresses explicitly.
- Quote marketing copy in line descriptions → replace with fulfillment labels (SKU, spec, qty).
- Buried PO total or delivery date → promote in metadata and design intent.
- Invented part numbers, payment terms, or approver → strip; use `TBD — user must supply`.
- Mixed currencies or duplicate line numbers → renumber or escalate.

**Quality checklist**

- [ ] Buyer, vendor, and ship/bill addresses match user-supplied data only.
- [ ] Line qty × unit price reconciles to subtotal under stated rounding.
- [ ] Fees/taxes sum to PO total; amendment POs reference parent PO if applicable.
- [ ] Expected delivery aligns with terms and line-level dates when both exist.
- [ ] Design intent names emphasis for PO number, vendor, table, ship-to, and total.
- [ ] All figures traceable to user inputs or explicit formulas in the doc.

### Step 2. Use the content_and_design.md and k2f skill to generate a K2F file and export to an appropriate file format.

Follow **k2f** skill to instantiate the purchase order from the blueprint, apply roles from design intent, verify, and export the issuance-ready deliverable.

© suzheng · Apache-2.0 · suzheng/k2f

Similar skills

Everything for Office documents →

From the same set16

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor