Files
skills/skills/kvb-git-commit-no-verify/SKILL.md
T
Kevin Veen-BirkenbachandClaude Opus 5.5 b18a481d8c feat(score): cost and time labels, worktree path below the table
Efficiency and speed are after/before ratios where over 100 % is worse, so the labels now read 💸 cost and ⏱️ time in score.py, tokens.py, measure.py, the gate texts, the message block and every skill that quotes them; 💰 stays the value quotient and the --efficiency/--speed flags keep their names. --commit-table drops the worktree column, which took the table's width, and prints the path below it alone in a text block for copy and paste.

🎯 Fix: 94 %
💥 Break: 2 %
💸 Cost: 100 %
⏱️ Time: –
🛡️ Security: 100 %
💰 Value: ?
🏆 Score: 92
🚦 Gate: ✅ 90/5, cost and time <= 100, security 100 %

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-04 21:05:56 +01:00

2.4 KiB

name, description
name description
kvb-git-commit-no-verify Commit the staged changes with --no-verify. Trigger on any no-verify commit request; invoking it IS the per-commit --no-verify authorization, never carried over to later commits.
  1. Run the kvb-code-clean pass (comments, defaults, principles) over the staged and unstaged changes first, then the kvb-check-legal check over the staging index. A legal blocker stops here.
  2. Show in the message right before the git commit call, never only after it, the full staged diff (git diff --cached), then the commit table of the kvb-check-score skill (score.py ... --commit-table <worktree>): 📁 worktree, 🌿 branch, 📊 staged diff stat, then fix, break, cost, time, security, score and gate of the staged bundle, as the kvb-check-confidence skill produces them: break risk derived through the kvb-check-break-risk skill, never estimated.
  3. Approval-prompt duty: the commit call's approval prompt (Claude Code: the Bash description; other runtimes: their prompt text) names the worktree path, the branch, the diff stat and the score values (🎯 fix, 💥 break, 💸 cost, ⏱️ time, 🛡️ security, 🏆 score). Missing any item: do not send the call. Gate exit 4 (critical security finding) means no commit: the call is never sent, not even on the operator's word; fix and rescan first. Exit 1 (below 90/5) is shown, the operator's word decides; exit 3 means ask the operator again before the commit, naming each cause the gate prints. The same duty holds for every call that creates a commit, git merge included (there the incoming diff stat, and the incoming diff in the message before).
  4. Commit exactly the staging index with git commit --no-verify and a Conventional-Commits message derived from the staged diff; never add unstaged files, never push. The message carries the output of score.py ... --message-block as its own paragraph right before the Co-Authored-By line, passed as one -m argument (-m "<subject>" -m "<body>" -m "<block>" -m "Co-Authored-By: ..."), so the approval prompt shows the values one below the other and git history keeps them. A commit-creating call without the block, git merge included, is not sent.
  5. Report the created commit hash, the commit table again with --commit <hash> (the committed diff stat and a 🔖 Commit column), and what remains uncommitted.