# Drupal Module Development

> Use when creating or extending Drupal 11 custom modules, including scaffolding, service architecture, and dependency injection best practices.

- Skill: `siva01c/drupal-module-development` (Agent Skill)
- Install (CLI): `npx skillmds@latest add siva01c/drupal-module-development`
- Raw SKILL.md: https://api.skillmd.com/api/skills/siva01c/drupal-module-development/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: siva01c (https://skillmd.com/u/siva01c)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/siva01c/drupal-module-development

---


# Drupal Module Development Skill

## Purpose
Use this skill when creating or extending custom Drupal 11 modules with modern architecture and maintainable code.

## When to apply
- Building a new custom module in `web/modules/custom`.
- Adding services, event subscribers, forms, or controllers.
- Refactoring procedural logic to service-based design.

## Workflow
1. Scaffold the module structure (`.info.yml`, `.services.yml`, routing, permissions).
2. Register dependencies through service definitions and constructor injection.
3. Build controllers/forms/plugins using Drupal 11 APIs and strict typing.
4. Add config schema for any custom configuration.
5. Validate with Drush cache rebuild and config export.

## Guardrails
- Avoid direct use of superglobals in business logic.
- Prefer dependency injection over static service locators.
- Keep schema, permissions, routes, and services documented and versioned.
- Do not modify Drupal core or contrib module code directly.

## Quick command checklist
```bash
drush en <module_name> -y
drush cr
drush config:export -y
```

In a containerized environment, prefix with your runner (e.g. `ddev drush …` — see the `ddev-tools` plugin).

