Claude
Skills
Sign in
Back

pr-template-builder

Included with Lifetime
$97 forever

Creates GitHub pull request templates, issue templates, and discussion templates with proper YAML configuration. Use when users request "PR template", "issue template", "GitHub templates", "pull request template", or "contribution guidelines".

General

What this skill does


# PR Template Builder

Create standardized GitHub templates for pull requests, issues, and discussions to streamline collaboration.

## Core Workflow

1. **Identify template needs**: PR, issues, discussions
2. **Create .github directory**: Standard location for templates
3. **Design PR template**: Checklist, sections, guidance
4. **Create issue templates**: Bug reports, feature requests
5. **Add config.yml**: Control issue/PR creation flow
6. **Test templates**: Verify rendering on GitHub

## Directory Structure

```
.github/
├── PULL_REQUEST_TEMPLATE.md          # Default PR template
├── PULL_REQUEST_TEMPLATE/            # Multiple PR templates
│   ├── feature.md
│   ├── bugfix.md
│   └── hotfix.md
├── ISSUE_TEMPLATE/
│   ├── config.yml                    # Issue template config
│   ├── bug_report.yml                # Bug report form
│   ├── feature_request.yml           # Feature request form
│   └── question.yml                  # Question form
├── DISCUSSION_TEMPLATE/
│   ├── announcements.yml
│   └── ideas.yml
├── CONTRIBUTING.md                   # Contribution guidelines
├── CODE_OF_CONDUCT.md               # Community standards
└── CODEOWNERS                       # Auto-assign reviewers
```

## Pull Request Templates

### Standard PR Template

```markdown
<!-- .github/PULL_REQUEST_TEMPLATE.md -->

## Summary

<!-- Describe your changes in 1-2 sentences -->

## Related Issue

<!-- Link to the issue this PR addresses -->
Fixes #

## Type of Change

<!-- Mark the appropriate option -->

- [ ] Bug fix (non-breaking change fixing an issue)
- [ ] New feature (non-breaking change adding functionality)
- [ ] Breaking change (fix or feature causing existing functionality to change)
- [ ] Documentation update
- [ ] Refactoring (no functional changes)
- [ ] Performance improvement
- [ ] Test updates

## Changes Made

<!-- List the specific changes made in this PR -->

-
-
-

## Screenshots

<!-- If applicable, add screenshots or GIFs demonstrating the changes -->

## Testing

<!-- Describe how you tested these changes -->

- [ ] Unit tests added/updated
- [ ] Integration tests added/updated
- [ ] Manual testing performed

### Test Instructions

<!-- Steps for reviewers to test -->

1.
2.
3.

## Checklist

<!-- Ensure all items are checked before requesting review -->

- [ ] My code follows the project's style guidelines
- [ ] I have performed a self-review of my code
- [ ] I have commented my code where necessary
- [ ] I have updated the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests proving my fix/feature works
- [ ] All new and existing tests pass
- [ ] Any dependent changes have been merged

## Additional Notes

<!-- Any additional information reviewers should know -->
```

### Feature PR Template

```markdown
<!-- .github/PULL_REQUEST_TEMPLATE/feature.md -->

## Feature: [Feature Name]

### Summary

<!-- Brief description of the feature -->

### Motivation

<!-- Why is this feature needed? What problem does it solve? -->

### Implementation Details

<!-- Technical approach and key decisions -->

### User Impact

<!-- How will users interact with this feature? -->

### API Changes

<!-- List any API changes (if applicable) -->

| Endpoint | Method | Change |
|----------|--------|--------|
|          |        |        |

### Database Changes

<!-- List any schema changes (if applicable) -->

- [ ] Migration added
- [ ] Migration tested on staging data

### Feature Flag

<!-- Is this behind a feature flag? -->

- [ ] Feature flag: `FEATURE_NAME`
- [ ] No feature flag needed

### Testing

- [ ] Unit tests added
- [ ] Integration tests added
- [ ] E2E tests added
- [ ] Manual testing completed

### Documentation

- [ ] README updated
- [ ] API docs updated
- [ ] Changelog entry added

### Rollback Plan

<!-- How can this be rolled back if issues arise? -->

### Checklist

- [ ] Code review requested
- [ ] CI/CD pipeline passes
- [ ] Performance impact assessed
- [ ] Security review (if needed)
- [ ] Accessibility requirements met
```

### Bugfix PR Template

```markdown
<!-- .github/PULL_REQUEST_TEMPLATE/bugfix.md -->

## Bug Fix: [Brief Description]

### Issue

Fixes #

### Root Cause

<!-- What caused this bug? -->

### Solution

<!-- How does this PR fix the issue? -->

### Regression Risk

<!-- What could this change break? -->

- Risk level: Low / Medium / High
- Areas affected:

### Testing

#### Reproduction Steps (Before Fix)

1.
2.
3.

#### Verification Steps (After Fix)

1.
2.
3.

### Test Coverage

- [ ] Unit test added to prevent regression
- [ ] Integration test added
- [ ] Manual verification completed

### Checklist

- [ ] Root cause identified
- [ ] Fix verified locally
- [ ] No new warnings introduced
- [ ] Tests added for regression prevention
- [ ] Related issues linked
```

## Issue Templates

### Bug Report (YAML Form)

```yaml
# .github/ISSUE_TEMPLATE/bug_report.yml
name: Bug Report
description: Report a bug or unexpected behavior
title: "[Bug]: "
labels: ["bug", "triage"]
assignees: []

body:
  - type: markdown
    attributes:
      value: |
        Thanks for taking the time to report this bug!
        Please fill out the form below to help us investigate.

  - type: textarea
    id: description
    attributes:
      label: Bug Description
      description: A clear and concise description of the bug
      placeholder: What happened?
    validations:
      required: true

  - type: textarea
    id: reproduction
    attributes:
      label: Steps to Reproduce
      description: Steps to reproduce the behavior
      placeholder: |
        1. Go to '...'
        2. Click on '...'
        3. Scroll down to '...'
        4. See error
    validations:
      required: true

  - type: textarea
    id: expected
    attributes:
      label: Expected Behavior
      description: What did you expect to happen?
    validations:
      required: true

  - type: textarea
    id: actual
    attributes:
      label: Actual Behavior
      description: What actually happened?
    validations:
      required: true

  - type: textarea
    id: screenshots
    attributes:
      label: Screenshots
      description: If applicable, add screenshots to help explain the problem
    validations:
      required: false

  - type: dropdown
    id: environment
    attributes:
      label: Environment
      description: Where are you experiencing this bug?
      options:
        - Production
        - Staging
        - Development
        - Local
    validations:
      required: true

  - type: dropdown
    id: browser
    attributes:
      label: Browser
      description: What browser are you using?
      multiple: true
      options:
        - Chrome
        - Firefox
        - Safari
        - Edge
        - Other
    validations:
      required: false

  - type: input
    id: version
    attributes:
      label: App Version
      description: What version of the app are you using?
      placeholder: e.g., 1.2.3
    validations:
      required: false

  - type: textarea
    id: logs
    attributes:
      label: Relevant Logs
      description: Please copy and paste any relevant log output
      render: shell
    validations:
      required: false

  - type: checkboxes
    id: terms
    attributes:
      label: Checklist
      options:
        - label: I have searched for existing issues
          required: true
        - label: I have provided all requested information
          required: true
```

### Feature Request (YAML Form)

```yaml
# .github/ISSUE_TEMPLATE/feature_request.yml
name: Feature Request
description: Suggest a new feature or improvement
title: "[Feature]: "
labels: ["enhancement", "triage"]
assignees: []

body:
  - type: markdown
    attributes:
      value: |
        Thanks for suggesting a new feature!
        Please describe your idea in detail.

  - type: textarea
    id: problem
    attributes:
      label: Problem Statement
      description: What problem would this feature solve?
      placeholder: I'

Related in General