Jun 4, 2026 | 6 Minute Read

The Problem Nobody Talks About With AI Coding Assistants

Table of Contents

The Context Problem With AI-Assisted Development

Every AI coding session starts the same way. You open the tool. You explain your project's stack. You describe your config management rules. You remind it not to touch settings.php. You tell it about your Jira workflow, your branch naming conventions, your test framework.

Then you do it all again the next day.

The real friction with AI-assisted development is not capability — it is context. Claude, Copilot, and their peers can generate functional code, but they retain none of your organizational knowledge between sessions. Every session starts at zero. If you want to understand why that matters at an engineering level, the backstory of how one engineer's frustration turned our SDLC into a plugin is worth reading first.

Diagram showing the context gap between generic AI code generation and organization-specific Drupal engineering standards, with examples of violations including hardcoded UUIDs and protected file writes

On a Drupal project, this gap is dangerous. Drupal's config management system requires strict discipline: import, export, verify clean status. AI that hand-writes config YAML with hardcoded UUIDs creates downstream merge disasters. AI that writes to settings.php or *.install files without safeguards creates security exposure. AI that skips GrumPHP validation creates PRs that fail CI and waste reviewer time.

These are not edge cases. They are the default behavior of every generic AI coding assistant on every Drupal project, every session, every time.

The Hypothesis Behind a Spec-First AI Development Approach

What if, instead of teaching AI about our process every session, we encoded the entire process into a system AI could execute autonomously?

Not a prompt library. Not a README with instructions. A plugin architecture where each stage of the software development lifecycle exists as a discrete, composable, overridable AI skill — executable with a single natural language command.

The hypothesis was specific: a Claude Code plugin, built for Drupal on DDEV with Jira and GitHub, could transform AI from a code generator into a process executor. One natural language command. Twelve automated steps. Two mandatory human checkpoints. Zero config accidents.

This is the same principle behind our broader work on building an internal AI plugin marketplace — and it reflects a wider shift in how engineering teams should be thinking about AI tooling.

What We Built: An AI Software Development Lifecycle Plugin

The AI software development lifecycle plugin ships with 11 modular skills, 3 rules, pre/post tool hooks, and MCP configuration. Every skill, rule, and hook is tuned for Drupal on DDEV with Jira and GitHub.

Here is the full automated workflow triggered by a single command:

Step Action Owner
1 Read Jira ticket: summary, acceptance criteria, dependencies, epic, subtasks, linked issues AI
2 Generate structured implementation spec AI
3 Human checkpoint: approve spec Engineer
4 Post approved spec as Jira comment AI
5 Transition ticket to In Progress, create feature branch from main AI
6 Build: config YAML generation, module scaffolding, PHP code AI
7 Validate: PHP lint, GrumPHP, config round-trip, visual screenshots AI
8 Generate and run Playwright and PHPUnit tests AI
9 Create PR with title, description, file changes, test results, risk level AI
10 Automated PR review: security checklist, acceptance criteria coverage matrix AI
11 Post PR link back to Jira ticket AI
12 Human checkpoint: PR review and merge Engineer
13 GitHub Action auto-transitions Jira to Done on merge CI/CD

Two things AI never does without a human: start building (step 3) and ship code (step 12). Everything between those gates is automated but governed. This is what separates an AI engineering process automation tool from a generic code generator — structured accountability at every stage.

Flowchart of the 13-step AI SDLC pipeline showing two mandatory human checkpoint gates: the spec approval gate at step 3 and the PR merge gate at step 12

The 11 Skills That Power the Drupal AI Coding Workflow

Each skill is usable standalone or as part of the orchestrated SDLC loop. Project-level skills take precedence over plugin skills, so teams can customize without forking — enabling consistent AI engineering process automation across projects with different conventions.

Skill Function Why It Exists
/work-on-jira-ticket Master orchestrator for the full pipeline Single command to trigger the entire workflow
/spec-writer Ticket to structured spec with numbered ACs, test mapping, risk notes Prevents building before understanding
/config-builder Natural language to Drupal config YAML Eliminates hand-written config with hardcoded UUIDs
/module-scaffolder Description to full custom module Enforces constructor injection patterns and Drupal conventions
/test-writer Generates Playwright + PHPUnit tests matching project conventions Ensures test coverage before PR creation
/validate Complete quality gate pipeline Blocks PRs with new test failures
/code-quality-fixer Resolves PHPStan, PHPCS, twigcs, yamllint violations Cleans up before human review
/pr-creator Builds PR via gh CLI with context and risk assessment Structured, reviewable PRs every time
/pr-reviewer Reviews diff, scores risk, checks security and AC coverage Automated first-pass review
/hotfix Fast-track fix workflow (skips spec, still validates and tests) Emergency fixes without skipping quality
/onboarding Auto-detects project values, creates config files Setup in 5 to 20 minutes depending on familiarity

For teams working on improving test coverage alongside this workflow, see how one AI session changed the test coverage standard across three codebases.

Config Discipline In Practice: Why AI Quality Gates Matter for Drupal

Drupal config management is where generic AI tools cause the most damage. The correct sequence is non-negotiable: config:import, then config:export, then config:status to confirm a clean state. AI that generates config YAML directly, without running the round-trip, produces files with hardcoded UUIDs that break on every other environment.

The plugin enforces this discipline through pre/post tool hooks. Before any file write, hooks check whether the target is a protected file (settings.php, *.install, config_split YAMLs). After every config change, the round-trip validation runs automatically. Claude will not raise a PR if the config status is not clean — this is a hard gate, not a suggestion in a README.

This approach is consistent with Axelerant's broader philosophy on CI/CD enablement — automated enforcement at every stage so human reviewers focus on judgment, not checklist compliance. It also connects to the governance lessons covered in what an autonomous agent taught us about governance.

How The Experiment Progressed

The plugin went through multiple internal iteration cycles before reaching a stable release. Version numbers accumulated up to 1.1.3 as the creator tested skills against real project work, identified failure modes, and tightened constraints. The stable release reset to v1.0.0 as a clean baseline.

Here is how adoption and feedback unfolded after the internal announcement:

Phase What Happened Time After Announcement
First feedback One engineer reported the plugin missed steps during ticket execution. Creator acknowledged and shipped fixes within hours. Under 10 minutes
First success signal Another engineer reported Site Studio components generated via YAML skills were "almost perfect" on first pass. Second iteration resolved remaining issues. Under 10 minutes
Structured feedback Team members began submitting findings to a shared feedback document. Under 1 hour
Cross-platform port One engineer independently ported the plugin to Mautic and published it on GitHub. No coordination, no request. Under 2 hours
Constraint surfaced Engineer raised concern about client environments where Jira/LLM integration is not approved. No alternative input method existed. Under 6 hours
Architecture review Engineering leadership flagged token budget concerns: Claude's system prompt (12,000 to 30,000 tokens) plus CLAUDE.md creates 20,000 to 25,000 tokens of overhead per request. Directive: keep CLAUDE.md lean, reference skills rather than inline them. Under 9 hours
Access issue Engineer encountered installation error because the repo was marked internal/private. Resolved after leadership confirmed visibility was the cause. Under 24 hours
Platform gap Request for Bitbucket integration surfaced. Creator provided project-level skill overrides as a workaround and committed to native support. Under 1 week

At least 4 to 5 team members were actively using or testing the plugin within the first several days. The feedback loop was fast: issues surfaced within minutes, fixes shipped within hours, and constraints that required architectural decisions — token budget, sub-agent isolation, Bitbucket support — were identified and queued within the first week.

This rapid iteration mirrors the approach described in our post on how an open-source plugin made Drupal delivery more predictable.

What Worked And What Did Not

What worked:

One engineer's experience with Site Studio component generation was the clearest positive signal. The YAML output required one round of correction — meaningfully different from writing complex YAML by hand or debugging AI-generated config that violates Drupal conventions.

The onboarding skill auto-detects the project's drush prefix, quality command, GitHub owner/repo, and Jira cloud instance. Setup time ranged from 5 to 20 minutes depending on engineer familiarity — faster than most teams' manual environment documentation processes. For context on how AI is reshaping engineering workflows more broadly, see how AI is transforming engineering workflows at Axelerant.

Frequently Asked Questions

What is an AI software development lifecycle plugin?

An AI software development lifecycle (SDLC) plugin is a structured system that encodes an engineering team's full workflow — from ticket reading to PR creation — into composable AI skills. Rather than relying on ad-hoc prompting, the plugin executes each stage of the SDLC autonomously, with mandatory human checkpoints at spec approval and code merge.

Why do generic AI coding tools fail on Drupal projects?

Generic AI coding assistants like Claude or GitHub Copilot have no persistent knowledge of Drupal's config management requirements, protected file conventions, or project-specific toolchains. Without enforcement, they generate config YAML with hardcoded UUIDs, write to protected files like settings.php, and skip validation steps like GrumPHP — creating CI failures and merge conflicts on every project, every session.

What is spec-first AI development?

Spec-first AI development is an approach where the AI generates a structured implementation specification from a Jira ticket — including numbered acceptance criteria, test mapping, and risk notes — before writing a single line of code. A human engineer approves or revises the spec at a mandatory checkpoint, ensuring the AI builds the right thing rather than the first plausible thing.

How does the Claude Code SDLC plugin handle Drupal config management?

The plugin uses pre/post tool hooks to enforce Drupal's config round-trip sequence (config:importconfig:exportconfig:status) after every config change. It also blocks writes to protected files including settings.php, *.install, and config_split YAMLs. Claude cannot raise a PR if config status is not clean — this is a hard gate, not a README suggestion.

Can the plugin be used with tools other than Jira and GitHub?

The plugin was built natively for Drupal on DDEV with Jira and GitHub. Within the first week of release, an engineer independently ported it to Mautic. Bitbucket support has been flagged as a gap, with project-level skill overrides available as a workaround while native support is in development.

About the Author
Axelerant Editorial Team

Axelerant Editorial Team

The Axelerant Editorial Team collaborates to uncover valuable insights from within (and outside) the organization and bring them to our readers.


Leave us a comment

Back to Top