Generate commit message, PR title, and PR body for a pull request. Use when the user wants to create a PR, generate PR content, prepare a pull request, or fill a PR template from code changes.
Generates commit messages, PR titles, and PR bodies by analyzing git diffs and PR templates. Triggered when users want to create a pull request or prepare PR content from code changes.
/plugin marketplace add Cloud-Officer/claude-code-plugin-dev/plugin install cloud-officer-co-dev@Cloud-Officer/claude-code-plugin-devThis skill is limited to using the following tools:
Generate all content needed for a pull request: commit message, PR title, and PR body.
YOU MUST EXECUTE THESE COMMANDS IN ORDER. DO NOT SKIP ANY STEP.
Step 1.1: Get branch info:
git rev-parse --abbrev-ref HEAD
Step 1.2: Get file change summary (THIS IS CRITICAL - you must see ALL files):
DEFAULT_BRANCH=$(git symbolic-ref refs/remotes/origin/HEAD 2>/dev/null | sed 's@^refs/remotes/origin/@@' || echo "master") && git diff ${DEFAULT_BRANCH}...HEAD --stat -- ':!docs/soup.md' ':!.soup.json' && git diff --cached --stat -- ':!docs/soup.md' ':!.soup.json'
Step 1.3: Get the full diff (committed + staged changes):
DEFAULT_BRANCH=$(git symbolic-ref refs/remotes/origin/HEAD 2>/dev/null | sed 's@^refs/remotes/origin/@@' || echo "master") && git diff ${DEFAULT_BRANCH}...HEAD -- ':!docs/soup.md' ':!.soup.json' && git diff --cached -- ':!docs/soup.md' ':!.soup.json'
Step 1.4: Find the PR template:
cat .github/pull_request_template.md 2>/dev/null || cat .github/PULL_REQUEST_TEMPLATE.md 2>/dev/null || echo "No PR template found"
Step 1.5: Check for JIRA ticket:
echo $JIRA_TICKET
CRITICAL: The PR summary MUST mention ALL files shown in the Step 1.2 --stat output. Count the files and verify your summary accounts for all of them.
Output ONLY the following format. Start immediately with "COMMIT MESSAGE:" - no preamble or commentary:
COMMIT MESSAGE:
<one line, max 80 characters>
---
PR TITLE:
<one line, max 80 characters>
---
PR BODY:
<filled PR template - can contain any valid markdown>
IMPORTANT formatting rules:
code blocks around them)IMPORTANT: The Summary section heading must be ## Summary (h2), not # Summary (h1).
Structure the summary as follows:
CRITICAL: Preserve ALL checkbox items from the template exactly as they appear. Mark applicable items with [x] and leave non-applicable items as [ ]. Never delete, modify, or omit any checkbox items from the original template.
CRITICAL: Preserve ALL checkbox items from the template exactly as they appear. Mark applicable items with [x] and leave non-applicable items as [ ]. Never delete, modify, or omit any checkbox items from the original template.
If the PR template does NOT contain a Jira Tickets section:
If the PR template contains a Jira Tickets section:
JIRA_TICKET env var is set: replace any placeholder (e.g., XXX-XXXX) with the value from the environment variableJIRA_TICKET env var is NOT set or empty: omit the entire Jira Tickets section from the outputThis section should ONLY be filled if one of the following applies:
If NONE of the above apply, omit this entire section from the output.
If the section is required, write a paragraph explaining the breaking changes, complex database migration, or reprocessing of existing data with any useful information for the reviewer to understand why it is needed and what actions to take.
Note: When this section is filled due to database migration or reprocessing of existing data, the corresponding checklist item about database changes requiring migration/downtime/reprocessing should also be marked with [x].
run-linters skill has been executed to verify code qualityThis skill should be used when the user asks to "create an agent", "add an agent", "write a subagent", "agent frontmatter", "when to use description", "agent examples", "agent tools", "agent colors", "autonomous agent", or needs guidance on agent structure, system prompts, triggering conditions, or agent development best practices for Claude Code plugins.
This skill should be used when the user asks to "create a slash command", "add a command", "write a custom command", "define command arguments", "use command frontmatter", "organize commands", "create command with file references", "interactive command", "use AskUserQuestion in command", or needs guidance on slash command structure, YAML frontmatter fields, dynamic arguments, bash execution in commands, user interaction patterns, or command development best practices for Claude Code.
This skill should be used when the user asks to "create a hook", "add a PreToolUse/PostToolUse/Stop hook", "validate tool use", "implement prompt-based hooks", "use ${CLAUDE_PLUGIN_ROOT}", "set up event-driven automation", "block dangerous commands", or mentions hook events (PreToolUse, PostToolUse, Stop, SubagentStop, SessionStart, SessionEnd, UserPromptSubmit, PreCompact, Notification). Provides comprehensive guidance for creating and implementing Claude Code plugin hooks with focus on advanced prompt-based hooks API.