Generates Kernel tests for Drupal 10/11 using KernelTestBase. Use this skill when the code interacts with container services, entities, database, configuration, plugins, hooks, migrations, event subscribers, or any Drupal API that does not require rendering HTML in a browser. This is the most used and recommended test…
Makes and keeps a contrib module compatible with Drupal 10, 11 and 12 at once, and triages automated compatibility issues (Project Update Bot / Upgrade Status). The right answer is often "do NOT apply the bot's patch yet" — this skill encodes which findings to accept and which to reject. Examples: - user: "make this…
Prepares a custom module's repository for contribution to drupal.org: GitLab CI, test-suite registration, repository hygiene, and the hand-off documents future maintainers (human or AI) need. Use before publishing or contributing a module to the community. Examples: - user: "prepare this module for drupal.org" -> CI +…
Generates E2E test files with Playwright for Drupal 10/11. Creates persistent TypeScript test files in the repository for visual regression, cross-browser, accessibility, and E2E flows. This skill writes test code, it does not execute it. Trigger: "playwright test", "visual regression", "screenshot test"…
Audits a contrib module against the drupal.org security review checklist before applying for security advisory coverage (the "vetted" role project application). Finds and fixes the code patterns human reviewers reject. Use before opting a module into security coverage or requesting drupal.org security review.…
Audits and refactors an EXISTING Drupal test suite: removes zero-value tests, unifies duplicated scaffolding, converts fragile DB-simulation unit tests to kernel tests, and closes the dependency-injection coverage gap with kernel smoke tests. Complements the drupal-testing family (which writes NEW tests). Use to…
Orchestrator for Drupal testing. Analyzes code, determines the correct test type, and delegates to the appropriate specialized skill. Covers the full test lifecycle: Unit, Kernel, Functional, FunctionalJavascript, Behat and Playwright. Use when writing tests, improving coverage, running test suites, or when the user…
Generates PHPUnit unit tests for Drupal 10/11 custom modules following community best practices. Covers services, plugins, forms, controllers, and event subscribers with proper mocking patterns. Uses PHPDoc annotations (not PHP 8 attributes) for Drupal 10+11 compatibility. Examples: - user: "write unit tests for my…
Executes Drupal Drush commands for cache clearing, database updates, module management, cron, watchdog logs, and site maintenance. Use when user needs any Drush operation. Use proactively after code changes to clear caches or run database updates. Examples: - user: "clear cache" -> run drush cr via ssh web - user…
Scaffolds a new Drupal 10/11 custom module with proper PSR-4 structure, services.yml, routing.yml, info.yml, permissions.yml, and config schema. Use when creating a new custom module or when user says "create module", "new module", "scaffold module". Examples: - user: "Create a module called eventmanager" -> scaffold…
Resolves genuine conflicts between Drupal coder (PHPCS) and PHPStan level 8, and encodes the non-obvious mechanics of PHPStan suppressions in Drupal codebases. Use when the two tools give contradictory instructions on the same line, when a @phpstan-ignore "does not work", or on hook-docblock / missingType conflicts.…
Browser-based testing of Drupal sites using Playwright MCP in DDEV. Covers navigation, screenshots, authentication with drush uli, SSL/HTTPS workarounds, form interaction, and troubleshooting. Use when testing Drupal pages in a browser, taking screenshots, or interacting with the UI. Examples: - user: "test the…
Run comprehensive code quality checks: PHPCS, PHPStan, PHPUnit, Rector. Always checks for Drupal Audit module first (drush audit:run) for module-filtered JSON output. Falls back to raw tool execution if Audit not installed. Use when checking code quality, running audits, validating changes, or before committing.…
Interprets the content of screenshots and images: UI/design review, layout and spacing issues, accessibility contrast, visual regressions between two captures, and extracting text or data visible in images. Requires a vision-capable model — use the visual-analyzer agent, which runs on MODELVISION. Use for design…
Converts what a session learned the hard way (failed attempts, final fixes, verified facts) into durable guidance — a patch to an existing skill/rule, a project skill, or a new shared skill — so future runs one-shot the solution instead of re-exploring dead ends. User-invoked at the end of meaningful work. Examples: …
Creates, reviews, and validates OpenCode skills following the Anthropic Agent Skills specification (agentskills.io). Use when creating a new skill, auditing an existing skill, or when user says "create skill", "new skill", "review skill", "audit skills". Examples: - user: "create a skill for deploying" -> scaffold…
Guides TailwindCSS setup, configuration, compilation, and usage in Drupal themes. Ensures CSS is recompiled after every HTML/Twig/PHP change that adds or modifies Tailwind classes. Use when working with Tailwind in a Drupal theme, adding Tailwind classes, or troubleshooting missing styles. Examples: - user: "add…
Audit Twig templates for anti-patterns: render array drilling, business logic in templates, improper |raw usage, missing cache bubbling, component isolation issues, incorrect attribute handling. Use when reviewing templates, refactoring themes, or modernizing legacy Drupal templates.
Enables Xdebug tracing and profiling in DDEV to debug errors and analyze performance. Covers trace mode (function call tree, arguments, return values), profile mode (cachegrind analysis), triggering for specific requests, and programmatic output analysis. Use when debugging page errors, analyzing slow pages, finding…