commit
Create git commits following Conventional Commits specification with project-specific branch naming rules. Use for commit message generation, changelog, and versioning.
Packaged view
This page reorganizes the original catalog entry around fit, installability, and workflow context first. The original raw source lives below.
Install command
npx @skill-hub/cli install first-fluke-oh-my-agent-commit
Repository
Skill path: .agents/skills/commit
Create git commits following Conventional Commits specification with project-specific branch naming rules. Use for commit message generation, changelog, and versioning.
Open repositoryBest for
Primary workflow: Ship Full Stack.
Technical facets: Full Stack.
Target audience: everyone.
License: Unknown.
Original source
Catalog source: SkillHub Club.
Repository owner: first-fluke.
This is still a mirrored public skill entry. Review the repository before installing into production workflows.
What it helps with
- Install commit into Claude Code, Codex CLI, Gemini CLI, or OpenCode workflows
- Review https://github.com/first-fluke/oh-my-agent before adding commit to shared team environments
- Use commit for development workflows
Works across
Favorites: 0.
Sub-skills: 0.
Aggregator: No.
Original source / Raw SKILL.md
--- name: commit description: Create git commits following Conventional Commits specification with project-specific branch naming rules. Use for commit message generation, changelog, and versioning. --- # Commit Skill - Conventional Commits ## When to use - When user requests "commit this", "commit", "save changes" - When `/commit` command is invoked ## Configuration Project-specific settings: `.agents/skills/commit/config/commit-config.yaml` ## Commit Types | Type | Description | Branch Prefix | |------|-------------|---------------| | feat | New feature | feature/ | | fix | Bug fix | fix/ | | refactor | Code improvement | refactor/ | | docs | Documentation changes | docs/ | | test | Test additions/modifications | test/ | | chore | Build, configuration, etc. | chore/ | | style | Code style changes | style/ | | perf | Performance improvements | perf/ | ## Commit Format ``` <type>(<scope>): <description> [optional body] Co-Authored-By: First Fluke <[email protected]> ``` ## Workflow ### Step 1: Analyze Changes ```bash git status git diff --staged git log --oneline -5 ``` ### Step 1.5: Split by Feature (if needed) If changed files span multiple features/domains, **split commits by feature**. **Split criteria:** - Different scopes (e.g., workflows vs skills vs docs) - Different types (e.g., feat vs fix vs docs) - Logically independent changes **Example:** ``` # Changed files: .agents/workflows/*.md (7 files) → fix(workflows): ... .agents/skills/**/*.md (4 files) → fix(skills): ... USAGE.md, USAGE-ko.md → docs: ... # Split into 3 commits ``` **Do NOT split when:** - All changes belong to a single feature - Few files changed (5 or fewer) - User requested a single commit ### Step 2: Determine Commit Type Analyze changes → Select appropriate type: - New files added → `feat` - Bug fixed → `fix` - Refactoring → `refactor` - Documentation only → `docs` - Tests added → `test` - Build/config changes → `chore` ### Step 3: Determine Scope Use changed module/component as scope: - `feat(auth)`: Authentication related - `fix(api)`: API related - `refactor(ui)`: UI related - No scope is also valid: `chore: update dependencies` ### Step 4: Write Description - Under 72 characters - Use imperative mood (add, fix, update, remove...) - Lowercase first letter - No trailing period ### Step 5: Execute Commit Show the commit message and proceed immediately without asking for confirmation: ``` 📝 Committing: feat(orchestrator): add multi-CLI agent mapping support - Add user-preferences.yaml for CLI configuration - Update spawn-agent.sh to read agent-CLI mapping - Update memory schema with CLI field Co-Authored-By: First Fluke <[email protected]> ``` ```bash git add <specific-files> git commit -m "<message>" ``` ## References - Configuration: `config/commit-config.yaml` - Guide: `resources/conventional-commits.md` ## Important Notes - **NEVER** use `git add -A` or `git add .` without explicit permission - **NEVER** commit files that may contain secrets (.env, credentials, etc.) - **ALWAYS** use specific file names when staging - **ALWAYS** use HEREDOC for multi-line commit messages --- ## Referenced Files > The following files are referenced in this skill and included for context. ### config/commit-config.yaml ```yaml # Commit Configuration # Enable Conventional Commits conventional_commits: true # Allowed commit types types: - feat - fix - refactor - docs - test - chore - style - perf # Branch prefix rules branch_prefixes: feat: "feature/" fix: "fix/" refactor: "refactor/" docs: "docs/" test: "test/" chore: "chore/" hotfix: "hotfix/" style: "style/" perf: "perf/" # Commit message rules message: max_subject_length: 72 require_body: false body_wrap_length: 100 # Scope rules scope: required: false # Allowed scopes list (empty means all allowed) allowed: [] # Co-Author settings co_author: enabled: true name: "First Fluke" email: "[email protected]" # Forbidden file patterns (commit warnings) forbidden_patterns: - "*.env" - "*.env.*" - "credentials.json" - "secrets.yaml" - "*.pem" - "*.key" - ".env.local" ``` ### resources/conventional-commits.md ```markdown # Conventional Commits Guide ## Overview Conventional Commits applies consistent rules to commit messages to enable: - Automated CHANGELOG generation - Semantic Versioning automation - Improved commit history readability across teams ## Commit Message Structure ``` <type>[optional scope]: <description> [optional body] [optional footer(s)] ``` ## Types ### Primary Types | Type | Description | SemVer | Example | |------|-------------|--------|---------| | `feat` | Add new feature | MINOR | `feat: add user authentication` | | `fix` | Bug fix | PATCH | `fix: resolve login timeout issue` | ### Secondary Types | Type | Description | SemVer | Example | |------|-------------|--------|---------| | `docs` | Documentation changes | - | `docs: update API documentation` | | `style` | Code style changes (formatting, semicolons, etc.) | - | `style: fix indentation` | | `refactor` | Code improvement without behavior change | - | `refactor: extract helper function` | | `perf` | Performance improvements | PATCH | `perf: optimize database queries` | | `test` | Add/modify tests | - | `test: add unit tests for auth` | | `chore` | Build, config, packages | - | `chore: update dependencies` | ## Scope Scope indicates the area of changed code: ``` feat(auth): add OAuth2 support fix(api): handle null response refactor(ui): simplify button component ``` ### Common Scopes - `auth` - Authentication/authorization - `api` - API endpoints - `ui` - User interface - `db` - Database - `config` - Configuration - `deps` - Dependencies ## Description - **Imperative mood**: "add", "fix", "update" (NOT "added", "fixed", "updates") - **Lowercase first letter** - **No trailing period** - **72 characters or less** ### Good Examples ``` feat(auth): add JWT token refresh mechanism fix(api): handle empty response from payment gateway refactor(ui): extract common button styles ``` ### Bad Examples ``` feat(auth): Added JWT token refresh mechanism. # past tense, period fix: fix bug # insufficient description Update the authentication system to support OAuth2 tokens and refresh mechanism # too long ``` ## Body Body is optional but useful for complex changes: ``` feat(auth): add multi-factor authentication Implement TOTP-based two-factor authentication: - Add QR code generation for authenticator apps - Store encrypted TOTP secrets in database - Add backup codes for account recovery Closes #123 ``` ## Breaking Changes Breaking changes marked with `!` or in footer: ``` feat(api)!: change response format for user endpoint BREAKING CHANGE: The user endpoint now returns a nested object instead of a flat structure. Update client code accordingly. ``` ## Footer ### Issue References ``` feat(auth): add password reset flow Closes #456 Refs #123, #789 ``` ### Co-Authors ``` feat(ui): redesign dashboard Co-Authored-By: Jane Doe <[email protected]> Co-Authored-By: Claude Opus 4.5 <[email protected]> ``` ## Branch Naming Convention | Type | Branch Prefix | Example | |------|---------------|---------| | feat | `feature/` | `feature/user-auth` | | fix | `fix/` | `fix/login-timeout` | | refactor | `refactor/` | `refactor/api-cleanup` | | docs | `docs/` | `docs/api-guide` | | hotfix | `hotfix/` | `hotfix/security-patch` | ## Commit Workflow 1. **Stage specific files** (NOT `git add .`): ```bash git add src/auth/login.ts git add tests/auth/login.test.ts ``` 2. **Write commit message**: ```bash git commit -m "$(cat <<'EOF' feat(auth): add login rate limiting - Limit failed attempts to 5 per minute - Add exponential backoff for repeated failures - Log suspicious activity Closes #234 Co-Authored-By: Claude Opus 4.5 <[email protected]> EOF )" ``` 3. **Verify**: ```bash git log -1 --format=full ``` ## Resources - [Conventional Commits Specification](https://www.conventionalcommits.org/) - [Semantic Versioning](https://semver.org/) - [Angular Commit Guidelines](https://github.com/angular/angular/blob/main/CONTRIBUTING.md#commit) ```