skills/adaptationio/skrillz/ac-commit-manager

ac-commit-manager

SKILL.md

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 commits

Commit 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: passes

Commit 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 features
  • fix: Bug fixes
  • refactor: Code refactoring
  • test: Test additions/changes
  • docs: Documentation
  • chore: Maintenance tasks
  • perf: 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-validator for pre-commit checks
  • Input: Completed features from ac-task-executor
  • Updates: ac-state-tracker with commit info

API Reference

See scripts/commit_manager.py for full implementation.

Weekly Installs
1
Installed on
claude-code1