Install
$ agentstack add skill-pfangueiro-claude-code-agents-git-workflow ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Git Workflow
Overview
This skill provides comprehensive git workflow best practices, branching strategies, and collaboration patterns. Use it to ensure consistent, professional git usage across your projects.
When to Use This Skill
- Creating commits with proper messages
- Establishing branching strategies (Git Flow, GitHub Flow, Trunk-Based)
- Handling pull requests and code reviews
- Managing releases and hotfixes
- Resolving merge conflicts
- Setting up git hooks and automation
Core Workflows
Commit Message Guidelines
Follow the Conventional Commits specification for clear, semantic commit messages:
Format:
():
Types:
feat: New featurefix: Bug fixdocs: Documentation changesstyle: Formatting, missing semicolons, etc.refactor: Code restructuring without behavior changesperf: Performance improvementstest: Adding or updating testschore: Build process, dependencies, toolingci: CI/CD pipeline changes
Examples:
feat(auth): add JWT token refresh mechanism
Implement automatic token refresh before expiration.
Tokens are refreshed 5 minutes before expiry.
Closes #123
fix(api): handle null responses in user service
Add defensive null checks to prevent NPE when
external API returns unexpected null values.
Fixes #456
Branching Strategies
Git Flow (Traditional)
Best for: Scheduled releases, multiple version support
Branches:
main: Production-ready codedevelop: Integration branch for featuresfeature/*: New featuresrelease/*: Release preparationhotfix/*: Emergency production fixes
Workflow:
# Start new feature
git checkout develop
git checkout -b feature/user-authentication
# Finish feature
git checkout develop
git merge feature/user-authentication
git branch -d feature/user-authentication
# Create release
git checkout -b release/1.2.0
# Bump version, final testing
git checkout main
git merge release/1.2.0
git tag -a v1.2.0 -m "Release 1.2.0"
git checkout develop
git merge release/1.2.0
GitHub Flow (Simplified)
Best for: Continuous deployment, web applications
Branches:
main: Always deployablefeature/*: All changes
Workflow:
# Start work
git checkout -b feature/add-dark-mode
# Make changes, commit often
git commit -m "feat(ui): add dark mode toggle"
# Push and create PR
git push origin feature/add-dark-mode
# Create pull request on GitHub
# After review and CI passes, merge to main
# Deploy from main
Trunk-Based Development
Best for: High-frequency releases, mature CI/CD
Key principles:
- All work on
mainor very short-lived feature branches (>>>>>>
3. Resolve manually, keeping appropriate changes
4. Remove conflict markers
5. Test the resolved code
git add git commit -m "chore: resolve merge conflicts with main"
**Conflict Resolution Tips:**
- Communicate with the other developer if unsure
- Prefer rebasing for cleaner history (if branch not shared)
- Use `git mergetool` for complex conflicts
- Always test after resolution
### Git Hooks and Automation
Common hooks to consider:
**pre-commit:**
```bash
# Run linters, formatters
npm run lint
npm run format
# Run fast tests
npm run test:unit
commit-msg:
# Validate commit message format
# Ensure conventional commits compliance
pre-push:
# Run full test suite
npm run test
# Run build
npm run build
Advanced Patterns
Rebasing vs Merging
Use Rebase When:
- Working on personal feature branch
- Want linear history
- Need to incorporate upstream changes
git fetch origin
git rebase origin/main
Use Merge When:
- Working on shared branches
- Want to preserve complete history
- Merging pull requests
git merge origin/main
Cherry-Picking
Use to apply specific commits to another branch:
# Find commit hash
git log
# Apply to current branch
git cherry-pick
Interactive Rebase
Clean up commit history before pushing:
# Rebase last 3 commits
git rebase -i HEAD~3
# Options: pick, reword, squash, fixup, drop
Common Scenarios
Undo Last Commit (Not Pushed)
git reset --soft HEAD~1 # Keep changes staged
git reset HEAD~1 # Keep changes unstaged
git reset --hard HEAD~1 # Discard changes
Undo Pushed Commit
# Create new commit that reverses changes
git revert
git push origin main
Stash Changes
# Save work in progress
git stash save "WIP: feature description"
# List stashes
git stash list
# Apply stash
git stash apply stash@{0}
# Apply and remove
git stash pop
Update Commit Message
# Last commit (not pushed)
git commit --amend -m "new message"
# Older commit
git rebase -i HEAD~n # Use 'reword'
Worktrees
Git worktrees let you work on multiple branches simultaneously without stashing or switching.
When to Use Worktrees vs Branches
| Scenario | Use Branch | Use Worktree | |----------|-----------|-------------| | Sequential feature work | Yes | No | | Parallel features (simultaneous) | No | Yes | | Quick hotfix while mid-feature | Stash + branch | Yes (cleaner) | | Risky experiment | Maybe | Yes (isolated) | | Code review while coding | No | Yes |
Using EnterWorktree/ExitWorktree
Claude Code provides built-in worktree tools:
- EnterWorktree — Creates an isolated worktree with a new branch from HEAD. Provide an optional
namefor the worktree. - ExitWorktree — Leave the worktree. Choose
keep(preserve for later) orremove(clean up).
Common Patterns
Experiment safely:
EnterWorktreewith nameexperiment-X- Try the risky approach
- If it works: commit,
ExitWorktree(keep), merge later - If it fails:
ExitWorktree(remove)— no mess
Hotfix while mid-feature:
EnterWorktreewith namehotfix-Y- Fix the bug, commit, push
ExitWorktree(remove)— back to feature work
See the worktree-workflow skill for detailed patterns and best practices.
Resources
references/
This skill includes reference documentation for deeper dives:
- git-best-practices.md: Comprehensive git guidelines
- branching-models.md: Detailed branching strategy comparisons
- conflict-resolution.md: Advanced merge conflict patterns
Quick Reference
Daily Commands:
git status # Check status
git add # Stage file
git commit -m "message" # Commit with message
git push origin # Push to remote
git pull origin # Pull from remote
git checkout -b # Create and switch branch
git merge # Merge branch
Inspection:
git log --oneline --graph # Visual commit history
git diff # See unstaged changes
git diff --staged # See staged changes
git show # Show commit details
git blame # See who changed each line
Cleanup:
git branch -d # Delete local branch
git push origin : # Delete remote branch
git clean -fd # Remove untracked files
git gc # Garbage collection
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: pfangueiro
- Source: pfangueiro/claude-code-agents
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.