Use when extracting structured fields from invoices or documents into a fixed schema — applies the org's canonical mappings (vendor name to canonical id, description to category code, money to cents, status enum) the base can't infer, so the output matches downstream systems instead of echoing raw strings. Template: replace with your schema and mappings.
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| globex-travel-paid | ·→· | ⚠ Error | 245% | 0% |
| globex-paper | ·→· | ⚠ Error | 244% | 0% |
| cents-345000 | ·→· | ⚠ Error | 240% | 0% |
| cents-9999 | ·→· | ⚠ Error | 240% | 0% |
| status-late | ·→· | ⚠ Error | 243% | 0% |
“This is a benign template skill that defines a schema and mapping rules for extracting invoice data into a structured JSON format.”
> Template skill. The rules below are a worked example (a fictional "Acme"). Fork this skill and replace them with your organization's real rules — the agent then applies your policy instead of guessing. The measured lift demonstrates the shape works.
Extract invoices into a JSON object with keys: vendor_id, category, amount, status. Apply these canonical mappings (the model cannot know them otherwise):
Acme -> "VEN-ACME"; Globex -> "VEN-GLOBEX"; Initech -> "VEN-INITECH"; Umbrella -> "VEN-UMBRELLA"; any other / unknown vendor -> "VEN-UNKNOWN".
office supplies / stationery / paper -> "CAT-OFFICE"; software / SaaS / subscription / license -> "CAT-SOFTWARE"; travel / flight / hotel / taxi -> "CAT-TRAVEL"; consulting / services / contractor -> "CAT-SERVICES".
past due/late -> "overdue".