Pattern
Codify the specific skill into a reusable template with five named seams, then scope the next instance from it — without faking a second working skill.
The skill on the Build page is one instance of a repeatable shape: take one already-flagged item, reconcile it against an authoritative reference dataset, classify it, cite the dataset, and gate anything irreversible. Five seams change from one instance to the next. Everything else — the output contract, the citation validator, the escalation logic — is fixed.
ExceptionSchema — the bill record: id, utility, urdb_rate_id, service_class, payment_status, billing_period, usage, line_items[], billed_total. Numeric/enum only.
The fields of one flagged item, plus a status field that gates escalation.
RFP intake record: buyer_unit, category_code, requirement_lines[], submission_status. Requirement text arrives pre-extracted, not as prose.
NREL URDB tariff JSON, dated and provenanced, with a citable_components allowlist (energyratestructure.period[i], flatdemandstructure.period[i], startdate/enddate, …).
The authoritative dataset with provenance and a citable-components allowlist.
A category taxonomy + standard-clause library. Open question: which system of record is authoritative, and can it be dated the way URDB tariffs are.
Six classes — rate-mismatch, tariff-superseded, seasonal-schedule-error, demand-charge-anomaly, data-quality (ambiguous), true-anomaly — worked top-down.
The domain taxonomy, including an explicit "inputs insufficient / more than one reference applies" class.
complete, missing-mandatory-field, ambiguous-category, out-of-scope-category, duplicate-of-existing-rfp, genuine-nonstandard-requirement.
{ classification, candidate_rate_ids?, evidence[] {statement, citation}, confidence, recommended_action, escalate, escalation_reason? }.
Fixed. The JSON shape never changes; only the classification enum comes from the rubric.
Unchanged from the template — same JSON; the enum comes from Seam 3.
Escalate when confidence is not high, when more than one tariff applies, or when the fix touches a paid invoice / payment / record of account.
Rules 1–2 fixed. Rule 3 is the domain reading of "already committed".
Rules 1–2 unchanged. Rule 3: escalate when the RFP is already issued to suppliers, or the fix changes what suppliers were asked to bid on.
procurement-rfp-intake
Scoped, not built — next candidate per the adoption-risk rankingThe stub above is a scoping document, not a runnable skill — no code, no recorded runs. It exists to show that the second instance is a seam-fill, not a rebuild: the intake schema and rubric are new, the reference-data seam has an open question (an authoritative, dateable source), and the output contract and citation validator carry over unchanged. Proving the operating model on the safer workflow first is what earns the right to fill these seams for real.