본문으로 건너뛰기
cccskills
무료GitHub에 공개

pr-create

Create or update a GitHub pull request for the current branch. Use when the user invokes `$pr-create`, asks to create/open a PR, or wants the current branch pushed and described as a draft PR.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

연동 도구GitHub
설치 방법 보기

포함된 파일(2)

  • SKILL.md5.9 KB
  • agents/openai.yaml239 B

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

pr-create

Create a GitHub PR for the current branch. If a PR already exists, use $pr-update-desc to refresh its description instead.

Workflow

0. Load PR style

Use the pr-style skill for title format, body template, labels, assignment, and draft policy. Follow those rules for the PR title, body, and label handling. If the target repo has its own PR template (detected in Step 4), the repo template replaces the pr-style default body, while pr-style still governs title format (unless the template's frontmatter specifies one), labels, assignment, and draft policy.

1. Gather context

Run:

remote=$(git remote | head -1)
branch=$(git branch --show-current)
default_branch=$(git symbolic-ref refs/remotes/${remote}/HEAD 2>/dev/null | sed "s|refs/remotes/${remote}/||" || echo "main")
echo "remote=${remote} branch=${branch} default=${default_branch}"

If branch equals default_branch, stop and report:

Cannot create a PR from the default branch (`<default_branch>`).

2. Check for an existing PR

Run:

gh pr list --head "${branch}" --state open --json number,url,title --jq '.[0] | "\(.number)|\(.title)|\(.url)"'
  • If a PR exists, report PR #<number> already exists, use $pr-update-desc to update the description, then stop.
  • If no PR exists, continue.

3. Ensure the branch is pushed

Check whether the remote branch exists:

git ls-remote --heads "${remote}" "${branch}"

If no remote branch exists, push with an explicit refspec:

git push -u "${remote}" "${branch}:${branch}"

If the remote branch exists, push the current local branch to it:

git push "${remote}" "${branch}:${branch}"

4. Collect PR source material

Get branch commits:

git log --oneline "${default_branch}..HEAD"

Get the high-level diff:

git diff --stat "${default_branch}...HEAD"

These outputs are used when filling in the selected PR template (or the pr-style default body if no repo template is found).

4a. Detect the repo's PR template

Read-only lookup, run in parallel with the diff inspection. Check GitHub's template locations in order:

  • Single template: pull_request_template.md (or .txt) in the repo root, docs/, or .github/
  • Multiple templates: every *.md in .github/PULL_REQUEST_TEMPLATE/
  • Picker file: a root/.github/docs/ single template whose content is only links of the form ?quick_pull=1&template=<file> — it routes to the .github/PULL_REQUEST_TEMPLATE/ files; treat it as the multiple-templates case and never use the picker itself as the body format.

Read every candidate template found (full content, including any YAML frontmatter). Also read repo-local AGENTS.md (or CLAUDE.md / .cursorrules if present) and note any PR-template or PR-format guidance it carries. Do not select a template yet — selection happens at body generation (Step 6), because the commit log can flip the choice.

5. Detect labels

Map conventional commit prefixes in the branch log using the pr-style label table. Validate candidate labels against the repo:

gh label list --json name --jq '.[].name'

Apply only labels that exist. If no valid labels exist, omit label flags.

6. Create the draft PR

6a. Select the template

Apply in order (first match wins):

  1. Repo-local AGENTS.md explicitly mandates a template or required PR format → follow that; an explicit mandate (e.g. "always use release.md", required extra sections, sign-off blocks) overrides the rules below.
  2. Exactly one template found → use it.
  3. Version-only bump in the branch log (single commit, message matches a version-bump pattern like bump version / chore(release): v<semver> / version <semver>) and a release-named template exists (e.g. release.md) → use the release template.
  4. Otherwise prefer a feature/change-named template (e.g. feature.md, change.md, bug_fix.md matching the change type from commit prefixes) when one exists.
  5. Still ambiguous (several plausible non-release templates) → ask the user which template applies, one question with the candidate names, before drafting.
  6. No template found and AGENTS.md carries no PR-format guidance → record "no template found"; the pr-style default body applies, with any AGENTS.md PR conventions (required sections, trailers, sign-offs) layered on as extra requirements.

6b. Apply the template

  • If a template was selected: use its body structure instead of the pr-style default body. Fill every template section with real content derived from the Step 4 log/diff; a template section left as an unfilled placeholder or TODO is a blocker — report it rather than posting an unfilled template.
  • Frontmatter handling: if the template begins with YAML frontmatter (--- fenced), strip it from the PR body. Honor labels: by merging those labels into the Step 5 validated-label set (still drop any that fail gh label list validation). Honor title: as the title format/prefix, overriding the pr-style title format for this PR. Ignore other frontmatter keys (assignees:, draft:, etc.) — pr-style's --draft --assignee @me flags remain authoritative.
  • If no template: generate the body per pr-style, plus any AGENTS.md conventions per 6a rule 6.

Create a draft PR assigned to the current GitHub user:

gh pr create --draft --assignee @me --title "<title>" --body "$(cat <<'EOF'
<generated description>
EOF
)"

If valid labels were detected, include them with repeated --label "<label>" flags.

7. Report result

Output:

Created PR #<number> (draft)
<pr_url>
Labels: <applied labels or none>
Assigned: @me
Template: <name or default pr-style body>

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

2ndbrain

무료

Quick-save the last assistant response as a verbatim note in the 2ndBrain Obsidian vault (~/2ndBrain/quick-notes/<year>/). Use when the user asks to quick-save/save the last response to 2ndBrain, or invokes $2ndbrain or /skill:2ndbrain.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

phatblat/dotfiles122026년 10월 19일 업데이트

Write commit messages under the agent-commits convention - a Conventional Commits fork with no chore catch-all, intent-only type tokens, facts in trailers, and legally-grounded AI provenance (Assisted-by, never Co-authored-by). Use when composing a commit in a repo whose commitlint.config.js extends agent-commits, when deciding between feat/fix/refactor/perf, or when recording AI participation.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

phatblat/dotfiles122026년 10월 19일 업데이트

Coordinate multi-agent work through durable artifacts in git instead of chat. Use this whenever a task involves sending a message to another agent, agent mailboxes or handoffs, claiming work from a shared queue, notifying another agent or crew (OpenClaw, Grok Bot, Claude Code, Codex, Gas Town/Gas City workers) that work is ready, or whenever the user mentions the artifact bus, message bus, agent mail, beads mail, doorbells, or pings between agents — even if they don't say "bus" explicitly.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

phatblat/dotfiles122026년 10월 19일 업데이트

aven

무료

Use aven to find tasks, update status, and leave durable handoff context.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

phatblat/dotfiles122026년 10월 19일 업데이트

Plan, order and deliver a batch of backlog items (e.g. every High item) in a Conventional Docs repo, one decision, branch, worktree, draft PR, review and merge per item. Use when asked to work through the backlog, implement all items of a priority, or sequence several backlog items end to end.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

phatblat/dotfiles122026년 10월 19일 업데이트

boris

무료

Codex workflow tips from Boris Cherny (creator of Codex) and the Codex team. Use when: setting up Codex, optimizing workflows, running parallel sessions, configuring AGENTS.md, using skills/commands, subagents, hooks, MCP integrations, or learning best practices. Covers: git worktrees, plan mode, verification, permissions, Slack MCP, BigQuery, prompting tips, plugins, custom agents, sandboxing, keybindings, status lines, output styles, customization, /simplify for code quality, /batch for parallel code migrations, /loop for scheduled tasks, code review agents, /btw for mid-task questions, /effort max reasoning, remote control sessions, voice mode, setup scripts, session naming, /color, PostCompact hook, auto mode, /schedule cloud jobs, iMessage plugin, auto-memory, and auto-dream, mobile app, session teleporting, Cowork Dispatch, Chrome extension, Desktop app, /branch forking, --bare SDK startup, --add-dir multi-repo, --agent custom agents, /voice input.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

phatblat/dotfiles122026년 10월 19일 업데이트

phatblat의 스킬 모두 보기

이 스킬의 문제 신고