Agent skill
git-automation
Automate Git workflows with atomic commits, Beads integration, and real-time sync. Use when managing Git commits, branches, task tracking, or handling complex multi-file changes with proper validation.
Install this agent skill to your Project
npx add-skill https://github.com/pwarnock/liaison-toolkit/tree/main/.skills/git-automation
Metadata
Additional technical details for this skill
- author
- liaison-toolkit
- version
- 2.0
- keywords
- git, commits, workflow, automation, beads, atomic-commits
SKILL.md
Git Automation
Automate complex Git workflows with atomic commit enforcement, Beads integration, and real-time synchronization.
When to use this skill
Use this skill when:
- Creating commits with proper message formatting
- Managing feature branches and releases
- Syncing Git state with task tracking systems
- Implementing atomic commits across multiple files
- Detecting and auto-committing completed work
- Validating changes before committing
Core Concepts
Atomic Commits
An atomic commit is a single, self-contained change that:
- Fixes ONE issue or implements ONE feature
- Can be reverted without breaking other changes
- Passes all tests and validation
- Has a clear, descriptive commit message
Benefits:
- Easy to understand changes
- Simpler debugging and rollbacks
- Better code history
- Easier to cherry-pick changes
Enforcement Rules:
- Maximum ONE issue/task per commit
- Strict validation before commit
- Dependency checking
- No bypassing atomic commit requirement
Conventional Commits
Format: {type}({scope}): {issue_id} {title}
Types:
feat: New featurefix: Bug fixrefactor: Code refactordocs: Documentationtest: Test additions/updateschore: Build, dependencies, tooling
Examples:
feat(auth): TASK-42 Add JWT token validation
fix(api): ISSUE-123 Handle null responses correctly
docs(readme): Update installation instructions
test(utils): Add tests for date formatting
Beads Integration
Real-time synchronization with Beads task tracking:
- Sync Git commits with task status
- Auto-update task status on commit
- Track issue references in commits
- Validate task completion before merge
Step-by-Step Workflow
1. Create a Feature Branch
# Create branch from main
git checkout main && git pull
git checkout -b feat/TASK-42-description
# Branch naming: {type}/{issue-id}-{short-description}
2. Make Changes
Edit files for a single feature/fix:
# Edit files
vim src/feature.ts
# Stage changes
git add src/feature.ts
# Check status
git status
3. Validate Before Committing
Ensure quality before commit:
# Run tests
npm test
# Check linting
npm run lint
# Type check
npm run type-check
# Validate changes meet atomic commit rules
# (Max files, single issue, proper formatting)
4. Create Atomic Commit
# Commit with proper format
git commit -m "feat(module): TASK-42 Add new feature"
# The commit will:
# 1. Validate message format
# 2. Check file count (< 50 files)
# 3. Verify single issue reference
# 4. Update Beads task status
# 5. Run pre-commit hooks
5. Sync with Beads (if using task tracking)
# Auto-sync happens on commit, but manual sync available:
git beads-sync TASK-42
# Updates: task status, linked commits, dependencies
6. Create Pull Request & Merge
# Push to remote
git push -u origin feat/TASK-42-description
# Create PR (on GitHub/GitLab)
# Reference task: "Closes TASK-42"
# Wait for reviews and CI
# Merge when approved
git merge feat/TASK-42-description
Common Scenarios
Scenario 1: Single File Bug Fix
Task: BUGFIX-89 "Fix null pointer in auth service"
git checkout main && git pull
git checkout -b fix/BUGFIX-89-null-pointer
vim src/auth/service.ts
npm test # Verify fix works
git add src/auth/service.ts
git commit -m "fix(auth): BUGFIX-89 Handle null user object"
Commit validates:
- ✅ Single file (< 50 limit)
- ✅ Proper message format
- ✅ Single issue reference
- ✅ Tests passing
Scenario 2: Feature with Multiple Files
Task: FEAT-156 "Add user preferences UI"
git checkout -b feat/FEAT-156-user-prefs
vim src/components/Preferences.tsx
vim src/api/preferences.ts
vim src/styles/preferences.css
npm test
git add src/components/Preferences.tsx src/api/preferences.ts src/styles/preferences.css
git commit -m "feat(ui): FEAT-156 Add user preferences panel"
Commit validates:
- ✅ Multiple related files (same feature)
- ✅ All files for single feature
- ✅ Single issue reference
- ✅ Tests passing
Scenario 3: Refactor with Tests
Task: TECH-203 "Refactor date utilities"
git checkout -b refactor/TECH-203-date-utils
vim src/utils/date.ts
vim src/utils/__tests__/date.test.ts
npm test # Validate refactor doesn't break anything
git add src/utils/date.ts src/utils/__tests__/date.test.ts
git commit -m "refactor(utils): TECH-203 Simplify date formatting"
Commit validates:
- ✅ Logic and tests together
- ✅ No functionality change
- ✅ All tests pass
- ✅ Proper message format
Safety Features
Pre-Commit Validation
Before every commit:
- Syntax check: No syntax errors in code
- Lint check: Code follows style rules
- Type check: TypeScript types are valid
- Secret scan: No credentials committed
- Size check: No huge files
- Atomic check: Single issue per commit
Auto-Commit Detection
Automatically commit when:
- Beads task marked as completed
- Agent workflow finishes successfully
- Manual trigger requested
Safety checks:
- Dry-run mode by default
- Requires confirmation for first auto-commit
- Validates working tree is clean
- Backs up before committing
- Logs all auto-commits
Dependency Validation
Ensures commits don't break dependencies:
- Check package.json changes
- Verify lock file consistency
- Validate version constraints
- Test dependency installations
Advanced Workflows
Watch Mode (Continuous Auto-commit)
Watch for completed tasks every 30 seconds
Auto-commit when task status → closed
Validate each commit before pushing
Stop on errors or after 1 hour
Use for:
- Long-running agent workflows
- Multiple concurrent tasks
- Automated CI/CD pipelines
Beads Real-Time Sync
Keeps Git and task tracking in sync:
- Commit detection → Update task status
- Task completion → Suggest auto-commit
- Branch creation → Link to task
- Pull request merge → Mark as done
Sync on:
- Commit (post-commit hook)
- Branch creation/deletion
- Tag creation
- PR open/close/merge
Version-Based Branching
Organize branches by release version:
main → Production
v1.2.x → Stable releases
develop → Development
feat/... → Features (merge to develop)
bugfix/... → Bug fixes (merge to v-branch)
release/v1.2.0 → Release candidates
Tagging:
- Automatic tags on releases
- Version-based branch cleanup
- Release note generation
Troubleshooting
Commit Validation Fails
Problem: "Atomic commit validation failed"
Solution:
- Check commit has only one issue reference:
git log -1 - Verify file count < 50:
git diff --cached --name-only | wc -l - Check message format:
{type}({scope}): {issue} {title} - Run validation:
git validate --strict
Beads Sync Not Working
Problem: "Beads sync failed"
Solution:
- Check Beads is running:
beads status - Verify issue exists:
beads issues list TASK-42 - Check credentials:
echo $BEADS_API_KEY - Retry manually:
git beads-sync TASK-42
Auto-commit Not Triggering
Problem: "Auto-commit didn't run"
Solution:
- Check task actually completed:
beads issues get TASK-42 - Verify changes exist:
git status - Run manually:
git auto-commit --dry-run=false - Check logs:
cat .git/auto-commit.log
Best Practices
- One Issue Per Commit: Never mix multiple issues in one commit
- Clear Messages: Include issue ID and descriptive title
- Test Before Commit: Always run tests before committing
- Small Changes: Smaller atomic commits are easier to review
- Linked Tasks: Always reference task/issue ID in commits
- Clean History: Use atomic commits to keep history clean
- Validate Always: Don't bypass validation checks
- Backup Before Auto-commit: Enable backup before auto-commit
Related Skills
- Bun Development: Build system and development workflow
- Liaison Workflows: Task creation and workflow management
- Code Review: Quality assurance and peer review process
Keywords
git, commits, automation, workflow, atomic-commits, beads, sync, branches, validation, conventional-commits
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
security-scanning
Security scanning with dependency audits, secret detection, static analysis, and vulnerability management. Use when checking for vulnerabilities, scanning dependencies, or enforcing security gates.
bun-development
Bun build system, development workflow, and TypeScript patterns. Use when working with Bun projects, setting up development environment, or managing dependencies with Bun package manager.
library-research
Research library documentation and API references using Context7 integration. Use when users ask about libraries, frameworks, packages, APIs, or need documentation for third-party code.
release-publishing
Release workflow with changesets, version bumping, changelog generation, and npm publishing. Use when preparing releases, managing versions, or publishing to npm.
liaison-workflows
Task management and workflow patterns using liaison. Use when managing tasks, creating workflows, or working with task-driven automation.
cli-development
CLI development patterns with Commander.js, argument parsing, and user experience best practices. Use when creating commands, handling options, formatting output, or building CLI tools.
Didn't find tool you were looking for?