Universal Agent-Prompt Quality Bar
This is the builder's compile check. If no archetype skill matches the user's request, OR if you want a final review pass after picking an archetype, follow these rules to write a great agent system prompt.
A produced agent is good only when it can finish a real run, not when it merely sounds capable.
Required run contract
Before writing the produced system prompt, instantiate this contract for the user's request:
- Trigger / input — what starts the run: a user message, schedule, webhook, file, spreadsheet row, support ticket, document, or event.
- Owned outcome — the one concrete result the agent is responsible for finishing.
- Available capabilities — only the tools, data sources, workflows, agents, or stored skills actually attached or available.
- Missing-capability fallback — what the agent must do when a required integration, credential, workspace, permission, source, or input is absent.
- Done criteria — how the agent proves the job is complete, including tool confirmation, read-back, tests, citations, delivery receipt, or an explicit not-run reason.
- Final response format — the exact receipt, report, draft, diff summary, confirmation, or escalation note the user receives.
Non-negotiable sections
Every produced agent system prompt MUST contain these sections. If any is missing, the agent will underperform.
1. Role and outcome
- One sentence: who the agent is and the single outcome it owns.
- Bad: "You are a helpful AI assistant."
- Good: "You are Acme's Tier-1 Email Triager. You reply to inbound billing and account tickets, or escalate cases that need a human."
2. Trigger and input
- Name what starts a run and what data the agent expects.
- Bad: implicit trigger.
- Good: "A run starts when the user provides a support ticket or a scheduled inbox workflow passes unread tickets to you."
3. Decision rules
- 3–6 bullets stating the defaults the agent uses when the request is ambiguous.
- Replace broad "ask the user" language with explicit choices unless action is impossible or unsafe.
- Bad: "If unsure, ask the user."
- Good: "If the customer didn't specify a region, default to the account's billing country and state that assumption once."
4. Capability awareness
- Describe capabilities only if they are attached or available.
- Phrase them in outcome terms, not internal ids.
- Bad: "Use
sheetsTool and emailWorkflow."
- Good: "You can read and update the connected leads sheet, and you can draft follow-up emails."
5. Missing-capability fallback
- Include explicit behavior for missing integrations, credentials, workspace, permissions, or data.
- Bad: agent silently invents success.
- Good: "If spreadsheet access is missing, stop and say: 'I need access to the leads sheet before I can update rows.'"
6. Communication style and final response format
- Tone, length, structure, and exact output shape.
- Bad: "Be friendly and helpful."
- Good: "Return a receipt with: action taken, affected records, status, verification, and next step if any."
7. Refusals and escalations
- What the agent will not do, and what it does instead.
- Always include out-of-scope and missing-capability refusals.
- For real user data or external systems, include destructive-action and privacy/security boundaries.
8. Completion criteria
- An explicit numbered list of conditions that MUST all be true before the agent stops.
- This is the single most important section. It is the #1 reason agents stop mid-task or wander.
- Good:
Completion criteria — you are NOT done until:
- The action was attempted, not merely planned.
- The result was verified by read-back, status code, test output, citation, or tool confirmation.
- Failures are reported with the specific item and reason.
- The final response follows the required format.
Stop only when all four are true.
9. Worked example
- Include one short input → behavior → final output example.
- The example must demonstrate a complete run, including verification or a clean fallback.
- Do not leave placeholder names or vague "then respond" endings.
Mandatory final audit rubric
Before calling the tool that writes the produced system prompt, verify every item below is true:
- Single concrete outcome: the role owns one job, not a vague domain.
- Named trigger/input: the prompt says exactly what starts a run.
- Capabilities are accurate: the prompt describes only attached/available tools, workflows, agents, data sources, or stored skills.
- Missing integration behavior exists: the prompt has a clean refusal/fallback for absent tools, credentials, permissions, workspace, or source data.
- Completion criteria are verifiable and tool-aware: done means confirmed, read back, tested, cited, delivered, or explicitly not run with a reason.
- Final response format is specified: the user knows what receipt/report/draft/confirmation to expect.
- No placeholders remain: no
<...>, "TBD", "TODO", "your company", "policy here", or generic policy gaps.
- No internal terms leak: no builder playbook names, tool ids, schemas, file paths, or implementation jargon.
- No unsupported promises: the prompt never claims the agent can browse, send, edit files, access sheets, run tests, or update accounts unless that capability is attached.
- Refusal path is present: unsafe, out-of-scope, destructive, or unsupported requests have explicit behavior.
- Worked example completes a full run: not just a sample input; it shows the expected action and final output.
If any item fails, revise the system prompt before writing it.
Universal anti-patterns to reject
- No completion criteria. Agent never finishes. Fix: add a numbered "done when" list.
- "Ask the user if unsure." Agent stalls on every request. Fix: state defaults, and ask only when action is impossible or unsafe.
- No scope. Agent drifts into unrelated requests. Fix: explicit in-scope / out-of-scope lists.
- Too many tools. Agent makes worse choices with more options. Fix: attach the minimum.
- Generic identity ("helpful assistant"). Produces generic output. Fix: name a specific outcome.
- No missing-capability fallback. Agent hallucinates success. Fix: state exactly when to stop and what to tell the user.
- Marketing voice in instructions ("be amazing", "delight users"). Untestable. Fix: concrete behaviors.
How to use this skill
If you already activated an archetype skill (coding, spreadsheet, research, customer-support, content-writer, ops-automation, generic-assistant), the archetype's template provides the domain rules. Use this skill as the final compile check.
If no archetype fit and the user's outcome is genuinely novel:
- Draft the run contract.
- Write each required section from scratch.
- Apply the mandatory final audit rubric.
- Reject anything that drifts toward the anti-patterns list.
Cross-references
coding-agent — for code-writing/editing/review agents.
spreadsheet-agent — for tabular data agents.
research-agent — for research-and-report agents.
customer-support-agent — for ticket / inbox triage agents.
content-writer-agent — for marketing / blog / social agents.
ops-automation-agent — for recurring / event-driven internal automation.
generic-assistant — fallback for general personal helpers.
1---2name: agent-prompt-quality-bar3description: Universal quality bar and final audit rubric for any agent system prompt. Activate this whenever you are unsure which archetype skill applies, or as a final review pass before writing the system prompt. It defines the required run contract, completion criteria, fallback paths, response format, and anti-patterns every produced agent prompt must satisfy.4---5
6# Universal Agent-Prompt Quality Bar
7
8This is the builder's compile check. If no archetype skill matches the user's request, OR if you want a final review pass after picking an archetype, follow these rules to write a great agent system prompt.
9
10A produced agent is good only when it can finish a real run, not when it merely sounds capable.
11
12## Required run contract
13
14Before writing the produced system prompt, instantiate this contract for the user's request:
15
161. **Trigger / input** — what starts the run: a user message, schedule, webhook, file, spreadsheet row, support ticket, document, or event.
172. **Owned outcome** — the one concrete result the agent is responsible for finishing.
183. **Available capabilities** — only the tools, data sources, workflows, agents, or stored skills actually attached or available.
194. **Missing-capability fallback** — what the agent must do when a required integration, credential, workspace, permission, source, or input is absent.
205. **Done criteria** — how the agent proves the job is complete, including tool confirmation, read-back, tests, citations, delivery receipt, or an explicit not-run reason.
216. **Final response format** — the exact receipt, report, draft, diff summary, confirmation, or escalation note the user receives.
22
23## Non-negotiable sections
24
25Every produced agent system prompt MUST contain these sections. If any is missing, the agent will underperform.
26
27### 1. Role and outcome
28
29- One sentence: who the agent is and the _single outcome_ it owns.
30- Bad: "You are a helpful AI assistant."
31- Good: "You are Acme's Tier-1 Email Triager. You reply to inbound billing and account tickets, or escalate cases that need a human."
32
33### 2. Trigger and input
34
35- Name what starts a run and what data the agent expects.
36- Bad: implicit trigger.
37- Good: "A run starts when the user provides a support ticket or a scheduled inbox workflow passes unread tickets to you."
38
39### 3. Decision rules
40
41- 3–6 bullets stating the defaults the agent uses when the request is ambiguous.
42- Replace broad "ask the user" language with explicit choices unless action is impossible or unsafe.
43- Bad: "If unsure, ask the user."
44- Good: "If the customer didn't specify a region, default to the account's billing country and state that assumption once."
45
46### 4. Capability awareness
47
48- Describe capabilities only if they are attached or available.
49- Phrase them in outcome terms, not internal ids.
50- Bad: "Use `sheetsTool` and `emailWorkflow`."
51- Good: "You can read and update the connected leads sheet, and you can draft follow-up emails."
52
53### 5. Missing-capability fallback
54
55- Include explicit behavior for missing integrations, credentials, workspace, permissions, or data.
56- Bad: agent silently invents success.
57- Good: "If spreadsheet access is missing, stop and say: 'I need access to the leads sheet before I can update rows.'"
58
59### 6. Communication style and final response format
60
61- Tone, length, structure, and exact output shape.
62- Bad: "Be friendly and helpful."
63- Good: "Return a receipt with: action taken, affected records, status, verification, and next step if any."
64
65### 7. Refusals and escalations
66
67- What the agent will not do, and what it does instead.
68- Always include out-of-scope and missing-capability refusals.
69- For real user data or external systems, include destructive-action and privacy/security boundaries.
70
71### 8. Completion criteria
72
73- An explicit numbered list of conditions that MUST all be true before the agent stops.
74- This is the single most important section. It is the #1 reason agents stop mid-task or wander.
75- Good:
76 > Completion criteria — you are NOT done until:
77 >
78 > 1. The action was attempted, not merely planned.
79 > 2. The result was verified by read-back, status code, test output, citation, or tool confirmation.
80 > 3. Failures are reported with the specific item and reason.
81 > 4. The final response follows the required format.
82 > Stop only when all four are true.
83
84### 9. Worked example
85
86- Include one short input → behavior → final output example.
87- The example must demonstrate a complete run, including verification or a clean fallback.
88- Do not leave placeholder names or vague "then respond" endings.
89
90## Mandatory final audit rubric
91
92Before calling the tool that writes the produced system prompt, verify every item below is true:
93
94- **Single concrete outcome**: the role owns one job, not a vague domain.
95- **Named trigger/input**: the prompt says exactly what starts a run.
96- **Capabilities are accurate**: the prompt describes only attached/available tools, workflows, agents, data sources, or stored skills.
97- **Missing integration behavior exists**: the prompt has a clean refusal/fallback for absent tools, credentials, permissions, workspace, or source data.
98- **Completion criteria are verifiable and tool-aware**: done means confirmed, read back, tested, cited, delivered, or explicitly not run with a reason.
99- **Final response format is specified**: the user knows what receipt/report/draft/confirmation to expect.
100- **No placeholders remain**: no `<...>`, "TBD", "TODO", "your company", "policy here", or generic policy gaps.
101- **No internal terms leak**: no builder playbook names, tool ids, schemas, file paths, or implementation jargon.
102- **No unsupported promises**: the prompt never claims the agent can browse, send, edit files, access sheets, run tests, or update accounts unless that capability is attached.
103- **Refusal path is present**: unsafe, out-of-scope, destructive, or unsupported requests have explicit behavior.
104- **Worked example completes a full run**: not just a sample input; it shows the expected action and final output.
105
106If any item fails, revise the system prompt before writing it.
107
108## Universal anti-patterns to reject
109
110- **No completion criteria.** Agent never finishes. Fix: add a numbered "done when" list.
111- **"Ask the user if unsure."** Agent stalls on every request. Fix: state defaults, and ask only when action is impossible or unsafe.
112- **No scope.** Agent drifts into unrelated requests. Fix: explicit in-scope / out-of-scope lists.
113- **Too many tools.** Agent makes worse choices with more options. Fix: attach the minimum.
114- **Generic identity ("helpful assistant").** Produces generic output. Fix: name a specific outcome.
115- **No missing-capability fallback.** Agent hallucinates success. Fix: state exactly when to stop and what to tell the user.
116- **Marketing voice in instructions ("be amazing", "delight users").** Untestable. Fix: concrete behaviors.
117
118## How to use this skill
119
120If you already activated an archetype skill (coding, spreadsheet, research, customer-support, content-writer, ops-automation, generic-assistant), the archetype's template provides the domain rules. Use this skill as the final compile check.
121
122If no archetype fit and the user's outcome is genuinely novel:
123
1241. Draft the run contract.
1252. Write each required section from scratch.
1263. Apply the mandatory final audit rubric.
1274. Reject anything that drifts toward the anti-patterns list.
128
129## Cross-references
130
131- `coding-agent` — for code-writing/editing/review agents.
132- `spreadsheet-agent` — for tabular data agents.
133- `research-agent` — for research-and-report agents.
134- `customer-support-agent` — for ticket / inbox triage agents.
135- `content-writer-agent` — for marketing / blog / social agents.
136- `ops-automation-agent` — for recurring / event-driven internal automation.
137- `generic-assistant` — fallback for general personal helpers.