Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsCommunityBlog
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

Back to skills

Git Branch Workflow Setup Skill

ASecurity

Orchestrate dev-to-uat-to-main branch workflow setup during project init — detects need, prompts user via question tool, delegates to repo-ops-specialist-subagent.

6 stars
0 votes
0 copies
0 views
Added 9/20/2026
devopspythongobashnextjsdockergitbackend

Works with

cli

Security Analysis

A100/100

Scanned 9/20/2026

Install to Claude Code

$npx -y skills add darellchua2/opencode-config-template --skill git-branch-workflow-setup-skill --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Git Branch Workflow Setup Skill?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Git Branch Workflow Setup Skill
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/darellchua2-git-branch-workflow-setup-skill/badge)](https://www.skillsdirectory.com/skills/darellchua2-git-branch-workflow-setup-skill)

More formats (shields.io, HTML) on the badges page.

Download Zip
Files
SKILL.md
---
name: git-branch-workflow-setup-skill
description: >-
  Orchestrate dev-to-uat-to-main branch workflow setup during project init —
  detects need, prompts user via question tool, delegates to
  repo-ops-specialist-subagent.
license: Apache-2.0
compatibility: opencode
category: Git/Workflow
---

## What I do

I am an **orchestration skill** — I do NOT execute branch setup myself. I provide the primary agent with:

1. **Detection logic** — when to offer branch-workflow setup
2. **Question tool spec** — the exact prompt to present to the user
3. **Option matrix** — what the user can configure (as cross-references)
4. **Delegation spec** — the typed payload to pass to `repo-ops-specialist-subagent`

The primary agent loads me, extracts these parameters, prompts the user, then delegates execution to `repo-ops-specialist-subagent` (which has `bash: allow` and the execution skills).

## When to use me

Invoke me when **any subagent returns `NEEDS_GIT_BRANCH_SETUP: true`** in its Return Contract. This signal indicates a project was just scaffolded (or a ticket workflow completed) and may benefit from a release branch structure.

## Governance

> **Content Rule:** This skill MUST contain ZERO inline YAML templates, ZERO bash scripts, and ZERO label hex colors. All execution logic and conventions are cross-references to the governing skills. This rule is auditable — if any inline template/script/hex is found, it is a defect.

This skill **defers** to:

| Aspect | Governing Skill | Section Reference |
|--------|-----------------|-------------------|
| Execution (scripts, workflows, onboarding) | `version-bump-standard-skill` | §Onboarding Checklist, §Templates & Scripts, §Workflow Templates, §Branch Flow |
| Tag formats & label conventions | `semantic-release-convention-skill` | §5. Release Tag Convention, §Branch-Aware Tag Mapping, §3. PR Label Rules |
| Changelog generation | `semantic-release-convention-skill` | §6. GitHub Actions Requirements |

**Why deferral (not duplication):** If governance changes (e.g., tag format, label colors), only the governing skill needs updating. This skill never needs to change for convention updates.

## Detection Logic

Before offering branch-workflow setup, check for **existing release tooling**. Offer setup ONLY when ALL of the following are absent from the target project:

| Signal | Path / Pattern | Meaning |
|--------|----------------|---------|
| CanvasTekk release workflow | `.github/workflows/bump-version-and-push-tag.yml` | Already uses the CanvasTekk version-bump standard |
| Any release workflow | `.github/workflows/*release*` | Uses some release automation |
| Any semantic workflow | `.github/workflows/*semantic*` | Uses semantic-release or similar |
| semantic-release config | `.releaserc*` | Uses semantic-release CLI |
| release-please config | `release-please-config.json` | Uses Google's release-please |
| Changesets | `.changeset/**` | Uses changesets for versioning |

**Decision rule:**
- If ANY signal is present → **Skip** (do not offer — existing tooling would conflict)
- If ALL signals are absent → **Proceed** to Skip-State check, then offer

### Skip-State Persistence

Before offering, also check for a skip marker:

- **Marker path:** `.opencode/branch-workflow-skipped` (in the target project)
- **If marker exists** → Skip silently (user previously declined; do not re-prompt)
- **When user selects "Skip"** → Primary agent creates `.opencode/branch-workflow-skipped` (empty file) so future setup runs do not re-prompt

## Question Tool Spec

When detection passes (all signals absent, no skip marker), present this prompt to the user via the `question` tool:

```json
{
  "questions": [
    {
      "question": "Would you like to set up a release branch workflow (dev → uat → main) for this project?",
      "header": "Branch Workflow Setup",
      "multiple": false,
      "options": [
        {
          "label": "Standard dev → uat → main",
          "description": "Set up the CanvasTekk release standard: dev/uat/main branches, PR-label-driven versioning, branch enforcement workflows, labels, and branch protection."
        },
        {
          "label": "Custom branch names",
          "description": "Same workflow but with custom branch names (e.g., develop/staging/production instead of dev/uat/main)."
        },
        {
          "label": "Trunk-based alternative",
          "description": "Single main branch with feature branches and release tags (no dev/uat intermediaries)."
        },
        {
          "label": "Skip",
          "description": "Do not set up a branch workflow now. A skip marker will be written to avoid re-prompting."
        }
      ]
    }
  ]
}
```

### Non-Interactive Fallback

> **ISSUE-6:** This configurator supports Docker standalone mode (web endpoint) and CI contexts where no user can answer interactively.

If the `question` tool is **unavailable, times out, or the context is non-interactive** (CI pipeline, Docker batch mode):

1. Default to **option (4) Skip**
2. Emit a warning: `"Branch workflow setup skipped — non-interactive context detected. Re-run in interactive mode to configure."`
3. Write the skip marker (`.opencode/branch-workflow-skipped`)
4. **Never block** the scaffolding flow

## Option Matrix

When the user selects "Standard" or "Custom", the following parameters are configurable. **Defaults and valid values are cross-referenced** to governance skills — this skill does not define new conventions:

| Parameter | Default | Valid Values | Reference |
|-----------|---------|--------------|-----------|
| Branch names | `dev`, `uat`, `main` | Any 3 distinct names (custom path) | `version-bump-standard-skill` §Branch Flow |
| Tag format | Branch-aware | `v-prefix` or `no-prefix` | `semantic-release-convention-skill` §Branch-Aware Tag Mapping |
| PR workflow toggle | On | `on` / `off` | `semantic-release-convention-skill` §3. PR Label Rules |
| Changelog integration | On | `on` / `off` | `semantic-release-convention-skill` §6. GitHub Actions Requirements |
| Branch enforcement workflows | On | `on` / `off` | `version-bump-standard-skill` §Workflow Templates (templates 2 & 3) |
| CI template selection | All 3 templates | `bump-version-and-push-tag.yml`, `enforce-dev-to-uat.yml`, `enforce-uat-to-main.yml` (by filename) | `version-bump-standard-skill` §Workflow Templates |

For "Trunk-based alternative": only tag format and changelog parameters apply; branch enforcement workflows are off.

## Delegation Spec

When the user accepts (options 1, 2, or 3), delegate execution to `repo-ops-specialist-subagent` with this typed payload:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `option` | enum: `standard` \| `custom` \| `trunk-based` | Yes | The user's selection |
| `branchNames` | object: `{ dev, uat, main }` | Yes (standard/custom) | Branch name strings; defaults per §Option Matrix |
| `tagFormat` | string | Yes | `"v-prefix"` or `"no-prefix"` |
| `prWorkflow` | boolean | Yes | Whether to enforce PR label rules |
| `changelog` | boolean | Yes | Whether to set up changelog generation |
| `branchEnforcement` | boolean | Yes | Whether to deploy branch enforcement workflows |
| `ciTemplates` | string[] | Yes | Filenames of templates to deploy (from `version-bump-standard-skill` §Workflow Templates) |
| `checklist` | reference | Yes | Point to `version-bump-standard-skill` §Onboarding Checklist — do NOT copy steps |

**Delegation instruction:** Pass the payload above to `repo-ops-specialist-subagent` via the Task tool. The executor loads `version-bump-standard-skill` (execution) and `semantic-release-convention-skill` (governance) itself — they are already in its `permission.skill` allowlist.

### Failure Handling

If `repo-ops-specialist-subagent` returns `Status: failed` or `Status: partial`:

1. Do NOT write the skip marker (the user may want to retry)
2. Surface the error to the user with the executor's **Issues** field
3. Offer retry or skip — only write the skip marker if the user explicitly chooses skip

## Compatibility

This skill is invocable by any framework **setup agent** (an `.opencode/agents/*.md` file with tool/spawn capabilities). It is NOT invocable by skills (skills are knowledge documents loaded BY agents; they cannot use the `question` tool or spawn subagents).

### Current Consumers

| Consumer | Type | Status |
|----------|------|--------|
| `nextjs-specialist-subagent` | Setup agent | **Active** — signals `NEEDS_GIT_BRANCH_SETUP: true` after scaffolding |

### Future Setup Agents

When a new framework setup agent is created (e.g., `python-setup-subagent`, `go-setup-subagent`), add this invocation pattern to its workflow:

```
After scaffolding:
1. Use glob/read to check detection signals (see §Detection Logic)
2. Check for skip marker (.opencode/branch-workflow-skipped)
3. If all signals absent AND no skip marker:
     Include in Return Contract: NEEDS_GIT_BRANCH_SETUP: true
4. The primary agent handles the rest (loads this skill, prompts user, delegates)
```

> **Note:** `python-backend-skill` is a **skill**, not an agent — it cannot invoke this skill. Only a future `python-setup-subagent` (agent) could.

## Invocation Flow

```
Setup agent scaffolds project
  → checks detection signals (glob/read — no bash needed)
  → if absent: returns NEEDS_GIT_BRANCH_SETUP: true
Primary agent receives signal
  → loads THIS skill (git-branch-workflow-setup-skill)
  → performs detection (§Detection Logic)
  → if triggered: calls question tool (§Question Tool Spec) or applies fallback (§Non-Interactive Fallback)
  → if user accepts: delegates to repo-ops-specialist-subagent (§Delegation Spec)
  → if user skips: writes skip marker
```

Attribution

darellchua2darellchua2
View sourceMore from darellchua2 →
SSkills DirectorySkills Directory

Your tool, in front of Claude Code builders.

3 founder slots · $299/mo · GSC-verified traffic · sponsors can never buy grades.

See placements

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Your tool, in front of Claude Code builders.

3 founder slots · $299/mo · GSC-verified traffic · sponsors can never buy grades.

See placements

Related Skills

Terraform Module Library

Build reusable Terraform modules for AWS, Azure, and GCP infrastructure following infrastructure-as-code best practices. Use when creating infrastructure modules, standardizing cloud provisioning, or implementing reusable IaC components.

393431 votes

sematext-otel

Wire a service's OpenTelemetry output to Sematext Cloud. Walks through region, App-type, instrumentation flow (managed OTLP endpoint vs Sematext Agent), and signal selection (traces/metrics/logs), then produces the exact env-var block and points at a runnable reference example in this repo. Invoke when instrumenting a new app for Sematext.

01 votes

Deployment Patterns

Deployment workflows, CI/CD pipeline patterns, Docker containerization, health checks, rollback strategies, and production readiness checklists for web applications. Use when setting up deployment infrastructure or planning releases.

2459130 votes

Babysit

Watch a pull request or review cycle until it is ready to merge. Use when asked to babysit, monitor, or keep checking PR comments, reviews, and CI until all actionable issues are resolved.

942310 votes

V7 Roster

Interact with the Paperclip control plane API for task coordination and governance. Use when checking assignments, updating issue status, posting comments, delegating work, managing routines, or calling Paperclip API endpoints.

805540 votes
View all in devops →