From drupal-ai-contrib
Enforces development discipline for AI-assisted Drupal contributions: evidence over assertion, no-guessing rule for external facts, verification-gate artifact contracts, and re-verification on post-gate change.
How this skill is triggered — by the user, by Claude, or both
Slash command
/drupal-ai-contrib:contribution-guardrailsinheritThis skill is limited to the following tools:
These tools are removed from Claude's available pool while this skill is active:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
The cross-cutting discipline for AI-assisted Drupal contribution development. The
The cross-cutting discipline for AI-assisted Drupal contribution development. The recurring failure this prevents: AI claiming correctness it never verified. Drupal treats this as an existential review-cost problem — AI makes contributing cheap but makes reviewing expensive.
/drupal-ai-contrib:issue and /drupal-ai-contrib:verifycontribution-verify)A gate passes only on a produced artifact. Never on the model stating a verdict.
For each gate, produce → capture → check the artifact:
| Gate | Pass artifact |
|---|---|
| Research | Cited findings — each claim traced to a source (dev-guide slug, vendor doc, source file) |
| Implementation | TDD evidence — a failing test, then the same test passing (red → green) |
| Static analysis | Clean captured phpcs / phpstan output — the actual command output, pasted |
| Test | The core phpunit.xml.dist run with zero failures, warnings, deprecations |
| Live behavior | Real API / command output — captured, not described |
| Review | A fresh-context agent's verdict (fresh-context-reviewer) |
| Completion | A green real drupalci pipeline (contribution-pipeline) |
If you cannot show the artifact, the gate has not passed — say so plainly.
Any external fact — an SDK symbol, an API header or parameter, a beta-feature slug, a library-version behavior — is verified against vendor source or a live probe.
drupal-ai-contrib:external-fact-verifier agent (Task tool);
act only on a verified result.Any code edited after its gate passed re-fires that gate for the touched path.
Features added after a green test run are the classic escape hatch for unverified code.
The PostToolUse re-verification hook marks a changed path's gate stale; verify
re-runs every stale gate. Never treat a pre-edit green as still valid.
Full gates for features. A light path is allowed for trivial changes — but "trivial" must be explicitly justified and recorded (what makes it trivial, in writing), never assumed. An unrecorded "this is trivial" is the bypass that hides unverified work.
Deliver exactly the agreed scope contract — goal / expected result / success criteria / non-goals. AI over-delivers, and every extra line is review burden a maintainer did not ask for. Out-of-scope work is a guardrail violation, not a bonus.
User says: "The phpcs job should pass now." Actions:
phpcs output; if it has not been run, run it and capture it.
Result: The gate's verdict is the pasted command output, not a prediction.User says: "Use the Client::stream() method from the SDK."
Actions:
Client::stream() is an external fact recalled from memory (Rule 2).drupal-ai-contrib:external-fact-verifier agent — verify
against vendor source.
Result: Code uses the symbol only after a verified result; otherwise it is blocked.| Situation | Handling |
|---|---|
| Asked to call something "trivial" to skip gates | Allowed only if the justification is written down (Rule 4). No record → full gates. |
| A warning is dismissed as "noise" | Trace it to its source before dismissing — undismissed by default. |
| Builder explains why the work is fine | Explanation is narrative, not evidence. Require the artifact. |
| Extra work delivered beyond scope | Flag as a Rule 5 violation; it is review burden, not a bonus. |
Load via dev-guides-navigator: drupal/contributing-with-ai/evidence-over-assertion,
drupal/contributing-with-ai/supervised-ai-workflow,
drupal/contributing-with-ai/human-review-requirements.
npx claudepluginhub camoa/claude-skills --plugin drupal-ai-contribRuns local verification for Drupal contributions: parity with drupalci jobs (phpcs, phpstan, phpunit, composer), AI-policy gate, and eval gate. Every gate passes only on a captured artifact.
Enforces verification gate for Drupal implementations using drush evals, curl tests, config imports, and behavioral checks before claiming task completion.
Enforces evidence-before-claims discipline: requires fresh verification (test, build, lint) before any completion claim. Prevents premature sign-offs.