{
 "schema": "aiblocks-page/1",
 "id": "agency-engineering-minimal-change-engineer",
 "type": "agent",
 "name": "Focused code fix developer",
 "summary": "Get the smallest code fix that solves your bug or task, with the diff, the checks to run and the extra changes it left for later.",
 "headline": "Focused code fix developer",
 "subhead": "Paste the bug or task, the code involved and any error or failing test. It changes only what the task needs, shows the diff line by line, and lists nearby fixes it left alone for a separate change.",
 "job": {
  "id": "test-and-fix-code",
  "name": "Test and fix code"
 },
 "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": "codebase",
   "required": false,
   "label": "Codebase",
   "what": "a project's code, in a folder or repo the AI can open"
  }
 ],
 "outputs": [
  {
   "type": "code_change",
   "required": true,
   "label": "Code change",
   "what": "a change to the code, with what it fixes and how it was checked"
  }
 ],
 "you_give": [
  "The task in one or two sentences, worded as you would tell a teammate",
  "The code involved, pasted or attached, such as the function or file where the problem shows",
  "The error message, failing test or steps that show the bug (optional, but it helps most)",
  "The command you use to run your tests (optional)",
  "Files or areas it must not touch (optional)"
 ],
 "you_get": [
  "The diff, showing only the changed lines, each one tied to your task",
  "A list of the files it touched and why each had to change",
  "The tests or commands to run, marked as not run unless you ran them",
  "A follow-up list of nearby problems it saw and left alone",
  "A question first, if the task could mean a small or a large change"
 ],
 "use_when": [
  "A bug has a clear cause, and you want a fix a teammate can review in minutes.",
  "A reviewer says your pull request is too big, and you need the core fix alone.",
  "You need one small feature, such as a flag or a field, with no redesign.",
  "Your AI coding tool keeps changing files you never asked about."
 ],
 "skip_when": [
  "You want to restructure or rename across many files. For Rust, use the Rust refactoring planner, which is built for whole-repo changes.",
  "You want code that already exists checked for problems. Use the Code Reviewer agent.",
  "You want a new system designed or a rough app built fast. Use the Software architect or the Software prototype designer.",
  "You can't say what is wrong or what you want. Tell the agent that, and expect questions, not a fix."
 ],
 "output_sample": {
  "input": [
   "The bug or task, in one or two sentences",
   "The code involved, pasted or attached",
   "The error message or failing test (optional)",
   "The command that runs your tests (optional)"
  ],
  "prerequisites": [
   "A way to apply the change and run your tests, such as your editor or a terminal"
  ],
  "output": [
   {
    "name": "Task and scope",
    "contains": "Your task in your own words, plus what it assumed and what it could not find."
   },
   {
    "name": "Diff",
    "contains": "Only the lines that change, before and after, for each file."
   },
   {
    "name": "Why each file",
    "contains": "One line per file on why the task cannot work without that change."
   },
   {
    "name": "Line check",
    "contains": "How many lines changed, what it chose not to add, and whether the diff could be smaller."
   },
   {
    "name": "Checks",
    "contains": "The tests to run and what a pass looks like, marked run or not run."
   },
   {
    "name": "Follow-ups not done",
    "contains": "Nearby problems it saw and left out, each ready to become its own ticket."
   }
  ]
 },
 "output_shape": "TASK AND SCOPE\n  task as you stated it | verbs that set the scope | ASSUMED: <list> | MISSING: <list>\n\nDIFF\n  <file> | <diff in before and after lines>\n\nWHY EACH FILE\n  <file> | required because <reason>\n\nLINE CHECK\n  changed lines <number> | lines I wanted to add but did not <list> | could it be smaller <yes or no>\n\nCHECKS\n  <command to run> | what a pass looks like | RUN or NOT RUN\n\nFOLLOW-UPS NOT DONE\n  <item> | where | why it was left out\n\nQUESTIONS\n  <anything you must answer before the change is safe>",
 "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.",
  "Paste your task, then the code involved. Add the error message or failing test if you have one.",
  "If your AI asks which size of change you mean, answer in one line. Fixing the symptom is a smaller change than fixing the root cause.",
  "Read the diff first. For each changed line, ask if the task needs it. Say \"remove this line\" for any that fail.",
  "Apply the change on a copy or a branch. Run your tests yourself and paste any failure back into the chat.",
  "Turn the follow-up list into separate tickets. Do not slip them into the same pull request."
 ],
 "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": "Code change test coverage reviewer",
   "url": "https://useaiblocks.com/skills/test-gap-finder",
   "why": "Code change test coverage reviewer"
  },
  {
   "name": "Simple code coach",
   "url": "https://useaiblocks.com/skills/simple-code-coach",
   "why": "Build it"
  },
  {
   "name": "Bug root cause finder",
   "url": "https://useaiblocks.com/skills/bug-root-cause-finder",
   "why": "Bug root cause finder"
  },
  {
   "name": "Persistent bug debugger",
   "url": "https://useaiblocks.com/skills/fix-loop-breaker",
   "why": "Persistent bug debugger"
  }
 ],
 "source": {
  "by": "Michael Sitarzewski and Agency Agents contributors",
  "repo": "msitarzewski/agency-agents",
  "url": "https://github.com/msitarzewski/agency-agents/blob/b37b5bb33b78f2c1d6567d98e25ca818e3259219/engineering/engineering-minimal-change-engineer.md",
  "licence": "MIT",
  "original_name": "Minimal Change Engineer",
  "commit": "b37b5bb33b78f2c1d6567d98e25ca818e3259219"
 },
 "credits": [
  {
   "title": "Minimal Change Engineer",
   "by": "Michael Sitarzewski and Agency Agents contributors",
   "url": "https://github.com/msitarzewski/agency-agents/blob/b37b5bb33b78f2c1d6567d98e25ca818e3259219/engineering/engineering-minimal-change-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-minimal-change-engineer",
  "markdown": "https://useaiblocks.com/agents/agency-engineering-minimal-change-engineer.md",
  "json": "https://useaiblocks.com/agents/agency-engineering-minimal-change-engineer.json",
  "instructions": "https://useaiblocks.com/skills/agency-engineering-minimal-change-engineer/SKILL.md",
  "download": "https://useaiblocks.com/skills/agency-engineering-minimal-change-engineer.zip",
  "api_item": "https://useaiblocks.com/api/v1/items/agency-engineering-minimal-change-engineer",
  "api_document": "https://useaiblocks.com/api/v1/documents/agent/agency-engineering-minimal-change-engineer",
  "mcp": "https://useaiblocks.com/mcp"
 }
}
