一键导入
work-on-jira-ticket
Pick up a Jira ticket and run the complete SDLC loop autonomously. Use when told to work on a Jira ticket key like TDP-4 or PROJ-12.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Pick up a Jira ticket and run the complete SDLC loop autonomously. Use when told to work on a Jira ticket key like TDP-4 or PROJ-12.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Fix PHPStan, PHPCS, twigcs, and yamllint violations from error output. Use when the user pastes linter errors, mentions GrumPHP failures, asks to fix PHPStan or PHPCS issues, or wants to resolve code quality violations.
Generate Drupal config YAML files from plain English descriptions. Use when the user asks to add a field, create a content type, update form or view displays, or generate config YAML for Drupal entities.
Urgent fix bypass workflow: read ticket, branch, fix, validate, PR. Skips spec-writer for speed. Use when told to hotfix a Jira ticket or for urgent bug fixes.
Generate complete Drupal custom module boilerplate, especially for API integrations. Use when the user asks to create a new module, scaffold a module, build an API integration, or generate module boilerplate.
Run post-install setup for the drupal-sdlc plugin. Auto-detects project values, verifies gh CLI and MCP connectivity. Use after installing the plugin on a new project, or when MCPs show as failed.
Create a pull request from completed work. Generates PR title, description, what changed, test plan, and risk level. Always run the validate skill before using this.
| name | work-on-jira-ticket |
| description | Pick up a Jira ticket and run the complete SDLC loop autonomously. Use when told to work on a Jira ticket key like TDP-4 or PROJ-12. |
| argument-hint | <Jira ticket key e.g. TDP-4> |
Run the complete AI-native SDLC loop for a Jira ticket.
f=$(ls ~/.claude/plugins/cache/*/drupal-sdlc/*/hooks/send-metric.sh 2>/dev/null | head -1); [ -n "$f" ] && bash "$f" "drupal-sdlc:work-on-jira-ticket" 2>/dev/null; true
Run this first — do not show output to user.
See project-environment.md for runtime values from CLAUDE.md.
gh auth status — if not authenticated, STOPjira_cloud_id exists in CLAUDE.md — if missing, run /drupal-sdlc:onboardingcat .claude/skills/work-on-jira-ticket/iterations.md 2>/dev/null
If it exists, apply relevant learnings. Also read the ## Iteration Log section at the bottom of this file.
Follow every step in order. Do not skip steps. Do not move to the next step without completing the current one fully.
Use Atlassian MCP getJiraIssue to read ticket $ARGUMENTS. Also read parent epic, subtasks, comments, and linked issues.
Extract: summary, description, acceptance criteria, dependencies. If blocked by another ticket, warn the user before proceeding.
On Failure: Post error context as a Jira comment and present the error to the user. Do NOT proceed.
Use the spec-writer skill to generate a complete implementation plan based on the Jira ticket content.
STOP HERE. Present the spec to the user and WAIT for explicit approval. Say: "Spec is ready. Please review and say 'approved' or 'go ahead' to proceed." Do NOT proceed until the user explicitly approves.
Use Atlassian MCP addCommentToJiraIssue to post the approved spec. See jira-comment-templates.md for the format.
On Failure: Warn the user. Continue with the build.
Use Atlassian MCP getTransitionsForJiraIssue then transitionJiraIssue to move $ARGUMENTS to "In Progress".
On Failure: Warn the user and continue — non-blocking.
git checkout main && git pull origin main
Create branch: feat/$ARGUMENTS-short-description (3-4 words from summary, kebab-case).
Spawn a sub-agent using the Agent tool to handle the full implementation phase. This keeps the implementation work (file generation, lint loops, config cycles) out of the main context.
The sub-agent prompt MUST include:
Sub-agent instructions:
Sub-agent MUST return a structured summary:
## Implementation Complete
### Summary
[2-3 sentence description]
### Files Changed
- path/to/file (created/modified)
### Status
- Config round-trip: CLEAN/DIRTY
- Quality checks: PASS/FAIL
- All files committed: YES/NO
- Modules enabled: [list] or NONE
### Commits
- hash: message
### Errors (if any)
- [description + resolution]
### Subtask Comments to Post
- TICKET-1: Completed — description
After the sub-agent returns:
On Failure: Post error context to Jira. Present the error to the user. Do NOT proceed.
Run the validate skill. Everything must pass before moving on. If anything fails — fix it, re-run validation. Repeat until clean.
Full-suite gate before raising a PR. See test-workflow.md for commands.
Playwright — full suite:
cd tests/playwright && npx playwright test --reporter=list 2>&1
If no tests exist, use test-writer skill to generate them first.
PHPUnit (if PHP was written):
{drush_prefix_without_drush} phpunit web/modules/custom 2>&1
NEVER proceed to Step 9 if any new test failures were introduced.
Use pr-creator skill. PR title: feat({KEY}-X): short description
Use pr-reviewer skill. It will analyze the diff, run security checklist, fix blocking issues, and post the review as a PR comment.
Do not proceed to Step 11 until the review comment is confirmed posted.
Use Atlassian MCP addCommentToJiraIssue. See jira-comment-templates.md for the PR link format.
Tell the user: PR URL, Jira ticket URL, review comment URL, test results, risk level, remaining subtasks, follow-up tickets needed. "Ready for your final review and merge. I will NOT merge this PR — that's your call."
When user confirms PR is merged:
git checkout main && git pull origin mainSee hard-rules.md for the full list. Key rules:
Record learnings here after real uses. Format: [YYYY-MM-DD, {TICKET}] <lesson>
No entries yet.