Git Commit Writer — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Git Commit Writer (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.
This skill directs the agent to read a git diff (or a plain description of changes) and produce a well-formed commit message following the Conventional Commits specification. It chooses the right type (feat, fix, chore, docs, refactor, test, style, perf, ci), picks an appropriate scope, writes a concise subject line, and — when the change is large enough to warrant it — adds a descriptive body.
Use this when you want consistent, meaningful commit history without having to remember the format every time.
Copy this file to .agents/skills/git-commit-writer/SKILL.md in your project root.
Then ask the agent:
For Claude Code, you can also run git diff --staged first and paste the output into the chat.
Add the contents of the "Prompt / Instructions" section below to your .cursorrules file, or paste it into the Cursor AI pane before asking for a commit message.
Paste the diff into the Codex chat along with the instructions from the section below. Codex works best when you include the full diff rather than a summary.
When asked to write a commit message, follow these steps:
git diff --staged output. Understand every file changed.feat — a new feature or behavior visible to users or callersfix — a bug fixrefactor — code restructuring with no behavior changeperf — performance improvementtest — adding or fixing testsdocs — documentation only (README, comments, etc.)style — formatting, whitespace, lint (no logic change)chore — build scripts, dependencies, toolingci — CI/CD pipeline changesauth, api, ui, db, parser, etc. Use the folder name or module name if unsure.type(scope): short descriptionBREAKING CHANGE: descriptionCloses #123 or Fixes #456type(scope): short imperative description
Optional body explaining the why behind the change.
Can be multiple paragraphs. Wrap at 72 chars.
Optional footer: Closes #123If the diff contains multiple unrelated changes, flag this and suggest splitting into separate commits.
Input to Agent:
"Here's my staged diff. Write a commit message using the Git Commit Writer skill.
>
``diff diff --git a/server/auth.ts b/server/auth.ts index 3a1b2c..9f4e5d 100644 --- a/server/auth.ts +++ b/server/auth.ts @@ -42,6 +42,12 @@ export async function login(email: string, password: string) { const user = await db.users.findOne({ email }); if (!user) throw new AuthError('User not found'); + + if (user.lockedUntil && user.lockedUntil > new Date()) { + throw new AuthError('Account is temporarily locked. Try again later.'); + } + const valid = await bcrypt.compare(password, user.passwordHash); if (!valid) { + await incrementFailedAttempts(user.id); throw new AuthError('Invalid password'); } ``"Output from Agent:
fix(auth): lock accounts after repeated failed login attempts
Adds a check for the `lockedUntil` field before attempting password
comparison. Also increments a failed-attempt counter on each bad
password so the locking mechanism has data to act on.git commit automatically. It only produces the message text for you to review and use.feat(api-gateway): ...).~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.