mcpField
O
oma-commit

oma-commit

github.com/gracefullightDevelopment49105 installsUpdated 1d ago
Repository

About oma-commit

oma-commit is a skill for analyzing changes and creating commits in Conventional Commits format. It guides commit type and scope selection, can split independent changes, and includes staging and secret-handling safeguards.

Key features

  1. 01Analyze status, staged diff, and recent commits
  2. 02Choose commit type, scope, and description
  3. 03Split independent changes into commits
  4. 04Stage specific files and avoid secrets

Use cases

  1. 01Prepare a Conventional Commit from local changes
  2. 02Separate unrelated changes before committing
  3. 03Avoid staging secrets or using broad add commands

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/gracefullight/stock-checker --skill oma-commit

After installing, type/oma-commitin Claude Code to confirm it loaded.

Bundled filesconfig/commit-config.yamlresources/conventional-commits.md

Details

From the project README

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

TypeDescriptionBranch Prefix
featNew featurefeature/
fixBug fixfix/
refactorCode improvementrefactor/
docsDocumentation changesdocs/
testTest additions/modificationstest/
choreBuild, configuration, etc.chore/
styleCode style changesstyle/
perfPerformance improvementsperf/

Commit Format

<type>(<scope>): <description>

[optional body]

Co-Authored-By: First Fluke <[email protected]>

Workflow

Step 1: Analyze Changes
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]>
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

Comments

Markdown supported