ワンクリックで
create-pr
Create a pull request from dev to main with proper formatting and draft release
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Create a pull request from dev to main with proper formatting and draft release
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
Create a pull request from dev to main with proper formatting and draft release
Create a draft GitHub release with proper versioning and release notes
Create a well-structured task with smart field suggestions; GitHub Issues by default, Linear only for retained internal categories
Create a well-structured task with smart field suggestions; GitHub Issues by default, Linear only for retained internal categories
Start an iOS/macOS Apple app development or web-parity audit session — loads design rules, maps web sources to native code, supports Linux static audits, and verifies with Xcode when available
Convert repeated Playwright wait/stabilize/lookup/assertion fixes into shared deterministic helpers. Use when the same spec or flow fails repeatedly, commits say wait/stabilize/lookup/assertion, or an E2E fix looks like a one-off timing patch.
SOC 職業分類に基づく
| name | create-pr |
| description | Create a pull request from dev to main with proper formatting and draft release |
| user-invocable | true |
| disable-model-invocation | false |
| argument-hint | [title] |
!git fetch origin main dev 2>/dev/null && echo "=== Commit count (main-ahead : dev-ahead) ===" && git rev-list --left-right --count origin/main...origin/dev && echo "" && echo "=== Commits on dev not in main ===" && git log --oneline origin/main..origin/dev
!git diff --stat origin/main...origin/dev 2>/dev/null | tail -30
!gh release list --limit 3 2>/dev/null || echo "gh not available"
!today=$(date -u +%F); yesterday=$(date -u -d '24 hours ago' +%F); python3 scripts/release_intelligence.py daily --since "24 hours ago" --date "$today" --write --output "docs/releases/daily/${today}.yml" >/tmp/create-pr-release-intelligence.out 2>/tmp/create-pr-release-intelligence.err && echo "Refreshed docs/releases/daily/${today}.yml" || { echo "Daily release intelligence refresh failed"; cat /tmp/create-pr-release-intelligence.err; }; latest_pr_date=$(gh pr list --base main --head dev --state all --limit 1 --json createdAt --jq '.[0].createdAt // empty' 2>/dev/null | cut -dT -f1); if [ -n "$latest_pr_date" ]; then echo "Daily changelogs since last dev→main PR (${latest_pr_date}):"; ls docs/releases/daily/*.yml 2>/dev/null | while read -r file; do day=$(basename "$file" .yml); [ "$day" ">" "$latest_pr_date" ] && echo "$file"; done; else echo "No previous dev→main PR date found; use available daily changelogs plus origin/main..origin/dev."; ls docs/releases/daily/*.yml 2>/dev/null | tail -14; fi
IMPORTANT: Only create a PR when the user explicitly asks.
ALWAYS use remote refs (origin/main, origin/dev) — never local refs. Local refs can be stale and produce wildly incorrect commit counts.
git fetch origin main dev
git rev-list --left-right --count origin/main...origin/dev
git log --oneline origin/main..origin/dev
The output above already did this. Confirm the commit count makes sense before proceeding. If something looks off, tell the user and stop.
Before writing the PR body, always refresh the current daily changelog so the last 24 hours are represented:
today=$(date -u +%F)
python3 scripts/release_intelligence.py daily \
--since "24 hours ago" \
--date "$today" \
--write \
--output "docs/releases/daily/${today}.yml"
Then identify the most recent prior dev → main PR and read every docs/releases/daily/YYYY-MM-DD.yml after that PR date. Use those daily changelogs as the primary source for the PR description because they already separate released-ready, dev-only, internal, and disabled-feature work.
latest_pr_date=$(gh pr list --base main --head dev --state all --limit 1 --json createdAt --jq '.[0].createdAt // empty' | cut -dT -f1)
ls docs/releases/daily/*.yml | while read -r file; do
day=$(basename "$file" .yml)
[ -z "$latest_pr_date" ] || [ "$day" ">" "$latest_pr_date" ] && echo "$file"
done
Use llm_summary, sections, marketing_candidates, and unreleased_progress from those files to build the PR body. Keep unreleased/disabled-feature work out of public release/newsletter language, but include it in the PR when it is part of the code diff.
Use raw commit history only as supporting evidence or to fill gaps not covered by daily changelogs. Read the full commit messages (not just one-liners):
git log origin/main..origin/dev --format="%h %s%n%b"
Group commits into:
feat:) — new user-facing functionalityfix:) — resolved issuesrefactor:, perf:, improve:) — internal improvementsdocs:, chore:, build:, ci:, test:) — maintenanceWrite a human-readable PR description — not a commit dump. Structure:
## Summary
<2-4 sentence overview of what this PR does and why>
## Features
- <grouped by feature area>
## Bug Fixes
- <grouped by fix area>
## Improvements
- <grouped by improvement area>
## Other Changes
- <docs, chore, config items>
Only include sections that have content. Write for a developer audience — specific and clear.
gh pr create --base main --head dev --title "<short descriptive title>" --body "$(cat <<'EOF'
<PR description>
EOF
)"
Present the PR URL to the user.
After PR creation, ask the user if they want a draft release prepared. If yes, use the /create-release skill. Tell the user:
main