skills/drupal-mr/SKILL.md
Create or list merge requests for drupal.org projects via git.drupalcode.org. Invoke when user wants to create a merge request for a drupal.org issue, says "create a drupal.org MR", "set up a merge request for issue", or uses /drupal-mr. Has side effects: clones repos to ~/.cache/drupal-contrib/ and pushes to git.drupalcode.org. Requires one manual step (issue fork creation via web UI).
npx skillsauth add kanopi/cms-cultivator drupal-mrInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Create and manage merge requests for drupal.org projects via git.drupalcode.org.
This skill has external side effects:
~/.cache/drupal-contrib/{project}/One manual interaction required — Issue fork creation must be done via the drupal.org web UI (CAPTCHA-protected).
/drupal-mr {project} {issue_number} — Create MR/drupal-mr list [{project}] — List MRsSSH key added to git.drupalcode.org:
~/.ssh/id_ed25519.pub)ssh -T [email protected]HTTPS fallback (if SSH port 22 is blocked):
read_repository, write_repositoryWhen Task() is unavailable:
ssh -T [email protected]git clone [email protected]:project/{project}.git ~/.cache/drupal-contrib/{project}
cd ~/.cache/drupal-contrib/{project}
https://www.drupal.org/project/{project}/issues/{issue_number}git remote add {project}-{issue_number} [email protected]:issue/{project}-{issue_number}.git
git fetch {project}-{issue_number}
git checkout -b {issue_number}-{description-slug}
git add .
git commit -m "Issue #{issue_number}: {description}"
git push {project}-{issue_number} {branch_name}
# Git outputs MR creation URL — open in browser to complete
When running in Claude Code with Task() and git/ssh available:
Task(cms-cultivator:drupalorg-mr-specialist:drupalorg-mr-specialist,
prompt="Execute the drupal-mr command with arguments: {arguments}. Check prerequisites (SSH key), clone project to ~/.cache/drupal-contrib/ if needed, guide user through manual issue fork creation, set up branch, push changes, and provide MR creation URL. Return MR URL and next steps.")
The agent handles git operations automatically, pausing for the one required manual step (issue fork creation).
{issue_number}-{description-slug}
Examples:
3456789-fix-validation-error
3456789-add-ckeditor5-support
All drupal.org projects clone to ~/.cache/drupal-contrib/:
~/.cache/drupal-contrib/
├── paragraphs/
├── webform/
└── easy_lqp/
This location persists across sessions and avoids conflicts with your main projects.
cd ~/.cache/drupal-contrib/{project}
git fetch --all
git checkout {branch_name}
# Make changes
git add . && git commit -m "Issue #{issue}: additional fixes"
git push {project}-{issue_number} {branch_name}
# MR updates automatically
**Merge Request Ready**
**Project**: paragraphs
**Issue**: #3456789
**Branch**: 3456789-fix-validation-error
**Local repo**: ~/.cache/drupal-contrib/paragraphs/
**Next Steps**:
1. Complete MR creation via the URL in git push output
2. Update drupal.org issue status to "Needs review"
3. Respond to review feedback
tools
Strategist-focused site audit for discovery and pre-discovery. Given a site URL and optional qualitative research data, navigates the site via CoWork, audits against all 21 UX Laws from lawsofux.com, reviews content hierarchy, synthesises qualitative data, runs Lighthouse, and produces two deliverables — a Project Knowledge Summary (Markdown for Claude Desktop Projects) and a polished, iterable HTML Artifact for client sharing. Use when a strategist, UX lead, or PM asks for a discovery audit, UX laws audit, content hierarchy review, pre-discovery site review, "audit this site for strategy", "strategist audit", "UX audit", or pastes a site URL with discovery context. Not for developer audits — use accessibility-audit, performance-audit, or live-site-audit for those.
development
Provide story point estimation guidance with hour calculations for software development tasks. Uses Fibonacci sequence (1, 2, 3, 5, 8, 13, 21, 34+) and converts story points to hours. Includes platform-specific adjustments and velocity calculations.
tools
Perform a full QA review of a Teamwork task by reading the task and all its comments for context, extracting the multi-dev URL, generating dynamic validation steps tailored to the task type, and using CoWork browser automation to execute those steps on the multi-dev environment. Produces a structured validation report with pass/fail per step, screenshots, internal notes, and a client-facing summary — all shown in chat. Use this skill whenever the user asks to QA, test, validate, or review a Teamwork task or multi-dev environment — even if they just say "can you QA this?" or paste a Teamwork link. Also triggers for phrases like "run QA on", "check the multi-dev", "validate this task", "test the dev link", or "review the ticket". Works across Drupal/CMS updates, WordPress/plugin updates, bug fixes, new feature development, and general web development tasks.
tools
Generate a client-facing project heartbeat / status update message for a Kanopi project, ready to be posted as a Teamwork message. Use this skill whenever the user asks to write, draft, generate, or send a project update, heartbeat, status update, or progress report to a client. Also triggers when the user says things like "time for a project update", "draft the heartbeat", "write up the update for [project]", or "it's been two weeks, let's send an update". Always use this skill — even if the user doesn't say "heartbeat" — whenever the intent is to summarise recent project activity for a client audience.