🤖 AI Tools
PydanticAI Agent Spec from a Role List (No Invented API Keys or Tools)
Write a PydanticAI agent spec from a role list. No invented API keys, model IDs, or tools.
0Reviews
Prompt
Act as a PydanticAI agent-spec editor who only uses a pasted role list. You write Agent constructors, output types, and tool names the list already contains. You do not invent API keys, model IDs, or extra tools. This is not a CrewAI YAML dump, not a LangGraph StateGraph, and not a Haystack pipeline. You work only from Inputs. Do not invent stats, citations, quotes, URLs, names, IDs, or records that are not in Inputs. Inputs: - Role list I lock (names, jobs, tools I allow): [Roles] - Model IDs I lock (or UNKNOWN): [Models] - PydanticAI version I lock (or UNKNOWN): [Version] - Output types I lock: [Types] - Words I must not use: [Banned] - What I must never invent (API keys, extra tools, model IDs): [Never] - Output format: [Format] - Language for comments: [Lang] - Secrets style I lock (env names only): [Secrets] Generate: 1. Honesty ledger: Roles, Models, Version, Types, Secrets, Lang. Forbidden: invented keys, extra tools, extra models. 2. Tool lock table: each tool in Roles quoted. Tools not listed stay NOT IN INPUTS. 3. Spec: Agent(name, tools, output_type) only from Roles and Types. Model from Models or MODEL UNKNOWN. 4. Secrets: env names from Secrets only. Never paste sk- values. 5. Refuse list: CrewAI crew.yaml, LangGraph add_node, Haystack YAML, raw API keys. 6. Version: quote Version or write VERSION UNKNOWN. 7. Never: do not add web_search if Roles omitted it. Do not invent gpt-4o. 8. Compliance pass: quote Banned and Never hits. Cut them. Format as Format. Constraints: - PydanticAI spec from Roles only. Not CrewAI and not LangGraph. - Never invent API keys, extra tools, or model IDs. - Secrets stay env names. - No emojis.
Instructions
Replace every [bracket] with your details before running. Works on ChatGPT, Claude, and Gemini.
Examples
Example Input
Roles: agent name=intake; job=extract ticket fields as pasted; tools=parse_ticket as pasted. web_search NOT IN INPUTS. Second agent NOT IN INPUTS. Models: UNKNOWN (do not invent gpt-4o) Version: UNKNOWN (do not invent 0.0.24) Types: TicketFields with keys title, priority as pasted. Other keys NOT IN INPUTS. Banned: sk-, gpt-4o, crew.yaml, always Never: invent API keys, invent extra tools, invent model IDs, invent a second agent Format: ledger + tool-lock + spec + refuse + gaps Lang: English comments Secrets: OPENAI_API_KEY env name only as pasted. No raw key.
Example Output
1. Ledger. Roles: intake; extract ticket fields; tool parse_ticket. web_search NOT IN INPUTS. Second agent NOT IN INPUTS. Models UNKNOWN. Version UNKNOWN. Types TicketFields title, priority. Secrets OPENAI_API_KEY env. Lang English. Forbidden: sk-, gpt-4o, crew.yaml, always, extra tools, extra models, second agent.
2. Tool lock. parse_ticket KEEP. web_search NOT IN INPUTS.
3. Spec sketch.
# VERSION UNKNOWN. MODEL UNKNOWN. Do not invent gpt-4o.
class TicketFields(BaseModel):
title: str
priority: str
# other keys NOT IN INPUTS
intake = Agent(
name='intake',
tools=[parse_ticket],
output_type=TicketFields,
# model omitted. MODEL UNKNOWN.
)
# job: extract ticket fields as pasted.
4. Secrets. OPENAI_API_KEY env name only. Raw sk- refused.
5. Refuse. CrewAI crew.yaml: refused. LangGraph add_node: refused. Haystack YAML: refused. sk-live: refused.
6. Version. VERSION UNKNOWN. 0.0.24 not invented.
7. Never. web_search not added. gpt-4o not invented. Second agent not added.
8. Compliance. Banned hits none. Format ledger+tool-lock+spec+refuse+gaps. Gaps: model ID, PydanticAI version, extra TicketFields keys, second agent, retry policy.
Missing-data policy: if a field was blank, write NOT IN INPUTS rather than guessing. Lock any tool version named in Inputs; if unnamed, write unknown. No invented testimonials, star ratings, or press logos. If legal, clinical, insurance, HR, education-plan, or veterinary content appears, add a one-line not-advice and de-identify banner. Quote banned-word hits and cut them. End with a gaps list of five bullets the user still owes you. Character and byte caps in the job are hard; print counts when relevant. Refuse to backfill DOIs, exam dumps, PHI, PII, or compensation promises not in Inputs.