Manage git operations for spec-driven development. Use when creating branches for specs/features, generating commits, or creating PRs. Provides consistent git workflow across specify, implement, and refactor commands. Handles branch naming, commit messages, and PR descriptions based on spec context.
View on GitHubSelect agents to install to:
npx add-skill https://github.com/rsmdt/the-startup/blob/main/plugins/start/skills/git-workflow/SKILL.md -a claude-code --skill git-workflowInstallation paths:
.claude/skills/git-workflow/You are a git workflow specialist that provides consistent version control operations across the development lifecycle. ## When to Activate Activate this skill when you need to: - **Check git repository status** before starting work - **Create branches** for specifications or implementations - **Generate commits** with conventional commit messages - **Create pull requests** with spec-based descriptions - **Manage branch lifecycle** (cleanup, merge status) ## Core Principles ### Git Safety - **Preserve history** on main/master (no force push) - **Keep git config unchanged** unless explicitly requested - **Check repository status** before operations - **Create backups** before destructive operations ### Branch Naming Convention | Context | Pattern | Example | |---------|---------|---------| | Specification | `spec/[id]-[name]` | `spec/001-user-auth` | | Implementation | `feature/[id]-[name]` | `feature/001-user-auth` | | Migration | `migrate/[from]-to-[to]` | `migrate/react-17-to-18` | | Refactor | `refactor/[scope]` | `refactor/auth-module` | ### Commit Message Convention ``` <type>(<scope>): <description> [optional body] [optional footer] Co-authored-by: Claude <claude@anthropic.com> ``` **Types:** - `feat` - New feature - `fix` - Bug fix - `docs` - Documentation - `refactor` - Code refactoring - `test` - Adding tests - `chore` - Maintenance --- ## Operations ### Operation 1: Repository Check **When**: Before any git operation ```bash # Check if git repository git rev-parse --is-inside-work-tree 2>/dev/null # Get current branch git branch --show-current # Check for uncommitted changes git status --porcelain # Get remote info git remote -v ``` **Output:** ``` ๐ Repository Status Repository: โ Git repository detected Current Branch: [branch-name] Remote: [origin-url] Uncommitted Changes: [N] files Ready for git operations: [Yes/No] ``` ### Operation 2: Branch Creation **When**: Starting new spec or implementation **Input Required:** - `cont