oma-scm

Manage Git commits, branches, merges, and configuration management with Conventional Commits and safe staging.

Updated Mar 26, 2026
One-click install
npx skills add https://github.com/javiruu/viru-air --skill oma-scm-javiruu
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: oma-scm
Source: https://github.com/javiruu/viru-air/tree/main/.agents/skills/oma-scm
Command: npx skills add https://github.com/javiruu/viru-air --skill oma-scm-javiruu

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? It prevents risky Git operations—such as broad staging, accidental secret commits, and unsafe history rewrites—while enforcing consistent Conventional Commits and software configuration management governance across a repository. ## Core Features & Use Cases - Safe Commit Workflow: Stages only explicit file paths, validates message type/scope/length against commit-config.yaml, and splits multi-feature changes into separate commits. - Full CM Governance: Covers branching models (GitHub Flow, GitFlow, trunk-based), merge conflict resolution, worktrees, tags, releases, CODEOWNERS maintenance, and audit posture. - Onboarding Risk Scan: Analyzes churn hotspots, bus factor, bug-prone files, velocity trends, and revert/hotfix frequency when inheriting a repository. - Use Case: When asked to commit staged work, it inspects git status and diffs, blocks likely-secret files like .env or *.pem, then creates a properly formatted Conventional Commit such as "feat(auth): add JWT token refresh". ## Quick Start Ask the assistant to commit your current changes safely using a Conventional Commit message with only the intended files staged.

Frequently Asked Questions about oma-scm

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I write a Conventional Commit message in Git?▼

Use the format type(scope): description, such as feat(auth): add JWT refresh. Keep the subject under 72 characters, use imperative mood, lowercase the first letter, and omit the trailing period. Valid types include feat, fix, refactor, docs, test, chore, style, and perf.

How do I split staged changes into multiple commits?▼

Split commits when changes span different scopes, types, or logically independent features. Stage explicit file paths per commit with git add <specific-files> rather than git add -A, then commit each group with its own Conventional Commit message.

Why should I avoid git add -A or git add . when committing?▼

Broad staging can accidentally include unrelated changes or secret files like .env, credentials.json, or *.pem. Staging explicit paths keeps commits reviewable and prevents sensitive material from entering repository history.

Can I rewrite shared Git history with rebase or force-push?▼

Shared history rewrites require explicit maintainer approval before proceeding. If a force-push is unavoidable, use --force-with-lease to avoid overwriting others' work. Local unshared branches can be rebased freely.

How do I assess risk when inheriting an unfamiliar repository?▼

Run an onboarding risk scan: check high-churn files, ownership concentration and bus factor, bug hotspot files from fix commits, monthly velocity trends, and revert/hotfix frequency. Thresholds are configurable in cm-config.yaml under onboarding_metrics.

When should I use a quick commit path versus full CM governance?▼

Use the quick path for ordinary commits: stage explicit files, validate the message, and stop. Use the full CM path when work involves branching strategy, merges, rebases, cherry-picks, worktrees, releases, CODEOWNERS, or audit requirements.