oma-scm — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited oma-scm (Agent Skill) and scored it 96/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 1 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 1 flagged
The text {match} tells the agent to skip the normal "ask the user first" gate. Used adversarially it removes the human-in-the-loop check before destructive or sensitive actions, turning a normally-gated agent into a fire-and-forget executor.
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
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 |
git status -sb
git diff --staged
git log --oneline -5Stage and commit only explicit paths:
git 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 |
main/protected branches", broad staging, the commit-split rules, single vs. multiple commits, message type/scope/length, and shared-history rewrite. State briefly what you are doing and proceed; do not ask for re-confirmation of an instruction the user already gave. Only confirm if the instruction is genuinely ambiguous (multiple plausible interpretations) — never as a way to push back on a clear directive..env, keys, raw tokens). If the user's instruction would stage/commit such material, surface it once before proceeding; everything else proceeds without challenge.config/commit-config.yaml and config/cm-config.yaml before applying project-specific commit or CM rules.i18n-guide.md, commit messages, PR titles/body, branch names, and status keywords stay in English regardless of the setting.| 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).#### CODEOWNERS maintenance checklist
.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 <[email protected]>#### Step 1: Analyze changes
git status
git diff --staged
git log --oneline -5#### Step 1.5: Split by feature (if needed)
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.
#### Step 2: Determine type
feat · Bug fix → fix · Structure-only → refactor · Docs only → docs · Tests → test · Build/config → chore#### Step 3: Scope
Use module/component: feat(auth):, fix(api):, or omit: chore: update dependencies
#### Step 4: Description
≤72 chars (per commit-config.yaml), imperative mood, lowercase start, no trailing period.
#### Step 5: Execute commit
Show the message, then commit with explicit paths:
git 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:
git add <specific-files>
cat > /tmp/oma-commit-msg.txt <<'EOF'
<type>(<scope>): <description>
[optional body]
EOF
git commit -F /tmp/oma-commit-msg.txtUse 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.md../oma-observability/SKILL.md §Integrations — release markers (service.version), revert baseline diffgit add -A or git add . without explicit user permission.~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.