workflow-git-commit — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited workflow-git-commit (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
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.
Degree of freedom: MIXED. Type/scope/subject wording [HIGH freedom]; stage-only-named-paths and never-push [LOW freedom — run exactly].
Create one clear, meaningful conventional commit. This skill owns deliberate staging + commit wording, not release preparation, pushing, or PR creation. The change must already be logically scoped.
Copy this checklist and tick items as you go:
- [ ] Step 1: Analyze changes; stop if the scope is not already named
- [ ] Step 2: Stage only the named paths or hunks; no git add . or -A
- [ ] Step 3: Identify type and scope from the actual diff
- [ ] Step 4: Write the subject line: imperative, 50 chars max, no period
- [ ] Step 5: Write the body if needed; split multiple changes
- [ ] Step 6: Commit; never push or open a PR from this skill| Skill | Owns |
|---|---|
| workflow-git-commit (this) | One conventional commit from an already-scoped change; never push |
workflow-release-prep | Local working tree to a merge-ready PR against main; never merge |
Scope: caller namedsrc/lib/cart.tsandsrc/lib/cart.test.tsonly. Type:fix— deleted SKU no longer 500s. Subject:fix(cart): treat missing SKU as an invalid lineBound: staged those two paths, committed, did notgit push.
git add . / -Aworkflow-release-prep; push/PR → workflow-pr<type>(<scope>): <subject>
<body>
<footer>| Type | When to Use |
|---|---|
feat | New feature |
fix | Bug fix |
docs | Documentation only |
style | Formatting, no code change |
refactor | Code change that neither fixes nor adds |
perf | Performance improvement |
test | Adding/updating tests |
chore | Build, tooling, deps |
ci | CI/CD changes |
Component or area affected:
feat(auth): add OAuth2 support
fix(api): handle rate limit errors
docs(readme): update installation steps# Read-only: inspect the already-scoped change
git diff --staged
# View changed files
git status --shortIf the intended scope is not already clear, stop and ask the caller to name the files or hunks. Stage only those paths/hunks. Never widen scope with git add . or git add -A, and never push from this skill.
Rules:
Good:
feat(cart): add quantity selector to items
fix(auth): prevent session timeout during checkout
refactor(utils): extract date formatting logicBad:
Fixed the bug. # Vague, past tense
feat(cart): Added new feature # Past tense, vague
Update stuff # No type, vagueWhen to include:
Format:
feat(payments): add Stripe webhook handler
Implement webhook endpoint to process payment events.
Handles succeeded, failed, and refunded events.
Closes #123feat(dashboard): add dark mode togglefix(api): handle null response from external service
The third-party API occasionally returns null instead of
an empty array. Add null check to prevent TypeError.
Fixes #456refactor(hooks): extract useDebounce from search component
Move debounce logic to reusable hook for consistency
across search inputs throughout the app.feat(api)!: change response format for user endpoint
BREAKING CHANGE: The /api/users endpoint now returns
{ data: [...], meta: {...} } instead of a plain array.
Migration: Update clients to access users via response.dataIf you need to describe multiple things, consider splitting into separate commits:
# Instead of:
"fix(auth): fix login and add logout button and update styles"
# Do:
git commit -m "fix(auth): handle expired token error"
git commit -m "feat(auth): add logout button to header"
git commit -m "style(auth): update login form spacing"git add -- <named-path> [...]
git commit -m "$(cat <<'EOF'
feat(scope): concise imperative subject
Explain why the change is needed when the subject is not enough.
Refs: #123
EOF
)"~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.