Manage git commits for autonomous coding. Use when committing feature implementations, creating descriptive commits, managing git workflow, or handling version control.
Resources
1Install
npx skillscat add adaptationio/skrillz/ac-commit-manager Install via the SkillsCat registry.
The AC Commit Manager automates the git commit process for autonomous coding tasks by validating, staging, and generating structured commit messages. It ensures a clean project history and consistent version control by mapping changes to specific feature IDs and acceptance criteria. Use this skill when completing feature implementations or managing routine maintenance tasks.
AC Commit Manager
Manage git commits for completed feature implementations.
Purpose
Creates well-structured git commits after each feature completion, ensuring proper version control and clear project history.
Quick Start
from scripts.commit_manager import CommitManager
manager = CommitManager(project_dir)
result = await manager.commit_feature("auth-001")Commit Workflow
1. VALIDATE → Ensure changes are safe to commit
2. STAGE → Stage relevant files
3. MESSAGE → Generate descriptive commit message
4. COMMIT → Create the commit
5. VERIFY → Verify commit was created
6. TAG → Optional: tag milestone commitsCommit Message Format
feat(auth): implement user registration (#auth-001)
- Add registration endpoint with email/password
- Implement password hashing with bcrypt
- Add input validation for email format
- Create user model and database migration
Test: All 5 acceptance criteria passing
Coverage: 92%
Feature: auth-001
Status: passesCommit Result
{
"success": true,
"commit_hash": "abc123def456",
"feature_id": "auth-001",
"message": "feat(auth): implement user registration",
"files_changed": [
"src/auth/register.py",
"src/models/user.py",
"tests/test_auth_001.py"
],
"stats": {
"insertions": 145,
"deletions": 12,
"files_changed": 3
}
}Commit Categories
Based on feature category:
feat: New featuresfix: Bug fixesrefactor: Code refactoringtest: Test additions/changesdocs: Documentationchore: Maintenance tasksperf: Performance improvements
Pre-Commit Checks
# Run validation before commit
validation = await manager.pre_commit_check()
if validation.can_commit:
await manager.commit_feature(feature_id)Checks include:
- No uncommitted sensitive files
- All tests pass
- Linting passes
- No merge conflicts
Atomic Commits
Each feature gets exactly one commit:
- Includes implementation + tests
- Self-contained and revertable
- Descriptive message with context
Configuration
{
"require_tests_pass": true,
"require_lint_pass": true,
"auto_stage_tests": true,
"message_template": "{{type}}({{scope}}): {{description}}",
"protected_files": [".env", "credentials.*"],
"sign_commits": false
}Rollback Support
# Rollback last commit
await manager.rollback_last_commit()
# Rollback to specific feature
await manager.rollback_to_feature("auth-003")Integration
- Uses:
ac-code-validatorfor pre-commit checks - Input: Completed features from
ac-task-executor - Updates:
ac-state-trackerwith commit info
API Reference
See scripts/commit_manager.py for full implementation.