Claude Skills
CollectionsCompareWorkflowsNominate
Sign inSign up
© 2026 Curated Agent Skills·Learn more about Agent Skills
Back to repository

gh-repo-setup

verified

Set up GitHub repo with GitFlow branching, protection rules, templates, and CI

View on GitHub

Marketplace

ken-cc-plugins

kenkenmain/ken-cc-plugins

Plugin

kenken

workflow

Repository

kenkenmain/ken-cc-plugins

plugins/kenken/skills/gh-repo-setup/SKILL.md

Last Verified

February 5, 2026

Install Skill

Select agents to install to:

Scope:
npx add-skill https://github.com/kenkenmain/ken-cc-plugins/blob/main/plugins/kenken/skills/gh-repo-setup/SKILL.md -a claude-code --skill gh-repo-setup

Installation paths:

Claude
.claude/skills/gh-repo-setup/
Powered by add-skill CLI

Instructions

# GitHub Repository Setup

> **For Claude:** This skill sets up a GitHub repository with GitFlow branching, branch protection, issue/PR templates, and label-triggered CI.

## When to Use

- Setting up a new GitHub repository with best practices
- Adding GitFlow branching to an existing repo
- Configuring branch protection rules
- Adding issue/PR templates and CI workflows

## Flow

```
1. Check gh auth → login if needed
2. Ask: Create new or configure existing repo?
3. If new: Create repo with gh repo create
4. Setup GitFlow branches (main, develop)
5. Configure branch protection (owner can bypass)
6. Configure squash merge only + auto-delete branches
7. Add issue/PR templates
8. Add label-triggered CI workflow
9. Add Dependabot config for github-actions
10. Create .claude/.agents and CLAUDE.md/AGENTS.md symlinks
11. Display summary
```

## Phase 1: Authentication

**Check gh auth status:**

```bash
gh auth status
```

If not authenticated, run:

```bash
gh auth login
```

Wait for user to complete authentication before proceeding.

## Phase 2: Repo Selection

**Parse arguments first:**

- If `--existing` flag is present: Skip to "If Configure Existing" section
- If repo name is provided as argument: Use it (don't prompt for name)
- Otherwise: Ask user for mode

**Ask user using AskUserQuestion (only if no --existing flag):**

| Header      | Question                                 | Options                                      |
| ----------- | ---------------------------------------- | -------------------------------------------- |
| "Repo mode" | "Create new repo or configure existing?" | "Create new repo", "Configure existing repo" |

### If Create New Repo:

**Ask for details:**

| Header       | Question                                | Options             |
| ------------ | --------------------------------------- | ------------------- |
| "Visibility" | "Should the repo be public or private?" | "public", "private" |

**Get repo name from arguments or ask:**

Validation Details

Front Matter
Required Fields
Valid Name Format
Valid Description
Has Sections
Allowed Tools
Instruction Length:
11659 chars