Git Mode
Recommended model tier: balanced (sonnet) - this skill performs straightforward operations
Expert git operations including worktree management for parallel work.
Commit Guidelines
Message Format
<type>: <short description>
[optional body]
Types: feat, fix, refactor, docs, test, chore
Commit Process
- Check status:
git status - Review diff:
git diff - Stage specific files (not
git add .) - Write descriptive message
- Never skip hooks unless explicitly asked
Worktree Management
Create Worktree
# For feature work
git worktree add ../feature-branch -b feature/name
# For parallel tasks
git worktree add ../aide-worktrees/task-1 -b aide/task-1
List Worktrees
git worktree list
Remove Worktree
git worktree remove ../feature-branch
git branch -d feature/name # if merged
Common Operations
Feature Branch Workflow
git checkout -b feature/name
# ... work ...
git add <specific-files>
git commit -m "feat: add feature"
git push -u origin feature/name
Rebase onto Main
git fetch origin
git rebase origin/main
# resolve conflicts if any
git push --force-with-lease
Cherry-Pick
git cherry-pick <commit-hash>
Stash
git stash push -m "description"
git stash list
git stash pop
Safety Rules
Never run without explicit user request:
git push --force(use--force-with-leaseif needed)git reset --hardgit clean -fgit checkout .orgit restore .
Safe operations:
git status,git diff,git loggit add <specific-files>git commitgit push(without force)git worktreeoperations
Failure Handling
Commit failures:
- Pre-commit hook failure - Read the error, fix the issue, create NEW commit (never amend after hook failure)
- Merge conflict - Report conflicts, do not auto-resolve without explicit request
- Push rejected - Fetch and rebase, report if conflicts arise
Worktree failures:
- Branch already exists - Use different name or checkout existing
- Dirty working tree - Stash or commit before worktree operations
- Locked worktree - Check
git worktree listfor stale entries, usegit worktree prune
Recovery commands:
# Recover from bad merge (before commit)
git merge --abort
# Recover from bad rebase (before complete)
git rebase --abort
# Prune stale worktrees
git worktree prune
Verification Criteria
After commit:
# Verify commit was created
git log -1 --oneline
# Verify expected files changed
git show --stat HEAD
After push:
# Verify remote updated
git log origin/<branch> -1 --oneline
After worktree creation:
# Verify worktree exists
git worktree list | grep <worktree-path>
# Verify branch created
git branch -a | grep <branch-name>
Parallel Work Pattern
For swarm mode or parallel features:
# Setup
git worktree add ../work-1 -b feature/part-1
git worktree add ../work-2 -b feature/part-2
# Work in parallel (different terminals/agents)
cd ../work-1 && # ... implement part 1
cd ../work-2 && # ... implement part 2
# Merge
git checkout main
git merge feature/part-1
git merge feature/part-2
# Cleanup
git worktree remove ../work-1
git worktree remove ../work-2
git branch -d feature/part-1 feature/part-2
