git-flow-working

Enforces branch naming, Conventional Commits, PR structure, and rebase-first sync rules for agent-driven Git workflows.

Updated Jul 5, 2026
One-click install
npx skills add https://github.com/wem2017/agent-flow-plugin --skill git-flow-working-wem2017
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: git-flow-working
Source: https://github.com/wem2017/agent-flow-plugin/tree/main/agentflow/skills/git-flow-working
Command: npx skills add https://github.com/wem2017/agent-flow-plugin --skill git-flow-working-wem2017

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Autonomous agents working on GitHub issues often create inconsistent branches, malformed commits, duplicate PRs, or dangerous operations like force-pushes on shared branches. This Skill gives agents a single, strict Git convention so every issue becomes a reviewable PR without violating safety rules. ## Core Features & Use Cases - Branching Convention: Derives branch names as agent/dev/<kind>/<issue#>-<kebab-slug> from issue labels, always branching from the default branch, and reusing the existing branch/PR when an issue already has an open PR. - Conventional Commits & PR Shape: Enforces Conventional Commits 1.0.0, PR titles like feat(#42): summary, and a mandatory PR body with Closes #<issue>, an Acceptance Criteria checklist, technical change notes, and surface labels. - Rework & Sync Rules: Defines rebase-first syncing, --force-with-lease only on untouched agent branches, merge as the deliberate exception once QC has pushed test commits, and hard safety rules (no force-push, no direct pushes to default, no merging PRs, no forbidden paths, no secrets in commits). - Use Case: An agent picks up issue #42 labeled type/feature, creates agent/dev/feat/42-csv-export, commits with Conventional Commits, pushes, opens a properly structured PR, and hands off to QC — all without human Git supervision. ## Quick Start Use the git-flow-working skill to create a branch, commit, and open a PR for issue #42 following the AgentFlow conventions.

Frequently Asked Questions about git-flow-working

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How should an agent name Git branches for GitHub issues?

Branch names follow the pattern agent/dev/<kind>/<issue#>-<kebab-slug>, where kind maps from the issue's type/* label (feature to feat, bug to fix, improvement to chore). The slug is lowercase ASCII with hyphens, derived from the issue title, and branches are always created from the default branch.

How do I write Conventional Commits for automated pull requests?

Use the format <type>(<scope>): <subject> with types like feat, fix, refactor, or chore, keeping the subject imperative and under about 72 characters. Reference issues in the commit body with Refs #42, and mark breaking changes with an exclamation mark or a BREAKING CHANGE footer.

Should I rebase or merge when syncing a feature branch?

Rebase onto the default branch is the default, using git fetch origin followed by git rebase origin/<default_branch>. Merge is only used when project convention requires it or when QC has pushed commits to the branch, since rebasing would rewrite their commits.

When is force-push allowed on a pull request branch?

Force-push is only allowed as git push --force-with-lease --force-if-includes immediately after a local rebase, and only on agent branches no one else has committed to. Once QC has pushed test commits to the branch, only regular fast-forward pushes are permitted.

What must a pull request body contain for auto-closing issues?

The PR body must include Closes #<issue> (auto-close triggers only when the base is the default branch), the issue's Acceptance Criteria mirrored as a checklist, a technical description of the changes, and the affected component surfaces. For bugs, it also documents the regression test and evidence it failed before the fix.

What Git operations are agents never allowed to perform?

Agents must never force-push shared branches, push directly to the default branch, merge pull requests, edit forbidden paths, or commit secrets. Credentials are referenced by environment variable name only, and violations of forbidden paths require escalation instead of workarounds.