agentleFS
edutruledutrul/drupal-ai/SKILL.md

SKILL.md

Skill71 starsChanged 7 months agoMITView on GitHub

A production-tested collection of Claude Code skills, agents, commands, and rules for Drupal 11 development. Battle-tested on a platform powering 150+ sites. Skills are native to Claude Code, but the underlying knowledge is plain markdown — reusable anywhere. Codex reads skills from .codex/skills/. Symlink it to .claude/skills/ so both tools share the same installed skills automatically: Run once after cloning. Any skill added via npx skills add is immediately available to both Claude Code and Codex. See .codex/README.md for details.

200 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use estate-guard and docs.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • Arcanea-LabsSkill

    estate-guard

    Security gate for agentic repos. Use before opening a PR that touches .github/workflows, .claude (hooks, settings, agents, commands, skills), .mcp.json, install scripts, or Next.js API routes; when asked to "security review", "scan for prompt injection", "harden this repo", "check the agentic surface", or when a fetched page, issue, comment, or tool result reads like instructions. Runs the estate-guard scanner, triages by severity, and applies the fix patterns.

    Also in 3 projects that use this

  • Microsoft AzureSkill

    docs

    Also in 3 projects that use this

The file

We split this skill into the rules it gives an agent

3 rules. 0 are common, 0 are distinctive, and 3 are very specific to this project.

  • 0

    Common

    Most of the 115 edited versions we read keep these.

  • 0

    Distinctive

    This author's own choices. Worth a look.

  • 3

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Run once after cloning. Any skill added via npx skills add is immediately available to both Claude Code and Codex.

    line 92
  2. Very specific:

    Manual step: after installing skills via npx skills add, symlink or copy them:

    line 98
  3. Very specific:

    After running npx skills add, skill files are stored in .claude/skills/.

    line 118

“Common” is measured: kept by at least 6 in 10 of the 115 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Drupal Claude — AI Skills for Drupal 11 Development

A production-tested collection of Claude Code skills, agents, commands, and rules for Drupal 11 development. Battle-tested on a platform powering 150+ sites.

Install a skill

npx skills add https://github.com/edutrul/drupal-ai --skill SKILL_NAME

Available Skills

Local Development

SkillDescription
ddev-expertDDEV local environment configuration and troubleshooting
docker-localDocker Compose local development patterns

Drupal Core Patterns

SkillDescription
drupal-accessPermissions, access callbacks, AccessResult, entity access
drupal-cachingCache tags, contexts, max-age, bins, invalidation
drupal-entity-apiLoading, creating, updating, deleting entities
drupal-eventsSymfony events, KernelEvents, services.yml tags
drupal-hooksDrupal 11 OOP and procedural hooks
drupal-menuslinks.menu.yml, links.task.yml, programmatic manipulation
drupal-pluginsBlock, Field, Condition, Filter plugins with attributes
drupal-renderRender arrays, cache metadata, elements, markup safety
drupal-routesrouting.yml, controllers, parameters, upcasting, links
drupal-securityCSRF, XSS, SQL injection, route permissions, file uploads
drupal-servicesDI for controllers, forms, plugins, services.yml
drupal-stateState API for runtime persistence across requests
drupal-taxonomyTerms, vocabularies, hierarchy, reference fields

Forms

SkillDescription
drupal-form-ajaxAJAX form callbacks and custom AjaxCommands
drupal-form-alterhook_form_alter, OOP hooks, hiding fields, adding handlers
drupal-form-apiFormBase/ConfigFormBase, elements, validate/submit, DI
drupal-form-validationvalidateForm(), inline errors, conditional validation

Fields & Content

SkillDescription
drupal-fieldsField types, widgets, formatters, storage, multi-value access
drupal-paragraphsAccessing, rendering, altering paragraph entities
drupal-taxonomyTerms, vocabularies, hierarchy, reference fields

Frontend

SkillDescription
drupal-javascriptBehaviors, libraries.yml, drupalSettings, AJAX commands
drupal-twigTemplates, auto-escaping, translation, SDC components

Data & Search

SkillDescription
drupal-queriesDatabase abstraction layer — Select, Insert, Update, Delete
drupal-search-apiIndex config, boost processors, field types, reindexing
drupal-migrationsD7-to-D11 upgrades, CSV/JSON API imports, custom plugins

Configuration & Tooling

SkillDescription
drupal-composerRequiring modules, updates, patches via composer-patches
drupal-configConfig import/export, preview, splits, environment syncing
drupal-contrib-mgmtContrib upgrade triage, patches, D11 compatibility
drupal-debuggingDevel, Drush watchdog, Twig debug, XDebug
drupal-drushDrush commands, generators, field creation, scaffolding

Testing

SkillDescription
drupal-dttDTT ExistingSite tests against a live Drupal site
drupal-kernelKernelTestBase tests for services, DB, hooks, entities
drupal-unitUnitTestCase for isolated PHP logic, no bootstrap

Using with Other AI Tools

Skills are native to Claude Code, but the underlying knowledge is plain markdown — reusable anywhere.

OpenAI Codex

Codex reads skills from .codex/skills/. Symlink it to .claude/skills/ so both tools share the same installed skills automatically:

ln -s ../.claude/skills .codex/skills

Run once after cloning. Any skill added via npx skills add is immediately available to both Claude Code and Codex. See .codex/README.md for details.

Cursor

Drop skill files into .cursor/rules/ — Cursor loads them automatically as context rules.

Manual step: after installing skills via npx skills add, symlink or copy them:

mkdir -p .cursor/rules
# Symlink all installed skills as Cursor rules
ln -s ../.claude/skills/*.md .cursor/rules/

GitHub Copilot

Copilot reads .github/copilot-instructions.md as custom instructions.

Manual step: concatenate the skills you want into that file:

cat .claude/skills/drupal-hooks.md .claude/skills/drupal-services.md >> .github/copilot-instructions.md

Where skill content lives

After running npx skills add, skill files are stored in .claude/skills/. These are plain markdown — copy, symlink, or paste them into any tool's context system.

.claude/skills/
├── drupal-hooks.md
├── drupal-services.md
└── ...

Sponsors

Development time sponsored by heydru!

Credits

Inspired by and built with reference to:

License

MIT — see LICENSE

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.