Install any skill in seconds. Free to start, no credit card required.
Get Started Free →SCM (software configuration management) and Git: branching, merges, conflicts, worktrees, baselines, audit readiness, plus Conventional Commits and safe staging.
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-12 | ✗→✓ | ▲ Improved | 276% | 0% |
| case-19 | ✗→✓ | ▲ Improved | 236% | 0% |
| case-21 | ✗→✓ | ▲ Improved | 15% | 0% |
| case-22 | ✗→✓ | ▲ Improved | 40% | 0% |
| case-03 | ✓→✓ | = Same ✓ | 77% | 0% |
oma-scm)Manage Git and software configuration management safely: commits, branches, merges, worktrees, releases, baselines, audit posture, CODEOWNERS, and Conventional Commits.
This skill is the single place for configuration management (CM) on a software repo and for Conventional Commits / safe staging.
/scm, message type/scope, splitting staged changes into multiple commits.oma-debugoma-qaoma-pmconfig/commit-config.yaml, config/cm-config.yaml, Conventional Commit references, onboarding-risk and CODEOWNERS playbooks| Action | SSL primitive | Evidence | |--------|---------------|----------| | Read Git state | READ | git status, diff, log, config | | Select SCM path | SELECT | Quick Path vs Full CM Path | | Compare change scopes | COMPARE | Split by type/scope/feature | | Validate commit/governance rules | VALIDATE | Config and CM controls | | Stage explicit files | CALL_TOOL | git add <specific-files> | | Commit or manage refs | CALL_TOOL | Git commit/branch/merge/rebase/tag | | Write audit notes | WRITE | Commit message or CM report | | Report result | NOTIFY | Final SCM summary |
bashgit status -sb git diff --staged git log --oneline -5
Stage and commit only explicit paths:
bashgit add <specific-files> git commit -m "$(cat <<'EOF' <type>(<scope>): <description> [optional body] EOF )"
| Scope | Resource target | |-------|-----------------| | CODEBASE | Tracked files, diffs, conflicts, CODEOWNERS | | LOCAL_FS | Git metadata, config files, commit message temp files | | PROCESS | Git commands and verification commands | | CREDENTIALS | Secret-sensitive files must not be staged or committed |
config/commit-config.yaml and config/cm-config.yaml before applying project-specific commit or CM rules.| File | Role | |------|------| | config/commit-config.yaml | Conventional Commit types, branch prefixes, message rules | | config/cm-config.yaml | CM pointers — documented process, branching model, baselines, changelog |
Use this when the user intent is mainly "commit this safely."
commit-config.yamlUse this when the user asks about branching strategy, merges, rebase/cherry-pick, worktrees, release refs, CODEOWNERS, or audit posture.
../../workflows/scm.md| CM function | Intent | Typical artefacts / actions | |-------------|--------|------------------------------| | Management & planning | Agreed rules | CONTRIBUTING.md, SECURITY.md, cm-config.yaml | | Configuration identification | What is managed, naming | Branch/tag rules, version files, .gitattributes, LFS | | Configuration control | Reviewed change | PRs, checks, issue links, BREAKING CHANGE footers | | Status accounting | As-built truth | main / release refs, CHANGELOG, tags, CI status | | Verification & audit | Evidence | CI logs, signed commits, lockfiles / SBOM policy |
cm-config.yaml and files listed under documented_process.CONTRIBUTING.md / README; state assumptions.package.json, etc.)..gitattributes / LFS for binaries and generated assets.commit-config.yaml branch_prefixes when the project uses them.merge-base, git status, resolve markers, tests; suggest rerere when conflicts repeat.git worktree add; merge/rebase from the target branch’s checkout; all worktrees share one object database.--force-with-lease if force-push is unavoidable.git status -sb: branch, remote tracking, ahead/behind, merge state.CHANGELOG or tooling (semantic-release, release-please, changesets) if present.merge_group when merge queue applies..env, keys, raw tokens)..github/CODEOWNERS).*).Read change_governance.require_codeowners and ownership.* in cm-config.yaml when present.
Use this quick scan when joining or inheriting a repository to identify risky areas before major changes.
lookback window.Read thresholds from cm-config.yaml onboarding_metrics when present and cite caveats:
| 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/ |
<type>(<scope>): <description>
[optional body]
Co-Authored-By: First Fluke <our.first.fluke@gmail.com>bashgit status git diff --staged git log --oneline -5
If changes span multiple features/domains, split commits by feature.
Split when: different scopes, different types, logically independent work.
Do not split when: one feature, few files (≤5), or user asked for a single commit.
feat · Bug fix → fix · Structure-only → refactor · Docs only → docs · Tests → test · Build/config → choreUse module/component: feat(auth):, fix(api):, or omit: chore: update dependencies
≤72 chars (per commit-config.yaml), imperative mood, lowercase start, no trailing period.
Show the message, then commit with explicit paths:
bashgit add <specific-files> git commit -m "$(cat <<'EOF' <type>(<scope>): <description> [optional body] EOF )"
If HEREDOC is unstable in your shell (or body is long), use file-based commit input:
bashgit add <specific-files> cat > /tmp/oma-commit-msg.txt <<'EOF' <type>(<scope>): <description> [optional body] EOF git commit -F /tmp/oma-commit-msg.txt
Use HEREDOC by default, and switch to -F for long or flaky terminal sessions.
config/commit-config.yamlconfig/cm-config.yamlresources/conventional-commits.mdresources/onboarding-risk-signals.mdresources/codeowners-playbook.mdgit add -A or git add . without explicit user permission.Other measured skills in the registry, with their headline benchmark lift.