fix-pr-commit-titles — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited fix-pr-commit-titles (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.
Use when a PR has commits with the wrong title format (e.g. feat(lkpr-38): instead of [LKPR-38] feat:).
[LKPR-N] type: descriptiongit rebase -i --reword) is impractical because the pre-commit hook fires on every commit and may abort on pre-existing lint violationsfilter-branch --msg-filterRewrites all commit messages in a range in one pass. Does NOT trigger pre-commit or commit-msg hooks — avoids the hook-per-commit problem that breaks interactive rebase.
Trade-off: every SHA in the range changes, even commits whose messages weren't touched. Force-push to the PR branch is required.
cd ~/.hermes/profiles/diana/projects/lorekeeper
# Get PR head branch + commits
gh pr view <N> --json headRefName,commits \
| python3 -c "import sys,json; d=json.load(sys.stdin); print('Branch:', d['headRefName']); [print(f\"{c['oid'][:8]} {c['messageHeadline']}\") for c in d['commits']]"Or just inspect the local log:
git log --oneline -15Look for commits with feat(lkpr-N):, fix(lkpr-N):, etc. instead of [LKPR-N] feat:.
git checkout feat/lkpr-N-branch-name
# or, if not yet local:
git checkout -b feat/lkpr-N-branch-name origin/feat/lkpr-N-branch-nameReplace each wrong pattern with the correct [LKPR-N] type: form. The sed expressions are ANDed — each -e handles one pattern. Unmatched commits pass through unchanged.
FILTER_BRANCH_SQUELCH_WARNING=1 git filter-branch -f --msg-filter '
sed \
-e "s/^feat(lkpr-38): /[LKPR-38] feat: /" \
-e "s/^fix(lkpr-38): /[LKPR-38] fix: /" \
-e "s/^chore(lkpr-38): /[LKPR-38] chore: /"
' <base-sha>..HEAD<base-sha> is the last commit on main before the PR branch diverged. Get it with:
git merge-base HEAD origin/maingit log --oneline -15All commits in the range should now start with [LKPR-N].
git push --force-with-lease origin feat/lkpr-N-branch-name--force-with-lease — it fails if the remote has commits you haven't fetched, preventing accidental overwrites.<base-sha> is wrong and you rewrite commits from main, you'll corrupt the branch. Always confirm with git log <base-sha> --oneline -3 that it's the right commit before running filter-branch. mv .git/hooks/commit-msg .git/hooks/commit-msg.disabled
mv .git/hooks/pre-commit .git/hooks/pre-commit.disabled
# ... rebase ...
mv .git/hooks/commit-msg.disabled .git/hooks/commit-msg
mv .git/hooks/pre-commit.disabled .git/hooks/pre-commit~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.