Skip to content
Back to skills

Drupal Contribute

ASecurity

Full drupal.org contribution workflow — create an issue and set up a merge request together. Invoke when user wants to contribute to a Drupal module, says \"contribute to drupal.org\", \"create a drupal.org issue and MR\", or uses /drupal-contribute. Requires user interaction at two manual steps (CAPTCHA-protected issue creation and issue fork creation). Has side effects: clones repos to ~/.cache/drupal-contrib/ and creates drupal.org issues.

  • 17 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added May 28, 2026
ai-agentsbashnodegit

Works with

  • claude code
  • claude desktop
  • cli

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned May 28, 2026

npx -y skills add kanopi/cms-cultivator --skill drupal-contribute --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Drupal Contribute?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Drupal Contribute
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/kanopi-drupal-contribute/badge)](https://www.skillsdirectory.com/skills/kanopi-drupal-contribute)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: drupal-contribute
description: "Full drupal.org contribution workflow — create an issue and set up a merge request together. Invoke when user wants to contribute to a Drupal module, says \"contribute to drupal.org\", \"create a drupal.org issue and MR\", or uses /drupal-contribute. Requires user interaction at two manual steps (CAPTCHA-protected issue creation and issue fork creation). Has side effects: clones repos to ~/.cache/drupal-contrib/ and creates drupal.org issues."
disable-model-invocation: true
---

# Drupal Contribute

Full drupal.org contribution workflow — create an issue and set up a merge request in one workflow.

## ⚠️ Side Effect Warning

**This skill has external side effects:**
- Creates a new issue on drupal.org (publicly visible)
- Clones the project repository to `~/.cache/drupal-contrib/{project}/`
- Pushes to an issue fork on git.drupalcode.org

**Two manual interaction points are required** (CAPTCHA protection prevents automation):
1. You paste and submit the issue on drupal.org
2. You click "Create issue fork" on the issue page

## Usage

- "Contribute to the paragraphs module — create an issue and MR"
- "Start a new drupal.org contribution for the webform module"
- `/drupal-contribute {project} [issue-number]`

**If issue already exists**: `/drupal-contribute paragraphs 3456789` (skips to MR setup)

## Prerequisites

- drupal.org account (logged in via browser)
- SSH key added to git.drupalcode.org (for MR setup)
- Or HTTPS token from git.drupalcode.org (if SSH blocked)

## Environment Detection

### Tier 1 — Portable (Claude Desktop, Codex, any environment)

When Task() is unavailable:

1. **Gather issue details** — Ask user for: issue type, title, description, Drupal/module version, priority
2. **Generate issue content** — Format using official drupal.org HTML template:
   ```html
   <h3 id="summary-problem-motivation">Problem/Motivation</h3>
   {description}
   <h3 id="summary-proposed-resolution">Proposed resolution</h3>
   {resolution}
   <h3 id="summary-remaining-tasks">Remaining tasks</h3>
   - [ ] Confirm the bug
   - [ ] Write fix
   - [ ] Add tests
   ```
3. **Display for manual submission** — Show complete formatted content for copy/paste
4. **Provide issue URL** — `https://www.drupal.org/node/add/project-issue/{project}`
5. **⛔ STOP: User pastes content and submits issue, then replies with issue number**
6. **Guide MR setup** — Provide git commands:
   ```bash
   git clone git@git.drupal.org:project/{project}.git ~/.cache/drupal-contrib/{project}
   cd ~/.cache/drupal-contrib/{project}
   # User creates issue fork at: https://www.drupal.org/project/{project}/issues/{issue_number}
   git remote add {project}-{issue} git@git.drupal.org:issue/{project}-{issue_number}.git
   git fetch {project}-{issue_number}
   git checkout -b {issue_number}-{description-slug}
   ```
7. **⛔ STOP: User creates issue fork, replies "done"**
8. **Provide push command**:
   ```bash
   git push {project}-{issue_number} {branch_name}
   # Git outputs MR creation URL — open in browser to complete
   ```

### Tier 2 — Claude Code Enhanced

When running in Claude Code with Task() and git available:

**Phase 1 — Issue Creation**:
```
Task(cms-cultivator:drupalorg-issue-specialist:drupalorg-issue-specialist,
     prompt="Create a new issue for {project}. Generate issue content using drupal.org HTML templates, copy title to clipboard, open browser, guide user through submission, and return the issue number.")
```

**Phase 2 — MR Setup** (after user provides issue number):
```
Task(cms-cultivator:drupalorg-mr-specialist:drupalorg-mr-specialist,
     prompt="Create a merge request for {project} issue #{issue_number}. Clone repo, guide user through manual fork creation, set up branch, push changes, and provide MR creation URL.")
```

## Contribution Workflow

### New Contribution (Issue + MR)
1. Agent generates issue content and opens browser
2. **You paste and submit** — reply with issue number
3. Agent opens issue page for fork creation
4. **You click "Create issue fork"** — reply "done"
5. Agent sets up branch and remote
6. Make your code changes in `~/.cache/drupal-contrib/{project}/`
7. Commit and push (git outputs MR URL automatically)
8. Open MR URL in browser to complete creation

### Existing Issue (MR Only)
Use `/drupal-contribute {project} {issue_number}` to skip issue creation.

## Related Skills

- **drupal-issue** — Issue operations only
- **drupal-mr** — MR operations only
- **drupal-cleanup** — Manage cloned repositories
- **drupalorg-issue-helper** — Issue template guidance
- **drupalorg-contribution-helper** — Git workflow guidance

Files in this skill

  • SKILL.md4.6 KB
  • agents/openai.yaml228 B

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.