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

github-pr-best-practices

Best practices for creating GitHub pull requests including conventional commits, PR formatting, and multi-language support (en/ja). Use when creating PRs, writing PR descriptions, or formatting commit messages.

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

연동 도구GitHub
설치 방법 보기

포함된 파일(4)

  • SKILL.md7.7 KB
  • REFERENCE.md13.4 KB
  • resources/pr-template-examples.md10.8 KB
  • skill-report.json82.6 KB

SKILL.md(원문)

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

GitHub Pull Request Best Practices

This Skill provides comprehensive guidance for creating high-quality pull requests following industry best practices and conventional commit standards.

Capabilities

  • Generate conventional commit formatted PR titles
  • Structure PR descriptions with proper sections
  • Support multiple languages (English/Japanese)
  • Follow GitHub PR template conventions
  • Avoid common PR mistakes

When to Use

Use this Skill when you need to:

  • Create a new pull request
  • Write PR titles and descriptions
  • Format commit messages
  • Follow conventional commit standards
  • Generate PR content in English or Japanese

PR Title Format

Conventional Commits Standard

PR titles must follow Conventional Commits format:

<type>(<scope>): <description>

Important: NO emojis in PR titles or descriptions.

Common Types

  • feat: New feature
  • fix: Bug fix
  • docs: Documentation changes
  • style: Code style changes (formatting, no logic change)
  • refactor: Code refactoring
  • test: Adding or updating tests
  • chore: Maintenance tasks, dependencies

Scope (Optional but Recommended)

The scope should indicate what part of the codebase is affected:

  • Module name: feat(auth): add OAuth2 support
  • Component name: fix(button): resolve click handler issue
  • Area of code: docs(api): update endpoint documentation

Description

  • Use imperative mood ("add" not "added" or "adds")
  • No capitalization of first letter
  • No period at the end
  • Clear and concise (under 50 characters when possible)

Examples

Good:

feat(auth): add OAuth2 authentication
fix(api): resolve timeout on large requests
docs(readme): update installation instructions
refactor(database): optimize query performance
test(auth): add integration tests for login flow
chore(deps): update dependencies to latest versions

Bad:

✨ Add new feature  (has emoji)
Fixed bug  (not following format, wrong tense)
Update.  (vague, has period)
FEAT: NEW STUFF  (all caps, vague)

PR Description Structure

Standard Template

## Summary
- Brief description of changes (1-3 bullet points)
- Focus on what and why, not how
- Keep each point concise

## Test plan
- [ ] Test case 1
- [ ] Test case 2
- [ ] Verified no regressions

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Key Principles

  1. Summary Section

    • 1-3 bullet points maximum
    • Explain what changed and why
    • Avoid implementation details (those are in the code)
    • Use present tense
  2. Test Plan Section

    • Use checkbox format (- [ ])
    • List specific test scenarios
    • Include regression testing
    • Be specific and actionable
  3. Signature

    • Always include the Claude Code signature
    • Placed at the bottom

Detailed Explanation (When Needed)

For complex PRs, add additional sections before the signature:

## Summary
- Main changes

## Background
Context or motivation for changes

## Implementation Details
High-level overview of approach

## Test plan
- [ ] Tests

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Multi-Language Support

English (Default)

Use English when no language is specified or when language is en:

## Summary
- Add user authentication with OAuth2
- Implement token refresh mechanism
- Add comprehensive error handling

## Test plan
- [ ] Test OAuth2 login flow
- [ ] Test token refresh
- [ ] Test error scenarios

Japanese

Use Japanese when language is ja:

## 概要
- OAuth2によるユーザー認証を追加
- トークンリフレッシュ機能を実装
- 包括的なエラーハンドリングを追加

## テスト計画
- [ ] OAuth2ログインフローのテスト
- [ ] トークンリフレッシュのテスト
- [ ] エラーシナリオのテスト

Language Selection Guidelines

  • Default to English if no language specified
  • Use the language specified by the caller
  • Be consistent throughout the entire PR
  • Don't mix languages within a single PR

PR Template Integration

Using Project Templates

If the project has a PR template at .github/pull_request_template.md:

  1. Read the template file
  2. Follow its structure exactly
  3. Don't modify section headers
  4. Don't add custom sections
  5. Fill in all required sections (use "N/A" if not applicable)

Template Best Practices

  • Preserve section headers: Keep them exactly as in template
  • Complete all sections: Even if marking as "N/A"
  • Follow order: Maintain the template's section order
  • Don't improvise: Stick to template structure

GitHub CLI Best Practices

Creating PRs with gh

Basic command structure:

gh pr create --draft --title "feat(scope): description" --body "$(cat <<'EOF'
## Summary
- Changes

## Test plan
- [ ] Tests

🤖 Generated with [Claude Code](https://claude.com/claude-code)
EOF
)"

Important notes:

  1. Use HEREDOC format for multi-line descriptions
  2. Start with --draft flag for work in progress
  3. Use cat <<'EOF' (with quotes) to prevent variable expansion
  4. gh pr create automatically pushes the branch (no manual push needed)

Draft vs Ready

Start as draft when:

  • Work is still in progress
  • Tests are not complete
  • Need early feedback

Convert to ready when:

gh pr ready <PR-NUMBER>

Common Mistakes to Avoid

  1. Manual Push Before PR Creation

    • ❌ git push -u origin branch && gh pr create
    • ✅ gh pr create (handles push automatically)
  2. Including Emojis

    • ❌ ✨ feat: add new feature
    • ✅ feat: add new feature
  3. Incorrect Conventional Commit Format

    • ❌ Add new feature
    • ✅ feat: add new feature
  4. Vague Descriptions

    • ❌ ## Summary\n- Updated stuff
    • ✅ ## Summary\n- Add OAuth2 authentication support
  5. Ignoring Language Argument

    • ❌ Always using English
    • ✅ Using specified language (en/ja)
  6. Modifying Template Structure

    • ❌ Adding custom sections to template
    • ✅ Following template structure exactly

Analyzing Commits for PR

Use All Commits, Not Just Latest

When creating a PR, analyze ALL commits from the merge base:

# Get merge base
MERGE_BASE=$(git merge-base origin/main HEAD)

# Get ALL commits from merge base
git log $MERGE_BASE..HEAD

Why this matters:

  • PR should represent all work on the branch
  • Latest commit might not capture full scope
  • Users expect PR to reflect entire branch

Extracting PR Content from Commits

# Get commit messages for summary
git log --format="- %s" $MERGE_BASE..HEAD

# Get changed files for context
git diff --name-only $MERGE_BASE..HEAD

# Get commit count
git log --oneline $MERGE_BASE..HEAD | wc -l

Quality Checklist

Before creating a PR, verify:

  • Title follows conventional commit format
  • No emojis in title or description
  • Summary is clear and concise (1-3 points)
  • Test plan is specific and actionable
  • Language matches specified preference
  • Template structure is followed (if exists)
  • All commits are analyzed (not just latest)
  • Claude Code signature is included

Related Skills

  • git-analysis: Use to gather commit and branch information
  • Project-specific templates: Check .github/pull_request_template.md

Additional Resources

See REFERENCE.md for:

  • Detailed conventional commits specification
  • Language-specific examples
  • Advanced PR patterns
  • GitHub CLI command reference

리뷰

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

댓글

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

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

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

0 / 1,000자

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

같은 저장소의 스킬

Stop and check this skill before finishing any reply to a question about how to use Claude or a Claude product — it recommends matching courses, tutorials, and use cases from Claude Academy (academy.claude.com), Anthropic's learning hub. Trigger on: "how do I", "how can I", "getting started with", "what can Claude do", "teach me", "learn to use"; questions about artifacts, projects, skills, plugins, connectors, MCP; requests about rolling Claude out to a team, class, or organization; and any ask for training materials, onboarding content, or learning resources. Use it when the user is learning how to use a feature or product — not when they are mid-task and just want the task done. This skill composes with other skills: after consulting product documentation to answer how a Claude feature works, also check here for a matching course or tutorial — a docs-grounded answer and an Academy recommendation belong together. Only recommend on a strong match; never invent Academy content.

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

aiskillstore/marketplace4402026년 10월 21일 업데이트

Trigger for: explaining current FAR, DFARS, or agency-supplement text; determining documented acquisition-policy status for an agency and FAR part; comparing codified text, RFO model text, and agency deviations; tracing acquisition rulemaking; finding procurement comment periods; analyzing public comments; refreshing prior policy analysis; or producing an Acquisition Policy Impact Brief. Use published federal sources and supplied policy documents without making legal or procurement-specific applicability determinations. Do not use for clause selection, market research execution, opportunities, pricing, grants, or cooperative agreements.

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

aiskillstore/marketplace4402026년 10월 21일 업데이트

Systematic framework for extracting actionable items from documents and organizing them into prioritized, trackable checklists. Use when converting reports, meeting notes, audits, or any document with embedded action items into structured TODO lists.

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

aiskillstore/marketplace4402026년 10월 21일 업데이트

Browser automation for AI agents via inference.sh. Navigate web pages, interact with elements using @e refs, take screenshots, record video. Capabilities: web scraping, form filling, clicking, typing, drag-drop, file upload, JavaScript execution. Use for: web automation, data extraction, testing, agent browsing, research. Triggers: browser, web automation, scrape, navigate, click, fill form, screenshot, browse web, playwright, headless browser, web agent, surf internet, record video

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

aiskillstore/marketplace4402026년 10월 21일 업데이트

This 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.

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

aiskillstore/marketplace4402026년 10월 21일 업데이트

Run AI apps via inference.sh CLI - image generation, video creation, LLMs, search, 3D, Twitter automation. Models: FLUX, Veo, Gemini, Grok, Claude, Seedance, OmniHuman, Tavily, Exa, OpenRouter, and many more. Use when running AI apps, generating images/videos, calling LLMs, web search, or automating Twitter. Triggers: inference.sh, infsh, ai model, run ai, serverless ai, ai api, flux, veo, claude api, image generation, video generation, openrouter, tavily, exa search, twitter api, grok

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

aiskillstore/marketplace4402026년 10월 21일 업데이트

aiskillstore의 스킬 모두 보기

이 스킬의 문제 신고