🤖 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.

0.0
0Reviews
P
August 29, 2026

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.

Reviews (0)

Please login to leave a review.
Loading reviews...