From co-dev
Create, open, submit, or prepare a pull request (PR). Generates commit message, PR title, and PR body. Use when the user wants to create a PR, open a PR, submit a PR, make a PR, push a PR, send a PR, generate PR content, prepare a pull request, or fill a PR template from code changes.
npx claudepluginhub cloud-officer/claude-code-plugin-dev --plugin co-devThis skill is limited to using the following tools:
Generate all content needed for a pull request: commit message, PR title, and PR body.
Creates isolated Git worktrees for feature branches with prioritized directory selection, gitignore safety checks, auto project setup for Node/Python/Rust/Go, and baseline verification.
Executes implementation plans in current session by dispatching fresh subagents per independent task, with two-stage reviews: spec compliance then code quality.
Dispatches parallel agents to independently tackle 2+ tasks like separate test failures or subsystems without shared state or dependencies.
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") && echo "=== COMMITTED AHEAD OF BASE ===" && git diff ${DEFAULT_BRANCH}...HEAD --stat -- ':!docs/soup.md' ':!.soup.json' && echo "=== STAGED ===" && git diff --cached --stat -- ':!docs/soup.md' ':!.soup.json' && echo "=== UNSTAGED ===" && git diff --stat -- ':!docs/soup.md' ':!.soup.json'
Step 1.3: Get the full diff (committed + staged + unstaged changes):
DEFAULT_BRANCH=$(git symbolic-ref refs/remotes/origin/HEAD 2>/dev/null | sed 's@^refs/remotes/origin/@@' || echo "master") && echo "=== COMMITTED AHEAD OF BASE ===" && git diff ${DEFAULT_BRANCH}...HEAD -- ':!docs/soup.md' ':!.soup.json' && echo "=== STAGED ===" && git diff --cached -- ':!docs/soup.md' ':!.soup.json' && echo "=== UNSTAGED ===" && git diff -- ':!docs/soup.md' ':!.soup.json'
NOTE: Include ALL three sections (committed, staged, unstaged) in your analysis. Changes may appear in any combination depending on the workflow.
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 quality