Token导航 LogoToken导航TokenDH.com
研究检索操作浏览器github未标认证来源可访问clear审计提醒

drupalorg-issue-helperdrupalorg 问题助手

Agent Skill

用于围绕 GitHub 仓库、Issue、Pull Request、分支、提交和代码协作流程提供辅助能力。它适合让 Agent 查询项目状态、整理变更、辅助创建或检查协作事项,并把仓库中的信息转成可执行的下一步。使用时需要区分只读查询和写入操作;涉及创建 PR、修改 Issue、推送分支或访问私有仓库时,应确认 token 权限、目标仓库范围和用户授权。

总安装

582

周安装

24

GitHub Stars

8

下载量

190
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

3

许可证

MIT

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:drupalorg-issue-helper(drupalorg 问题助手)
来源仓库:https://github.com/kanopi/cms-cultivator
仓库路径:skills/drupalorg-issue-helper
安装命令:
npx skills add https://github.com/kanopi/cms-cultivator --skill drupalorg-issue-helper
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。不同来源提供的安装方式可能略有差异;本站展示可直接复制的安装命令,安装前请核对来源页面。

skills.shnpx skills
npx skills add https://github.com/kanopi/cms-cultivator --skill drupalorg-issue-helper

简介

该技能提供 drupal.org 问题模板编写和补丁提交的格式化指导。

  • 适用于 bug 报告撰写、问题分类和贡献最佳实践说明。
  • 帮助开发者理解 issue 优先级和有效问题描述要求。
  • 安装需从 GitHub 仓库获取,使用前应确认 drupal.org 账户和贡献权限。
  • 涉及问题提交时,应提供清晰复现步骤和测试用例,提高问题解决效率。

SKILL.md

Drupal.org Issue Helper

Quick assistance with drupal.org issue templates, formatting, contributing patches/fixes, and best practices for effective bug reports and feature requests.

When to Use This Skill

Activate this skill when the user:

  • Asks "how do I write a bug report?"
  • Mentions "drupal.org issue template"
  • Needs help formatting an issue description
  • Asks about issue categories or priorities
  • Wants to understand drupal.org issue best practices
  • Says "I have a patch" or "I created a fix"
  • Wants to "contribute back" or "contribute upstream"
  • Asks "how do I submit my fix to drupal.org?"
  • Mentions "I fixed a bug in a contrib module"
  • Wants to contribute code changes to a drupal.org project

Quick Note on Creating Issues

drupal.org has no write API - issue creation requires the web UI.

Use /drupal-issue create {project} for a guided workflow that:

  1. Generates properly formatted HTML content
  2. Copies title to clipboard
  3. Opens browser to the issue form
  4. Guides you through submission

Or manually create issues at: https://www.drupal.org/node/add/project-issue/{project}

Contributing a Patch or Fix Back to Drupal.org

If you've already created a fix locally and want to contribute it back, here's the workflow:

Step 1: Create an Issue First

Before submitting code, you need an issue on drupal.org:

  1. Search existing issues to avoid duplicates
  2. Use /drupal-issue create {project} to create a new issue
  3. Note the issue number (e.g., 3569261)

Step 2: Create a Merge Request

Use /drupal-mr {project} {issue_number} which will:

  1. Clone the project to ~/.cache/drupal-contrib/{project}/
  2. Guide you to create an issue fork on drupal.org
  3. Set up the branch {issue_number}-{description}
  4. Push your changes and provide the MR URL

Step 3: Apply Your Local Changes

If your fix is in a different location (e.g., your project's vendor/ or web/modules/contrib/):

# Option A: Copy changed files
cp /path/to/your/fix/SomeClass.php ~/.cache/drupal-contrib/{project}/src/

# Option B: Create a patch from your changes and apply it
cd /path/to/your/project
git diff web/modules/contrib/{module} > ~/fix.patch
cd ~/.cache/drupal-contrib/{project}
git apply ~/fix.patch

# Option C: Cherry-pick if you committed locally
git format-patch -1 HEAD --stdout > ~/fix.patch
cd ~/.cache/drupal-contrib/{project}
git am ~/fix.patch

Step 4: Commit and Push

cd ~/.cache/drupal-contrib/{project}
git add .
git commit -m "Issue #{issue_number}: Description of fix"
git push {project}-{issue_number} {branch_name}

Quick Contribution Workflow

For a complete guided workflow that handles issue + MR together:

/drupal-contribute {project}

Example: Contributing a Bug Fix

User: "I fixed a bug in the paragraphs module where nested items weren't saving correctly. How do I contribute this back?"

Workflow:
1. /drupal-issue create paragraphs
   → Creates issue, returns #3569999
2. /drupal-mr paragraphs 3569999
   → Sets up branch, you copy your fix, push
3. Complete MR in browser
4. Update issue status to "Needs review"

Official drupal.org HTML Issue Template

drupal.org expects issue descriptions in HTML format with specific headings. Use this exact structure:

<h3 id="summary-problem-motivation">Problem/Motivation</h3>
{problem_description}

<h4 id="summary-steps-reproduce">Steps to reproduce</h4>
{steps_if_bug}

<h3 id="summary-proposed-resolution">Proposed resolution</h3>
{proposed_solution}

<h3 id="summary-remaining-tasks">Remaining tasks</h3>
{remaining_tasks_checklist}

<h3 id="summary-ui-changes">User interface changes</h3>
{ui_changes_or_none}

<h3 id="summary-api-changes">API changes</h3>
{api_changes_or_none}

<h3 id="summary-data-model-changes">Data model changes</h3>
{data_model_changes_or_none}

Issue Categories

CategoryWhen to Use
Bug reportSomething doesn't work as expected
Feature requestNew functionality needed
TaskWork item that's not a bug or feature
Support requestNeed help using the module
PlanStrategic planning for the project

Priority Levels

PriorityDefinition
CriticalData loss, security issue, or complete breakage with no workaround
MajorSignificant impact but workaround exists
NormalStandard priority for most issues
MinorNice to have, cosmetic issues, minor improvements

Bug Report Template

Use this complete template for bug reports:

<h3 id="summary-problem-motivation">Problem/Motivation</h3>
{Clearly describe what's wrong. What did you expect to happen vs. what actually happened?}

<h4 id="summary-steps-reproduce">Steps to reproduce</h4>
1. {First step - be specific}
2. {Second step}
3. {Third step}
4. {Observe the bug}

<h3 id="summary-proposed-resolution">Proposed resolution</h3>
{How should this be fixed?}

<h3 id="summary-remaining-tasks">Remaining tasks</h3>
- [ ] Confirm the bug can be reproduced
- [ ] Write the fix
- [ ] Add test coverage
- [ ] Review and merge

<h3 id="summary-ui-changes">User interface changes</h3>
None

<h3 id="summary-api-changes">API changes</h3>
None

<h3 id="summary-data-model-changes">Data model changes</h3>
None

Bug Report Best Practices

  1. Be specific - "The form doesn't work" is unhelpful; "Clicking Save on the settings form shows a WSOD" is useful
  2. Include versions - Always mention Drupal core, module, and PHP versions
  3. Provide steps - Make it reproducible
  4. Show error messages - Copy exact error text, don't paraphrase
  5. Attach screenshots - Visual bugs need visual evidence
  6. Check if it's a duplicate - Search existing issues first

Feature Request Template

<h3 id="summary-problem-motivation">Problem/Motivation</h3>
{Why is this feature needed? What problem does it solve?}

<h3 id="summary-proposed-resolution">Proposed resolution</h3>
{How should this feature work? Be as specific as possible.}

<h3 id="summary-remaining-tasks">Remaining tasks</h3>
- [ ] Design the approach
- [ ] Implement the feature
- [ ] Add test coverage
- [ ] Update documentation

<h3 id="summary-ui-changes">User interface changes</h3>
{Will there be new admin pages, form fields, or UI elements?}

<h3 id="summary-api-changes">API changes</h3>
{Any new hooks, services, or public methods?}

<h3 id="summary-data-model-changes">Data model changes</h3>
{New database tables, fields, or configuration schema?}

Feature Request Best Practices

  1. Explain the "why" - Help maintainers understand the use case
  2. Be specific - Vague requests are hard to implement
  3. Consider existing patterns - Follow Drupal conventions
  4. Offer to help - Maintainers appreciate contributors
  5. Accept alternatives - Your solution might not be the best one

Task Template

<h3 id="summary-problem-motivation">Problem/Motivation</h3>
{What needs to be done and why?}

<h3 id="summary-proposed-resolution">Proposed resolution</h3>
{Approach to completing the task}

<h3 id="summary-remaining-tasks">Remaining tasks</h3>
- [ ] {Specific, testable task 1}
- [ ] {Specific, testable task 2}
- [ ] {Specific, testable task 3}
- [ ] Tests pass
- [ ] Documentation updated

<h3 id="summary-ui-changes">User interface changes</h3>
{If applicable, or "None"}

<h3 id="summary-api-changes">API changes</h3>
{If applicable, or "None"}

<h3 id="summary-data-model-changes">Data model changes</h3>
{If applicable, or "None"}

Support Request Template

<h3 id="summary-problem-motivation">Problem/Motivation</h3>
{What are you trying to do? What's not working as expected?}

**Environment**:
- Drupal version: {version}
- Module version: {version}
- PHP version: {version}

**What I've tried**:
1. {Approach 1}
2. {Approach 2}

<h3 id="summary-proposed-resolution">Proposed resolution</h3>
{What specific help or guidance do you need?}

<h3 id="summary-remaining-tasks">Remaining tasks</h3>
- [ ] Get answer/guidance
- [ ] Implement solution

<h3 id="summary-ui-changes">User interface changes</h3>
N/A

<h3 id="summary-api-changes">API changes</h3>
N/A

<h3 id="summary-data-model-changes">Data model changes</h3>
N/A

Title Best Practices

Good Titles

  • "Form validation fails when field is empty"
  • "Add support for CKEditor 5 plugins"
  • "PHP 8.2 deprecation warning in EntityViewBuilder"
  • "Missing translation for 'Save' button"

Bad Titles

  • "It doesn't work" (too vague)
  • "URGENT!!! HELP!!!" (not descriptive)
  • "Bug" (meaningless)
  • "Question" (doesn't describe the question)

Title Formula

{Action/Problem} + {Context/Location} + {Condition (optional)}

Examples:
- "Form validation fails when required field is empty"
- "Add bulk export option to admin views"
- "WSOD on node save with paragraphs enabled"

Issue Status Flow

Active → Needs work → Needs review → RTBC → Fixed → Closed
    ↑         ↓
    └─────────┘
StatusWho SetsMeaning
ActiveReporterIssue is open, being worked on
Needs workReviewerChanges requested
Needs reviewContributorReady for review
RTBCCommunityReviewed, ready to commit
FixedMaintainerCommitted to codebase
ClosedAnyoneVarious close reasons

Quick Examples

Example 1: Concise Bug Report

User: "I found a bug where the paragraphs module crashes on save"

Title: WSOD when saving node with nested paragraphs
<h3 id="summary-problem-motivation">Problem/Motivation</h3>
Saving a node with more than 3 levels of nested paragraphs causes a white screen of death.

<h4 id="summary-steps-reproduce">Steps to reproduce</h4>
1. Create a paragraph type with a nested paragraphs field
2. Create content with 4+ levels of nesting
3. Click Save

<h3 id="summary-proposed-resolution">Proposed resolution</h3>
Investigate recursion limit in paragraph rendering.

<h3 id="summary-remaining-tasks">Remaining tasks</h3>
- [ ] Confirm reproduction
- [ ] Investigate root cause
- [ ] Implement fix
- [ ] Add test

<h3 id="summary-ui-changes">User interface changes</h3>
None

<h3 id="summary-api-changes">API changes</h3>
None

<h3 id="summary-data-model-changes">Data model changes</h3>
None

Example 2: Feature Request

User: "I want to suggest adding a feature to export paragraphs"

Title: Add ability to export paragraph configurations as YAML
<h3 id="summary-problem-motivation">Problem/Motivation</h3>
Developers need to share paragraph type configurations between sites. Currently, this requires manually recreating configurations or using Features module.

<h3 id="summary-proposed-resolution">Proposed resolution</h3>
Add a "Export" tab to paragraph types that generates YAML configuration that can be imported via drush or admin UI.

<h3 id="summary-remaining-tasks">Remaining tasks</h3>
- [ ] Design export format
- [ ] Implement export functionality
- [ ] Add import functionality
- [ ] Add drush commands
- [ ] Document workflow

<h3 id="summary-ui-changes">User interface changes</h3>
- New "Export" tab on paragraph type edit page
- YAML textarea with copy button
- Import form at /admin/structure/paragraphs/import

<h3 id="summary-api-changes">API changes</h3>
- New service: paragraphs.config_exporter
- New drush command: paragraphs:export

<h3 id="summary-data-model-changes">Data model changes</h3>
None

Example 3: Quick Status Update

User: "How do I mark my issue as ready for review?"

Status changes:
1. Go to your issue page
2. Scroll to the status field (usually near bottom)
3. Change from "Active" or "Needs work" to "Needs review"
4. Add a comment explaining what's ready for review
5. Click Save

Best practice: Include a summary of changes in your comment when changing to "Needs review".

Example 4: Contributing a Local Fix

User: "I fixed a PHP 8.2 deprecation warning in the webform module. How do I contribute this back?"

Response:
Great! Here's how to contribute your fix:

1. **Create an issue** (if one doesn't exist):
   /drupal-issue create webform

   Use this title format: "PHP 8.2 deprecation warning in [ClassName]"
   Category: Bug report
   Priority: Normal (or Major if it causes errors)

2. **Create a merge request**:
   /drupal-mr webform {issue_number}

   This clones the project and sets up your branch.

3. **Apply your fix**:
   cd ~/.cache/drupal-contrib/webform
   # Copy your fixed file or apply your patch
   git add .
   git commit -m "Issue #{issue_number}: Fix PHP 8.2 deprecation warning in ClassName"
   git push webform-{issue_number} {branch_name}

4. **Complete the MR** in your browser when the URL opens.

5. **Update issue status** to "Needs review" on drupal.org.

Tip: In your issue description, include the exact deprecation warning message
and the PHP/Drupal versions where you tested the fix.

Example 5: Already Have a Patch File

User: "I have a .patch file that fixes an issue. How do I submit it?"

Response:
Modern drupal.org workflow uses merge requests instead of patch files, but you can
still apply your patch:

1. **Create or find the issue** on drupal.org for your fix

2. **Set up the MR environment**:
   /drupal-mr {project} {issue_number}

3. **Apply your patch**:
   cd ~/.cache/drupal-contrib/{project}
   git apply /path/to/your/fix.patch

   If that fails, try:
   git apply --3way /path/to/your/fix.patch

4. **Commit and push**:
   git add .
   git commit -m "Issue #{issue_number}: Description of fix"
   git push {project}-{issue_number} {branch_name}

5. **Complete the MR** in browser.

Note: If you just want to share the patch without creating an MR, you can attach
the .patch file directly to the issue as a comment. However, merge requests are
preferred as they enable automated testing.

Common Mistakes to Avoid

  1. No version info - Always include Drupal and module versions
  2. No steps to reproduce - Bugs without repro steps often get closed
  3. Duplicate issues - Search before creating
  4. Wrong project - Make sure you're creating the issue on the correct project
  5. Mixing issues - One issue per bug/feature
  6. No follow-up - Respond to maintainer questions
  7. Using Markdown instead of HTML - drupal.org expects HTML format
  8. Submitting patches without an issue - Always create an issue first, then attach code
  9. Using patches instead of MRs - Merge requests are preferred; they enable automated testing

Resources

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

04

需要参考平台分布和安装热度时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

37.92%
按下载量换算72

Claude Code

23.83%
按下载量换算45

OpenCode

18.92%
按下载量换算36

Cursor

10.59%
按下载量换算20

Antigravity

4.66%
按下载量换算9

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

可疑

权限和风险

操作浏览器

该 Skill 可能涉及浏览器控制能力,使用时可能读取或操作网页内容,需要在受控环境中确认权限边界。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。

来源信息

继续浏览同类 Skills