PTCF is a four-part skeleton - Persona, Task, Context, Format - that forces you to answer the four questions a model actually needs answered before it can give you a dependable response.
The four parts
Persona sets who is answering. Task states the single job as an imperative. Context supplies the facts and constraints the model cannot infer. Format defines the output contract: structure, length, and what to do when there is no good answer.
Here is the same job - triaging a support message - written with PTCF. It is copy-ready:
# Persona
You are a support triage assistant for a SaaS product.
# Task
Classify the customer message into a single priority level.
# Context
P0 (service down / data loss), P1 (broken feature, no workaround), P2 (degraded, workaround exists), P3 (question). Billing issues are never above P2.
# Format
Return JSON only:
{ "priority": "P0|P1|P2|P3", "reason": "one sentence" }
If the message is empty or unintelligible, use P3.A prompt without a format spec outsources its hardest decision - what the answer should look like - to chance.
Stuffing the persona with world-class expert genius adds tokens, not accuracy. Be specific, not flattering. And always give the model a failure path.
