Skip to main content
Reference — generated from the toolkit

Source of truth: toolkit/skills/pfd-drafting/spec.md. Edit it there; this page is regenerated on build.

Skill: pfd-drafting

  • Owner: AI + Product
  • Version: 0.1.0
  • Lifecycle: draft
  • Phase: definition

Trigger

Discovery is done and a PFD needs writing: SME notes and a research pack exist, and the PO wants a structured first draft rather than a blank template. The skill-ified successor to the PFD first-draft prompt — invoked once per product/feature entering Definition, and re-invoked when new research materially changes the picture.

Inputs → outputs

  • Inputs: SME notes, the discovery research pack (cited and confidence-rated), the domain brief, and the product glossary.
  • Outputs: a draft PFD per the PFD template — every section attempted, every gap surfaced as an explicit open question (triaged blocking vs non-blocking), plus a list of every domain term used so the glossary check is mechanical. Status is always draft; outputs are checked by the pfd-review skill before the Definition of Ready gate.

Procedure

  1. Ingest the research pack, SME notes, domain brief and glossary; index claims by source and confidence.
  2. Map material to PFD sections — problem/JTBD, personas, scope (in and out), domain rules, success metrics, NFRs, compliance constraints (UK GDPR, FCA Consumer Duty, EU AI Act classification where AI features are proposed), commercial section.
  3. Draft acceptance criteria per the acceptance-criteria standard: Given/When/Then, with a positive, negative and boundary example per rule; name the insurance boundaries (renewal dates, backdating, MTAs, rounding) explicitly.
  4. Where the source material cannot support a section or example, write an open question — never a plausible guess. Judgement is used to triage questions as blocking/non-blocking, not to answer them.
  5. Emit the draft plus the domain-term list for glossary reconciliation.
  6. Hand off to PO + SME; the draft is a starting point, never a finished PFD.

Guardrails & permissions

  • Read-only on all inputs; writes only the draft PFD and term list. Standard agent guardrails apply.
  • Uses only the supplied pack and notes — no independent web research mid-draft (unverified claims would bypass the confidence-rating done in discovery).
  • Never sets PFD status beyond draft and never records SME sign-off — humans pass the Definition of Ready gate, not the skill.
  • Gaps become open questions; inventing domain rules is out of scope absolutely — a plausibly-wrong rule here is built at agent speed downstream.

Failure modes

  • Filling gaps with plausible-but-unsourced content (detected: pfd-review cross-checks claims against the pack; mitigated: explicit no-invention instruction and gap-flagging step).
  • Vague, untestable ACs (detected: ambiguity lint at the gate — banned words like "appropriate", "quickly"; mitigated: three-example discipline).
  • Orphan domain terms (detected: glossary reconciliation against the emitted term list).
  • Mis-triaging a blocking question as non-blocking (mitigated: PO reviews the triage; the gate blocks on any remaining blocking question).

Golden scenarios

ScenarioInputExpected outputPass criterion
Complete research packfixture pack + SME notes (MTA feature)full draft PFD, ACs with 3 examples per rulesection completeness + ambiguity lint clean
Seeded gapspack with 3 known missing factsall 3 surfaced as open questions, none filled100% of seeded gaps flagged, 0 invented
Unsupported claim baitnotes containing an SME aside contradicting the packcontradiction raised as a blocking questioncontradiction flagged, not resolved silently