Reusable Claude Code agents and skills for building, testing, and releasing the Webship Drupal distribution and its ecosystem.
Drop the .claude/ folder into a project (or merge into ~/.claude/) to make these agents and skills
available to Claude Code.
.claude/
├── agents/ # Claude Code sub-agent definitions (one .md per agent)
└── skills/ # Claude Code skills (one folder per skill, each with SKILL.md)
Release workflow (Drupal ~11.4.0 cycle)
webship-11-0-x-release— capstone agent for the whole Webship 11.0.x release workflow (modules, theme, profile/distribution rollup, project template).webship-drupal-module-release— cut a tag-only release of a single web* module on drupal.org / git.drupalcode.org (+ github mirror).webship-drupal-theme-release— the theme counterpart.webship-patches-release— cut and manage releases of thewebship/patchesComposer plugin on github.com (auto-publishes to Packagist via webhook).webship-drupal-patches-release— the release counterpart for thewebship/drupal-patchescore-patch metapackage (one branch per Drupal core major.minor).cucumber_starter-1-0-x-release— cuts releases of thecucumber_startertag-only recipe package on drupal.org / git.drupalcode.org (+ github mirror),1.0.xonly, release notes in the Added/Changed/Fixed style rather than the flat module/theme bullet form.webship_project-12-0-x-release,webships_project-12-0-x-release,cucumber_project-12-0-x-release,website-12-0-x-release— cut releases of the four tag-onlydrupal/*_projecttemplates,12.0.xonly, each gated on a green pipeline and Packagist packaging landing before the release node is published.
Issues, patches & MR/PR lifecycle
-
drupal-issue-manager— issues in a drupal.org node queue (HTML bodies, no write API, browser only). -
drupalcode-issue-manager— issues that live as GitLab work items on git.drupalcode.org (Markdown, GitLab REST API), and the five.gitlab/issue_templates/*.mda project ships. -
drupalcode-mr-manager— the git.drupalcode.org merge-request lifecycle: issue forks, the Commits API, thegitlab-ci-localgreen gate, Checkpoints checklist, commit-type titles. Never merges. -
github-pr-manager— the github.com issue and pull-request lifecycle, including the patch-repo PR rules forwebship/patchesandwebship/drupal-patches. Never merges.Which one to use is decided by the host, and by where the project's issues actually live — open a real issue URL and look, rather than inferring it from the project name.
-
webship-patches— install/configure thewebship/patchesComposer plugin (allowlist, wildcard ignore,patches-ignore), author and re-roll patches, diagnose patch failures. -
webship-drupal-patches— maintain thewebship/drupal-patchesComposer metapackage: curate a core-minor patch set, add a new Drupal core minor branch, wire it intowebship/patches.
Testing
agent-webship-js— automated browser testing with webship-js (Playwright + Cucumber-js): scaffold, author.featurefiles, run, and report.webship-ai-agent— webship-js BDD authoring / running / fixing loop.
Site templates
drupal-site-template-creator— scaffold a new Drupal recipe-based site template end to end: repo, clone-and-rename, branch, tracking issue, README, and the first dev release. Product-neutral, so it works for any recipe-based template, not only the Webship ones.website_starter-1-0-x-site-template-manager— maintains the shippedwebsite_startertemplate.webship_starter-1-0-x-site-template-manager— maintains the shippedwebship_startertemplate.webship_portal-1-0-x-site-template-manager— maintains the shippedwebship_portaltemplate.cucumber_starter-1-0-x-site-template-manager— maintains the shippedcucumber_startertemplate, the default site template of thecucumberinstall profile.webapi_starter-2-0-x-site-template-manager— maintains the shippedwebapi_startertemplate.webships_starter-2-0-x-site-template-manager— maintains the shippedwebships_startertemplate.
Project templates — composer create-project starters ("type": "project"), each scaffolding a
codebase that requires a distribution/installer and (for website, webships_project) a choice of site
template. Not recipes, not site templates — see the managers above for that side of the work.
webship_project-12-0-x-manager/webship_project-12-0-x-release— maintain and releasewebship_project,12.0.xonly.webships_project-12-0-x-manager/webships_project-12-0-x-release— maintain and releasewebships_project,12.0.xonly.cucumber_project-12-0-x-manager/cucumber_project-12-0-x-release— maintain and releasecucumber_project,12.0.xonly.website-12-0-x-manager/website-12-0-x-release— maintain and release thewebsiteproject template,12.0.xonly.
Front end & design systems
-
drupal-themer— the master themer. Decides where a change belongs (component, display configuration, theme tokens, or the framework's own classes), then orchestrates the sub-agents below, spawning one component builder per component. -
drupal-sdc-component-builder— authors exactly one Single Directory Component at a time. -
drupal-page-assembler— assembles pages from components that already exist. -
ui-suite-uikit-themer— the themer for theui_suite_uikittheme (UIkit). -
webtheme-themer— the themer for thewebthemetheme.Verification is delegated to
drupal-frontend-render-verifierand token work todrupal-design-token-mapper, rather than duplicated here.
Workspace tooling (webship-workspace-*) — build, back up, and maintain the folders of the
~/workspace Drupal development workspace: agents, components, demos, dev, docs, forked, libraries, modules,
products, profiles, projects, recipes, sandboxes, skills, test, themes.
webship-patches— thewebship/patchesComposer plugin controls (allowlist, wildcard ignore,patches-ignore) and curated contrib patches.webship-drupal-patches— thewebship/drupal-patchesmetapackage, one branch per Drupal core major.minor.patch-management— generic, non-Webship patch creation/re-roll mechanics for any Drupal project.webship-issue-templates— the Webship issue-summary + Checkpoints templates (with saved copies of the Drupal AI policy and commit-types reference).drupal-mr-manager— the MR/PR lifecycle conventions shared bygithub-pr-manageranddrupalcode-mr-manager(description shape, Checkpoints last, commit-type titles).webship-js-init,webship-js-create,webship-js-run,webship-js-audit,webship-js-steps— the webship-js BDD testing skills (scaffold a suite, author scenarios, run it, audit results, and manage step definitions).drupal-site-template-prove— what "proven" means for a site template: counted install assertions across both supported bases and all three install paths, not a finished install you looked at.drupal-site-template-catalog— the site template catalogue: package, repository, the exact non-interactive build invocation, and the recipes each template applies.
.claude/agents/RULES.mdis the single source of truth for the rules every agent follows — disclosure, evidence, destructive actions, and what must never appear in public content. Agents point at it rather than restating it.- Agents reference credentials by file path only (e.g. a git.drupalcode.org token at
~/.config/drupalcode/gitlab-token) — no secrets are stored in this repo. - No contributor is hardcoded anywhere: identity resolves at run time, and worked examples use
placeholders (
<your-gitlab-username>) rather than real accounts. - Passwords that appear in test fixtures (e.g.
dD.123123ddd) are throwaway local DDEV test credentials. webship/patchesandwebship/drupal-patchesare renamed continuations of the earlierwebship/webship-patchesandwebship/drupal-core-patchespackages: fresh tag lines (11.0.0and11.4.0respectively), shorter names, and (forwebship/patches) 3-segment never-move release tags instead of the predecessor's 4-segment scheme.
GPL-2.0-or-later