home / skills / questnova502 / claude-skills-sync / github-project

This skill helps you create and configure GitHub repositories, enforce branch rules, and automate project setup for collaborative development.

npx playbooks add skill questnova502/claude-skills-sync --skill github-project

Review the files below or copy the command above to add this skill to your agents.

Files (19)
SKILL.md
4.9 KB
---
name: github-project
description: "GitHub repository setup and configuration. This skill should be used when creating new GitHub repositories, configuring branch protection or rulesets, setting up CODEOWNERS, or troubleshooting PR merge issues. By Netresearch."
---

# GitHub Project Skill

GitHub repository setup, configuration, and best practices for collaboration workflows.

## Core Workflow

To set up or configure a GitHub repository, follow these steps:

1. Consult the appropriate reference for your task
2. Copy and customize the relevant asset templates
3. Run `scripts/verify-github-project.sh` to validate configuration
4. Apply settings via GitHub UI or `gh` CLI

## Using Reference Documentation

### Repository Setup

When setting up repository structure, consult `references/repository-structure.md` for standard file layout, required documentation files, and directory conventions.

When migrating from master to main branch, consult `references/branch-migration.md` for step-by-step migration commands and branch protection updates.

### Dependency Management

When configuring automated dependency updates, consult `references/dependency-management.md` for Dependabot and Renovate configuration patterns, auto-merge workflows, and update strategies.

### GitHub Features

When working with sub-issues, consult `references/sub-issues.md` for GraphQL API usage, parent-child relationships, and issue hierarchy patterns.

When setting up automatic release labeling, consult `references/release-labeling.md` for PR labeling workflows, release categorization, and changelog automation.

## Running Scripts

### Repository Verification

To verify GitHub project configuration against best practices:

```bash
scripts/verify-github-project.sh /path/to/repository
```

This script checks:
- Repository documentation (README, LICENSE, SECURITY.md)
- Collaboration setup (CODEOWNERS, issue/PR templates)
- Dependency automation (Dependabot/Renovate, auto-merge)
- Release configuration

## Using Asset Templates

### Repository Documentation

To set up CODEOWNERS for code review assignments, copy `assets/CODEOWNERS.template` to `.github/CODEOWNERS`.

To add contribution guidelines, copy `assets/CONTRIBUTING.md.template` to `CONTRIBUTING.md`.

To configure security vulnerability reporting, copy `assets/SECURITY.md.template` to `SECURITY.md`.

### Issue and PR Templates

To add a bug report template, copy `assets/bug_report.md.template` to `.github/ISSUE_TEMPLATE/bug_report.md`.

To add a feature request template, copy `assets/feature_request.md.template` to `.github/ISSUE_TEMPLATE/feature_request.md`.

To standardize PR descriptions, copy `assets/PULL_REQUEST_TEMPLATE.md.template` to `.github/PULL_REQUEST_TEMPLATE.md`.

### Dependency Automation

To configure Dependabot, copy `assets/dependabot.yml.template` to `.github/dependabot.yml`.

To configure Renovate, copy `assets/renovate.json.template` to `renovate.json`.

### Auto-Merge Workflows

To enable basic auto-merge for dependency updates, copy `assets/auto-merge.yml.template` to `.github/workflows/auto-merge.yml`.

To enable auto-merge with direct commits (no merge queue), copy `assets/auto-merge-direct.yml.template` to `.github/workflows/auto-merge.yml`.

To enable auto-merge with merge queue support, copy `assets/auto-merge-queue.yml.template` to `.github/workflows/auto-merge.yml`.

### Release Automation

To set up automatic release labeling for PRs, copy `assets/release-labeler.yml.template` to `.github/workflows/release-labeler.yml`.

## Go Project CI Checklist

When setting up CI for Go projects, ensure these GitHub configurations:

| Setting | Purpose | How |
|---------|---------|-----|
| Branch protection | Require tests pass before merge | Branch settings or Rulesets |
| Dependabot/Renovate | Automated dependency updates | `.github/dependabot.yml` or `renovate.json` |
| Auto-merge workflow | Merge minor/patch updates automatically | `assets/auto-merge*.yml` templates |
| Required checks | CI workflow names in branch protection | Match exact workflow job names |

## Related Skills

When implementing Go code patterns and CI/CD workflows, use the `go-development` skill.

When implementing OpenSSF Scorecard, SLSA provenance, or signed releases, use the `enterprise-readiness` skill.

When establishing Git branching strategies or conventional commits, use the `git-workflow` skill.

When conducting deep security audits (OWASP, CVE analysis), use the `security-audit` skill.

## External Resources

When understanding GitHub Actions syntax, consult the [GitHub Actions Documentation](https://docs.github.com/en/actions).

When configuring branch protection, consult the [GitHub Branch Protection Guide](https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/managing-protected-branches).

When setting up Dependabot, consult the [Dependabot Documentation](https://docs.github.com/en/code-security/dependabot).

---

> **Contributing:** https://github.com/netresearch/github-project-skill

Overview

This skill provides practical templates and verification steps for GitHub repository setup, branch protection, CODEOWNERS, dependency automation, and PR merge troubleshooting. It streamlines creating new repositories and applying consistent collaboration policies. Use it to standardize documentation, CI requirements, and automated update workflows across projects.

How this skill works

The skill inspects repository layout, presence of required docs, collaboration files, dependency automation configs, and release workflows. It provides asset templates to copy into .github and root, and recommends running a verification script to validate settings against best practices. Guidance covers branch protection rules, auto-merge workflows, and CODEOWNERS configuration to enforce review and merge policies.

When to use it

  • Creating a new GitHub repository with standard files and policies
  • Migrating default branch or updating branch protection rules
  • Adding or fixing CODEOWNERS or issue/PR templates
  • Configuring Dependabot or Renovate and auto-merge workflows
  • Troubleshooting PR merge failures caused by protection rules or missing checks

Best practices

  • Copy and customize provided asset templates into .github and project root rather than editing upstream templates directly
  • Run the verification script (scripts/verify-github-project.sh) after changes to catch missing docs, templates, or automation configs
  • Keep branch protection rules in sync with CI workflow names to avoid blocked merges
  • Use CODEOWNERS to assign reviewers by area and reduce merge friction
  • Configure Dependabot/Renovate with conservative auto-merge rules and required status checks

Example use cases

  • Set up a new repository: add README, LICENSE, SECURITY.md, CODEOWNERS, and PR/issue templates using provided templates
  • Enforce branch protection: require CI checks, code owner reviews, and linear history for main branch
  • Enable automated dependency updates: add dependabot.yml or renovate.json and an auto-merge workflow for safe updates
  • Resolve blocked PRs: inspect branch rules, required checks, and CODEOWNERS to identify missing approvals or failing jobs

FAQ

How do I verify my repository matches the recommended configuration?

Run scripts/verify-github-project.sh against the repository path to check docs, templates, dependency automation, and release configs.

Where should I put CODEOWNERS and PR templates?

Place CODEOWNERS in .github/CODEOWNERS and PR templates in .github/PULL_REQUEST_TEMPLATE.md; copy the provided templates and adjust paths and teams to your project.