Drupal AI Contribution — Umbrella & Router
Make AI a trusted, good-practice way to contribute to Drupal: AI-assisted code that passes drupalci, survives maintainer review on the first or second round, follows Drupal + PHP best practices, and follows the Code of Conduct and the adopted AI-contribution policy.
This skill routes a contribution request to the right stage and supplies the knowledge layer. It does not run the stages itself — each stage is a worker skill.
Core principle — evidence over assertion
Every gate passes only on a produced artifact: a command's output, a file diff, a
live API response, a real pipeline result. Never on the model stating "done", "passes",
or "should work". The cross-cutting discipline lives in the contribution-guardrails
skill — invoke it during any development between issue and verify.
The contribution arc — detect-driven, not a forced sequence
Six stages. Each checks the state it needs and runs regardless of whether earlier
stages ran. A contributor can enter at issue (environment ready) or even at verify
(work underway). A stage that finds a real gap points at setup for that gap only;
it never refuses to run. setup is the on-ramp, never a prerequisite.
| Stage | Command | Worker skill |
|---|---|---|
| 1. Onboard the environment | /drupal-ai-contrib:setup |
contribution-setup |
| 2. Work the issue | /drupal-ai-contrib:issue |
contribution-issue |
| 3. Verify locally (the inner loop) | /drupal-ai-contrib:verify |
contribution-verify |
| 4. Honest review | /drupal-ai-contrib:review |
contribution-review |
| 5. Submit the MR | /drupal-ai-contrib:submit |
contribution-submit |
| 6. Confirm the real pipeline | /drupal-ai-contrib:pipeline |
contribution-pipeline |
Routing
When a contribution request arrives without a specific command, route it:
| The contributor wants to… | Route to |
|---|---|
| Stand up a DDEV environment, scaffold CI config, install Drupal AI skills | contribution-setup |
| Find / create / claim an issue, check out an issue fork + branch | contribution-issue |
| Run the local drupalci-parity / AI-policy / eval gates | contribution-verify |
| Get an honest, fresh-context review of the work | contribution-review |
| Create or update the merge request, write the AI-disclosure comment | contribution-submit |
| Check the authoritative real GitLab MR pipeline | contribution-pipeline |
Develop code safely between issue and verify |
contribution-guardrails |
Ambiguous request → ask which stage; do not guess.
The knowledge layer — dev-guides
Technical how-to (writing the code correctly, the contribution mechanics, coding
standards, the drupalci pipeline) comes from the camoa/dev-guides contribution
guides, not from this plugin. Load them via the dev-guides-navigator skill —
never fetch llms.txt or dev-guides URLs directly.
references/dev-guides-index.md maps each contribution stage to the dev-guide slugs to
load. Worker skills cite those slugs. A guide that is not yet authored simply will not
resolve — the navigator degrades gracefully; never block on a missing guide.
The governance layer — ai_best_practices
AI-policy + compliance + evals anchor on ai_best_practices (the canonical Drupal AI
source of truth) and the adopted Policy on the use of AI when contributing to Drupal.
Both are fetched live per contribution by the ai-policy-checker agent — never
hard-coded, never assumed; this is the fastest-moving area.
Relationship to ai-dev-assistant
A contribution is an ai-dev-assistant task. The framework owns the phase lifecycle
(research → architecture → implement → review → complete) and its phase gates. This
plugin is a separate layer outside the framework — it adds contribution-quality
commands and gates on top. It does not fork or modify the framework. Run the contribution
as an ai-dev-assistant task and use this plugin's commands alongside it.
Interop — delegate, never reinvent
| Need | Delegate to |
|---|---|
| Phase lifecycle + phase gates | ai-dev-assistant |
| Philosophy / standards review (SOLID, DRY) | code-quality-tools |
| Paper-testing before submission | code-paper-test |
| Issue / MR / pipeline CLI | mglaman/drupalorg-cli — executable drupalorg, wrapped by issue / submit / pipeline; see references/drupalorg-cli.md |
| Drupal AI skill install | drupal_devkit |
Examples
Example 1: natural-language entry, no command
User says: "I want to contribute a fix to the Pathauto module." Actions:
- Recognize a Drupal contribution request with no specific stage named.
- There is no environment context yet → route to
contribution-setupto detect the workflow (someone else's contrib) and environment, thencontribution-issue. Result: The contributor is on-ramped at the right stage without guessing.
Example 2: mid-arc entry
User says: "Check my Drupal contribution before I submit it." Actions:
- Work is already underway → skip
setup/issue. - Route to
contribution-verify(gates), thencontribution-review(honest review). Result: Entry atverify— earlier stages are not forced.
Troubleshooting
| Situation | Handling |
|---|---|
| Request could be two stages | Ask which stage; never guess the route. |
| A dev-guide slug does not resolve | The navigator degrades gracefully — proceed without it; never block. |
| Contributor asks to skip a stage | Allowed — the arc is detect-driven. Surface what evidence the skipped stage would have produced. |
| Request is Drupal dev but not contribution | Out of scope — this is contribution quality, not general Drupal dev. Defer to ai-dev-assistant. |
References
references/dev-guides-index.md— contribution stage → dev-guide slugs to loadreferences/drupalorg-cli.md— thedrupalorgCLI: what it is, install, subcommands