{
 "schema": "aiblocks-page/1",
 "id": "agency-engineering-prompt-engineer",
 "type": "agent",
 "name": "Prompt engineer",
 "summary": "Describe the task and the answer format you need. Get a prompt spec, a first prompt draft and test cases to run before you rely on the prompt.",
 "headline": "Prompt engineer",
 "subhead": "Tell it what the AI should do, what a good answer looks like and three real inputs. It writes a short spec, then a prompt with a role, limits and examples, plus test cases for the normal case, the odd case and the case it should refuse.",
 "job": {
  "id": "make-skills",
  "name": "Make your own skills"
 },
 "level": "intermediate",
 "thinking": "high",
 "tested": true,
 "updated": "2026-11-03",
 "first_published": "2026-10-26",
 "inputs": [
  {
   "type": "question",
   "required": true,
   "label": "Question",
   "what": "the problem, decision or piece of work you want help with, and what a good outcome looks like"
  },
  {
   "type": "source_text",
   "required": false,
   "label": "Source text",
   "what": "a long source in full: an article, a video or talk transcript, or notes from a book, with its title, author and link"
  },
  {
   "type": "prompt",
   "required": false,
   "label": "Prompt",
   "what": "a prompt or set of instructions written for an AI, such as a chat or system prompt, ready to use, test or improve"
  }
 ],
 "outputs": [
  {
   "type": "document",
   "required": true,
   "label": "Document",
   "what": "a finished document, such as a Word file, a PDF or a page of notes"
  },
  {
   "type": "prompt",
   "required": true,
   "label": "Prompt",
   "what": "a prompt or set of instructions written for an AI, such as a chat or system prompt, ready to use, test or improve"
  },
  {
   "type": "eval_set",
   "required": true,
   "label": "Eval set",
   "what": "a fixed set of test cases for an AI, each with its input and the answer that counts as a pass"
  }
 ],
 "you_give": [
  "The task in one or two sentences, and who or what reads the answer, such as a person or a program.",
  "The exact answer format you need, such as a table, a short email or fields in JSON.",
  "Three real inputs the AI will see most often (paste them with private details removed).",
  "What the AI must refuse, hand off or say when it does not know.",
  "The AI and setting it will run on, and a prompt you already have (optional)."
 ],
 "you_get": [
  "A one-page spec of the task, answer format and limits.",
  "A prompt draft in four parts, role, limits, reasoning and examples.",
  "At least three test cases, with the normal case, an odd case and a refusal case.",
  "A version note and a list of known limits.",
  "A list of gaps and checks to run before you rely on it."
 ],
 "use_when": [
  "You need an AI to do the same job each time, such as sort support emails, and the answers keep changing.",
  "You are building a customer-facing chatbot and need its rules, tone and limits written down.",
  "A prompt works on your test and then fails on real inputs.",
  "You are moving a prompt from one AI to another and need it checked and adapted."
 ],
 "skip_when": [
  "You want to tidy one rough prompt for everyday chat. Use the AI prompt editor.",
  "Your prompt is already in use and you want it tested and fixed in rounds. Use the Prompt and skill improvement tester.",
  "You want to turn a job you repeat into a reusable skill file. Use the Reusable AI skill writer.",
  "You want to check a prompt for safety and bias risk. Use the Prompt safety and bias reviewer.",
  "You need a prompt tuned on a live system with its real model and settings. Test it there, with an engineer."
 ],
 "output_sample": {
  "input": [
   "The task, and who or what reads the answer",
   "The exact answer format you need",
   "Three real inputs the AI will see most often",
   "What it must refuse or hand off"
  ],
  "prerequisites": [
   "An AI you can paste a long brief into, such as Claude, ChatGPT or Gemini",
   "Access to the AI and setting the prompt will run on, to test it"
  ],
  "output": [
   {
    "name": "Spec",
    "contains": "The task, answer format, reader, common inputs and refusal rules, with gaps marked."
   },
   {
    "name": "Prompt draft",
    "contains": "A role, limits with numbers, reasoning steps and example inputs with answers."
   },
   {
    "name": "Test cases",
    "contains": "At least three cases, covering a normal input, an odd input and one that must be refused."
   },
   {
    "name": "What I could not test",
    "contains": "The parts only you can check on your own AI and setting."
   },
   {
    "name": "Version note",
    "contains": "The version, the date and the settings the prompt should be tested on."
   },
   {
    "name": "Known limits and checks",
    "contains": "Where the prompt may fail and the steps to check before use."
   }
  ]
 },
 "output_shape": "SPEC\n  task <text> | answer format <exact format> | reader <person or program> | three common inputs <list> | must refuse or hand off <list> | MISSING: <list>\n\nPROMPT DRAFT (v1)\n  ROLE <text>\n  LIMITS <format, length in numbers, tone, scope, what to say when out of scope>\n  REASONING <how it should work before answering>\n  EXAMPLES <two or more input and answer pairs>\n\nTEST CASES\n  <input> | expected behaviour | type <normal, odd or refusal>\n\nWHAT I COULD NOT TEST\n  <item> | how you can test it\n\nVERSION NOTE\n  v1 | date | what it is | settings to test on\n\nKNOWN LIMITS AND CHECKS STILL NEEDED\n  <item> | <how to settle it>",
 "how_to_use": [
  "Download the pack from this page and add it to your AI as a skill. Or paste SKILL.md into a new chat, then paste references/source-agent.md after it.",
  "Describe the task, the answer format and your three real inputs. Say where the prompt will run.",
  "Answer the questions it asks once. Anything you cannot answer is marked MISSING in the spec.",
  "Run each test case on the AI and setting you will really use. Paste back what it answered.",
  "Fix one thing at a time. After each change, run all the test cases again.",
  "Keep the final prompt, its version note and its limits together, and store them where your team can find them."
 ],
 "checks": [
  "The result addresses your actual task and cites the evidence used.",
  "Examples, role-play experience and targets are kept separate from verified results.",
  "Claims of tests, memory, tool access or completed actions match what actually happened."
 ],
 "next": [
  {
   "name": "Prompt change tester",
   "url": "https://useaiblocks.com/skills/prompt-change-tester",
   "why": "Set up AI to work for you"
  },
  {
   "name": "Marketing prompt tester",
   "url": "https://useaiblocks.com/skills/marketing-prompt-tester",
   "why": "Set up AI to work for you"
  },
  {
   "name": "AI skill writing coach",
   "url": "https://useaiblocks.com/skills/skill-making-guide",
   "why": "AI skill writing coach"
  },
  {
   "name": "Prompt safety and bias reviewer",
   "url": "https://useaiblocks.com/skills/copilot-ai-prompt-engineering-safety-review",
   "why": "Set up AI to work for you"
  }
 ],
 "source": {
  "by": "Michael Sitarzewski and Agency Agents contributors",
  "repo": "msitarzewski/agency-agents",
  "url": "https://github.com/msitarzewski/agency-agents/blob/b37b5bb33b78f2c1d6567d98e25ca818e3259219/engineering/engineering-prompt-engineer.md",
  "licence": "MIT",
  "original_name": "Prompt Engineer",
  "commit": "b37b5bb33b78f2c1d6567d98e25ca818e3259219"
 },
 "credits": [
  {
   "title": "Prompt Engineer",
   "by": "Michael Sitarzewski and Agency Agents contributors",
   "url": "https://github.com/msitarzewski/agency-agents/blob/b37b5bb33b78f2c1d6567d98e25ca818e3259219/engineering/engineering-prompt-engineer.md",
   "used": "Original agent profile, preserved in references/source-agent.md; AI Blocks adds setup and review instructions."
  }
 ],
 "files": [
  "LICENSE",
  "references/source-agent.md",
  "SETUP.md",
  "source.json"
 ],
 "links": {
  "page": "https://useaiblocks.com/agents/agency-engineering-prompt-engineer",
  "markdown": "https://useaiblocks.com/agents/agency-engineering-prompt-engineer.md",
  "json": "https://useaiblocks.com/agents/agency-engineering-prompt-engineer.json",
  "instructions": "https://useaiblocks.com/skills/agency-engineering-prompt-engineer/SKILL.md",
  "download": "https://useaiblocks.com/skills/agency-engineering-prompt-engineer.zip",
  "api_item": "https://useaiblocks.com/api/v1/items/agency-engineering-prompt-engineer",
  "api_document": "https://useaiblocks.com/api/v1/documents/agent/agency-engineering-prompt-engineer",
  "mcp": "https://useaiblocks.com/mcp"
 }
}
