{
 "schema": "aiblocks-page/1",
 "id": "agency-engineering-developer-tooling-engineer",
 "type": "agent",
 "name": "Developer tools engineer",
 "summary": "Design a command-line tool your team will like: clear commands, helpful errors, fast startup and safe updates. Bring your scripts and goal.",
 "headline": "Developer tools engineer",
 "subhead": "Tell it what your team does by hand today and share any scripts you have. It plans a command-line tool: the commands, the error messages, the speed target and how people install it. You get a plan you can build from or hand to a developer.",
 "job": {
  "id": "build-software",
  "name": "Build and ship software"
 },
 "level": "intermediate",
 "thinking": "high",
 "tested": true,
 "updated": "2026-10-28",
 "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": "plan",
   "required": false,
   "label": "Plan",
   "what": "a dated plan: what to do, in what order, with a decision rule for each step"
  },
  {
   "type": "code_change",
   "required": false,
   "label": "Code change",
   "what": "a change to the code, with what it fixes and how it was checked"
  }
 ],
 "outputs": [
  {
   "type": "plan",
   "required": true,
   "label": "Plan",
   "what": "a dated plan: what to do, in what order, with a decision rule for each step"
  }
 ],
 "you_give": [
  "What the tool should do, in a few lines, and who will use it (your team or the public)",
  "Your current scripts or the tool's --help text (optional)",
  "Two or three real error messages or failure logs that people complain about (optional)",
  "Your language and systems, such as Python on Mac and Linux, and how people install tools today",
  "How often the tool runs, and any speed limit, such as \"runs on every file save\" (optional)"
 ],
 "you_get": [
  "A command map: each command, its options and what it does",
  "Rules for output on screen and in scripts, with a table of exit codes",
  "Rewritten error messages that say what happened and what to do next",
  "A startup speed target and the likeliest fixes to reach it",
  "A plan to install and update the tool, and rules for changing it without breaking scripts",
  "A list of assumptions and checks still needed"
 ],
 "use_when": [
  "A script your team runs every day has grown into a tool, and nobody likes using it.",
  "People paste the same error into chat because the message never says what to do.",
  "You are about to build an internal command-line tool and want the commands settled first.",
  "A tool works on your laptop but breaks in your automated build, because its output or exit codes keep changing."
 ],
 "skip_when": [
  "You want to change a live build or release pipeline. Use the Deployment pipeline designer, and have a named engineer approve each change.",
  "You want a whole app built, not a command-line tool. Use the Full stack developer.",
  "You want shared templates and service rules for many teams. Use the Developer platform designer."
 ],
 "output_sample": {
  "input": [
   "A few lines on what the tool should do and who uses it",
   "Your current scripts or --help text (optional)",
   "Real error messages or failure logs (optional)",
   "Your language, systems and install method"
  ],
  "prerequisites": [
   "An AI that can read pasted text or files, such as Claude, ChatGPT or Gemini"
  ],
  "output": [
   {
    "name": "Command map",
    "contains": "Each command with its options, what it does and one example, written as verb and noun."
   },
   {
    "name": "Output and exit codes",
    "contains": "What people see on screen, what scripts get, and a table of exit codes."
   },
   {
    "name": "Error rewrites",
    "contains": "Your worst messages rewritten to say what happened, why and the next step."
   },
   {
    "name": "Speed",
    "contains": "A startup time target, the likely causes of slow starts and how to time them."
   },
   {
    "name": "Install and update",
    "contains": "How people get the tool, upgrade it and check the version."
   },
   {
    "name": "Change rules",
    "contains": "What counts as a breaking change and the warning steps before removing anything."
   },
   {
    "name": "Assumptions and checks still needed",
    "contains": "What the AI guessed and the checks you must run yourself."
   }
  ]
 },
 "output_shape": "GOAL AND USERS\n  <what the tool does> | <who uses it> | <language and systems>\n\nCOMMAND MAP\n  <tool> <verb> <noun> | <what it does> | <options> | <example>\n\nOUTPUT AND EXIT CODES\n  On screen: <what people see>\n  In scripts: <plain or JSON output, quiet mode>\n  Exit codes: <0 = success> | <code> = <meaning>\n\nERROR REWRITES\n  Now: <current message>\n  Better: <what happened> | <why> | <next step>\n\nSPEED\n  Target: <startup time> | Likely causes: <list> | How to time it: <method>\n\nINSTALL AND UPDATE\n  <how people get it> | <how they upgrade> | <how they check the version>\n\nCHANGE RULES\n  <what counts as a breaking change> | <warning and removal steps>\n\nSAFETY\n  <commands that change things> | <confirm or dry run>\n\nASSUMPTIONS AND CHECKS STILL NEEDED\n  <item> | <how to check it>",
 "how_to_use": [
  "Download the pack from this page and add it to your AI as a skill. If you cannot, open a new chat and paste SKILL.md, then references/source-agent.md.",
  "Paste what the tool should do, who uses it, and your language and systems. Add your scripts or --help text if you have them.",
  "Paste two or three real error messages. This is where the plan gets most useful.",
  "Say \"Plan this tool. Ask once if anything is missing.\" Your AI asks once, then marks any gap as MISSING.",
  "Read the command map first. If you would not guess the commands, send it back and say what confuses you.",
  "Build a small version and time it. A chat AI cannot time your tool, so treat every speed number as an estimate until you measure."
 ],
 "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": "Decision record writer",
   "url": "https://useaiblocks.com/skills/decision-record-writer",
   "why": "Build it"
  }
 ],
 "source": {
  "by": "Michael Sitarzewski and Agency Agents contributors",
  "repo": "msitarzewski/agency-agents",
  "url": "https://github.com/msitarzewski/agency-agents/blob/b37b5bb33b78f2c1d6567d98e25ca818e3259219/engineering/engineering-developer-tooling-engineer.md",
  "licence": "MIT",
  "original_name": "Developer Tooling Engineer",
  "commit": "b37b5bb33b78f2c1d6567d98e25ca818e3259219"
 },
 "credits": [
  {
   "title": "Developer Tooling Engineer",
   "by": "Michael Sitarzewski and Agency Agents contributors",
   "url": "https://github.com/msitarzewski/agency-agents/blob/b37b5bb33b78f2c1d6567d98e25ca818e3259219/engineering/engineering-developer-tooling-engineer.md",
   "used": "Original agent profile, preserved in references/source-agent.md; AI Blocks adds setup and review instructions."
  },
  {
   "title": "AI Blocks catalogue guidance",
   "by": "AI Blocks",
   "url": "https://useaiblocks.com",
   "used": "We added Before you start and After this sections that link to other AI Blocks steps. We refreshed those generated sections from the catalogue inputs and next-step links."
  }
 ],
 "files": [
  "LICENSE",
  "references/source-agent.md",
  "SETUP.md",
  "source.json"
 ],
 "links": {
  "page": "https://useaiblocks.com/agents/agency-engineering-developer-tooling-engineer",
  "markdown": "https://useaiblocks.com/agents/agency-engineering-developer-tooling-engineer.md",
  "json": "https://useaiblocks.com/agents/agency-engineering-developer-tooling-engineer.json",
  "instructions": "https://useaiblocks.com/skills/agency-engineering-developer-tooling-engineer/SKILL.md",
  "download": "https://useaiblocks.com/skills/agency-engineering-developer-tooling-engineer.zip",
  "api_item": "https://useaiblocks.com/api/v1/items/agency-engineering-developer-tooling-engineer",
  "api_document": "https://useaiblocks.com/api/v1/documents/agent/agency-engineering-developer-tooling-engineer",
  "mcp": "https://useaiblocks.com/mcp"
 }
}
