{
 "schema": "aiblocks-page/1",
 "id": "agency-engineering-cms-developer",
 "type": "agent",
 "name": "WordPress and Drupal developer",
 "summary": "Plan a WordPress or Drupal build: content model, theme, custom plugin or module, and a pre-launch checklist to run before go-live.",
 "headline": "WordPress and Drupal developer",
 "subhead": "Tell it which CMS you use, whether the site is new or existing, and what your editors need to publish. The agent settles the content model first, then plans the theme and custom code with accessibility and speed checks. You get a build plan, code sketches and a launch checklist.",
 "job": {
  "id": "build-websites",
  "name": "Build websites and web apps"
 },
 "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": "plan",
   "required": true,
   "label": "Plan",
   "what": "a dated plan: what to do, in what order, with a decision rule for each step"
  },
  {
   "type": "audit_report",
   "required": true,
   "label": "Audit report",
   "what": "findings with evidence, severity, missing inputs and next actions"
  }
 ],
 "you_give": [
  "Which CMS and version: WordPress, Drupal, or 'help me choose'",
  "Whether the site is new or a change to an existing one",
  "What editors need to publish: page types, fields and who edits what",
  "Your design, brand colors or component list (optional)",
  "The plugins or modules already installed (optional)",
  "Other needs, such as several languages or a link to a CRM (optional)"
 ],
 "you_get": [
  "A CMS choice with reasons, if you asked for one",
  "A content model: page types, fields and how they link",
  "A theme plan: templates, blocks and design settings",
  "A plugin or module plan that says what to add and what to build",
  "Code sketches for the key parts, marked as drafts",
  "A pre-launch checklist",
  "Open questions"
 ],
 "use_when": [
  "You are starting a WordPress or Drupal site and need the content model and theme plan before you build.",
  "You need a custom post type, plugin or module and want to know what to build and what to add from existing ones.",
  "Your editors find the admin confusing and you want a block or layout plan for them.",
  "You are about to launch and want a checklist for speed, accessibility and security."
 ],
 "skip_when": [
  "Your site is slow and that is the only problem: use the WordPress performance reviewer or the Drupal Performance Engineer agent.",
  "You are building an online store: use the WooCommerce checkout engineer or the Drupal Commerce developer.",
  "Your front end is a separate Next.js or Nuxt app: use the Frontend developer.",
  "You need a formal accessibility audit: use the Accessibility auditor."
 ],
 "output_sample": {
  "input": [
   "Your CMS and version, and whether the site is new or existing",
   "What your editors need to publish",
   "Your design or component list (optional)",
   "Your installed plugins or modules (optional)"
  ],
  "prerequisites": [
   "A staging copy of your site to try the code on",
   "An AI that takes a pasted profile, such as Claude, ChatGPT or Gemini"
  ],
  "output": [
   {
    "name": "Brief and assumptions",
    "contains": "The CMS, version and editor needs as understood, with assumptions and MISSING items."
   },
   {
    "name": "Content model",
    "contains": "Each content type with its fields, links to other types and display variants."
   },
   {
    "name": "Theme plan",
    "contains": "Templates and blocks to build, what each shows and how editors use it."
   },
   {
    "name": "Plugins and modules",
    "contains": "What to add and what to build, with a vetting note for each add-on."
   },
   {
    "name": "Custom code sketches",
    "contains": "Short drafts such as a post type, block or module hook, marked as not run."
   },
   {
    "name": "Accessibility and speed checks",
    "contains": "Checks with axe-core and Lighthouse, and what a pass looks like."
   },
   {
    "name": "Pre-launch checklist",
    "contains": "A tick list covering code, config, security headers, speed, accessibility and handoff."
   },
   {
    "name": "Open questions",
    "contains": "What is unknown and what each answer changes."
   }
  ]
 },
 "output_shape": "BRIEF AND ASSUMPTIONS\n  CMS <WordPress or Drupal> <version> | <new or existing> | Editors <who publishes what>\n  Assumed: <list> | MISSING: <list>\n\nCONTENT MODEL\n  <content type> | <fields> | <links to other types> | <display variants>\n\nTHEME PLAN\n  <template or block> | <what it shows> | <how editors use it>\n\nPLUGINS AND MODULES\n  <need> | <existing add-on or custom> | <vetting note: last update, installs, open issues>\n\nCUSTOM CODE SKETCHES (drafts, not run)\n  <name> | <short code>\n\nACCESSIBILITY AND SPEED CHECKS\n  <check> | <tool> | <what a pass looks like>\n\nPRE-LAUNCH CHECKLIST\n  [ ] <item>\n\nOPEN QUESTIONS\n  <question> | <what the answer changes>",
 "how_to_use": [
  "Download the pack and add it as a skill in your AI. Or paste SKILL.md into a new chat, then paste references/source-agent.md after it.",
  "Write your brief: the CMS and version, new or existing site, and what editors publish. Paste your theme or plugin list if you have one.",
  "Say 'Plan this build. Do not guess my CMS version.' Your AI asks once for what is missing.",
  "Read the content model first. Agree it with your editors before anyone writes theme code.",
  "Try the code sketches on a staging copy of your site. The AI cannot log in to your site or run anything.",
  "Run the pre-launch checklist yourself, and bring back the results from Lighthouse or axe-core."
 ],
 "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": "WordPress health fixer",
   "url": "https://useaiblocks.com/skills/wordpress-health-fixer",
   "why": "WordPress health fixer"
  }
 ],
 "source": {
  "by": "Michael Sitarzewski and Agency Agents contributors",
  "repo": "msitarzewski/agency-agents",
  "url": "https://github.com/msitarzewski/agency-agents/blob/b37b5bb33b78f2c1d6567d98e25ca818e3259219/engineering/engineering-cms-developer.md",
  "licence": "MIT",
  "original_name": "CMS Developer",
  "commit": "b37b5bb33b78f2c1d6567d98e25ca818e3259219"
 },
 "credits": [
  {
   "title": "CMS Developer",
   "by": "Michael Sitarzewski and Agency Agents contributors",
   "url": "https://github.com/msitarzewski/agency-agents/blob/b37b5bb33b78f2c1d6567d98e25ca818e3259219/engineering/engineering-cms-developer.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-cms-developer",
  "markdown": "https://useaiblocks.com/agents/agency-engineering-cms-developer.md",
  "json": "https://useaiblocks.com/agents/agency-engineering-cms-developer.json",
  "instructions": "https://useaiblocks.com/skills/agency-engineering-cms-developer/SKILL.md",
  "download": "https://useaiblocks.com/skills/agency-engineering-cms-developer.zip",
  "api_item": "https://useaiblocks.com/api/v1/items/agency-engineering-cms-developer",
  "api_document": "https://useaiblocks.com/api/v1/documents/agent/agency-engineering-cms-developer",
  "mcp": "https://useaiblocks.com/mcp"
 }
}
