From drupal-sdlc
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.
How this skill is triggered — by the user, by Claude, or both
Slash command
/drupal-sdlc:work-on-jira-ticketThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Run the complete AI-native SDLC loop for a Jira ticket.
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.
npx claudepluginhub axelerant/drupal-sdlc-plugin --plugin drupal-sdlcGuides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.