Use when adding new error messages to React, or seeing "unknown error code" warnings.
npx skills add Mindrally/skills --skill "git-workflow"
Install specific skill from multi-skill repository
# Description
Git conventions and workflow guidelines using Conventional Commits, branching strategies, and best practices for version control
# SKILL.md
name: git-workflow
description: Git conventions and workflow guidelines using Conventional Commits, branching strategies, and best practices for version control
Git Workflow Best Practices
You are an expert in Git version control, following industry best practices for commits, branching, and collaboration workflows.
Core Principles
- Write clear, atomic commits that address single logical changes
- Follow Conventional Commits specification for all commit messages
- Use feature branches to isolate changes and enable easier code review
- Keep branches short-lived and regularly sync with main branch
- Never commit directly to main/master branch
Conventional Commits Format
Use the following format for all commit messages:
<type>[optional scope]: <description>
[optional body]
[optional footer(s)]
Commit Types
feat: A new feature (correlates with MINOR in SemVer)fix: A bug fix (correlates with PATCH in SemVer)docs: Documentation only changesstyle: Changes that do not affect the meaning of the code (white-space, formatting)refactor: A code change that neither fixes a bug nor adds a featureperf: A code change that improves performancetest: Adding missing tests or correcting existing testsbuild: Changes that affect the build system or external dependenciesci: Changes to CI configuration files and scriptschore: Other changes that don't modify src or test filesrevert: Reverts a previous commit
Commit Message Guidelines
- Use lowercase letters in the entire body of the commit message
- Keep the commit message title under 60 characters
- Use imperative mood: "Add feature" not "Added feature"
- Explain the why behind the change, not just what was changed
- Reference related issues or tickets in the footer
Examples
feat(auth): add OAuth2 authentication support
Implement OAuth2 flow for Google and GitHub providers.
This allows users to sign in with their existing accounts.
Closes #123
fix(api): handle null response from external service
The external API sometimes returns null instead of an empty array.
Added null check to prevent TypeError in downstream processing.
Fixes #456
Branching Strategy
Branch Naming Conventions
Use descriptive, kebab-case branch names with prefixes:
feature/- New features (e.g.,feature/user-authentication)bugfix/- Bug fixes (e.g.,bugfix/login-redirect-loop)hotfix/- Urgent production fixes (e.g.,hotfix/security-patch)release/- Release preparation (e.g.,release/v2.1.0)docs/- Documentation updates (e.g.,docs/api-reference)refactor/- Code refactoring (e.g.,refactor/database-layer)
Workflow Guidelines
-
Create feature branches from main/develop
bash git checkout main git pull origin main git checkout -b feature/new-feature -
Keep branches up-to-date
bash git fetch origin git rebase origin/main -
Make atomic commits
- Each commit should be a single, logical change
- Commit early and often when code is in a stable state
-
Avoid mixing unrelated changes in a single commit
-
Before merging
- Ensure all tests pass
- Squash fixup commits if needed
-
Rebase onto latest main to resolve conflicts
-
Clean up after merge
bash git branch -d feature/new-feature git push origin --delete feature/new-feature
Git Configuration Best Practices
Useful Aliases
git config --global alias.co checkout
git config --global alias.br branch
git config --global alias.ci commit
git config --global alias.st status
git config --global alias.lg "log --oneline --graph --decorate"
Recommended Settings
git config --global pull.rebase true
git config --global fetch.prune true
git config --global diff.colorMoved zebra
Collaboration Guidelines
Code Review Process
- Create small, focused pull requests
- Write clear PR descriptions explaining the changes
- Link related issues and documentation
- Request reviews from appropriate team members
- Address feedback promptly and professionally
- Squash commits when merging if history is messy
Merge Strategies
- Merge commit: Preserves full history, good for feature branches
- Squash and merge: Combines all commits into one, cleaner main history
- Rebase and merge: Linear history, requires clean commit history
Conflict Resolution
- Pull latest changes from target branch
- Resolve conflicts locally
- Test thoroughly after resolution
- Commit with clear message explaining resolution
Security Best Practices
- Never commit sensitive data (passwords, API keys, tokens)
- Use
.gitignoreto exclude sensitive files - Review diffs before committing
- Use signed commits for verified authorship
- Rotate any accidentally committed secrets immediately
Integration with Semantic Versioning
Conventional Commits integrate well with semantic versioning:
feat: triggers a MINOR version bumpfix: triggers a PATCH version bumpBREAKING CHANGE: triggers a MAJOR version bump
This enables automated version determination and changelog generation.
# Supported AI Coding Agents
This skill is compatible with the SKILL.md standard and works with all major AI coding agents:
Learn more about the SKILL.md standard and how to use these skills with your preferred AI coding agent.