fix(skills): show the diff stat, never the diff, in commit and essence skills

kvb-git-commit-no-verify, kvb-git-commit-next and kvb-skill-essence printed the full staged diff into the chat before every commit or batch write. The operator ordered on 2026-11-11 that the chat shows only the diff stat and the score table, to save tokens.

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

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Kevin Veen-BirkenbachandClaude Opus 5.5 committed 2026-11-11 15:40:15 +00:00
1 parent 45063dc71f
commit 3ad111be0a
3 files changed
+12 -13

No files matched your search

+2 -2
View File
@@ -12,13 +12,13 @@ description: >
cherry-pick or merge, never touch the staging index or the tree. cherry-pick or merge, never touch the staging index or the tree.
2. A similar fix on another branch is a stop: run the kvb-think-dialectic 2. A similar fix on another branch is a stop: run the kvb-think-dialectic
skill on the two candidates (staged version as thesis, foreign commit as skill on the two candidates (staged version as thesis, foreign commit as
antithesis) until one survives, then present sha, branch, both diffs, the antithesis) until one survives, then present sha, branch, both diff stats, the
verdict and the recommended move (keep staged / take theirs / combine). verdict and the recommended move (keep staged / take theirs / combine).
Wait for the operator's decision; do not commit. Wait for the operator's decision; do not commit.
3. Nothing similar found, or the operator picked the staged version: run the 3. Nothing similar found, or the operator picked the staged version: run the
kvb-git-commit-no-verify skill on the currently staged changes kvb-git-commit-no-verify skill on the currently staged changes
(kvb-code-clean pass and kvb-check-legal check first, then the (kvb-code-clean pass and kvb-check-legal check first, then the
full staged diff and the kvb-check-score commit table of 📁 worktree, kvb-check-score commit table of 📁 worktree,
🌿 branch, 📊 diff stat, scores with 🛡️ security and gate, then 🌿 branch, 📊 diff stat, scores with 🛡️ security and gate, then
`git commit --no-verify`, exact staging index only, its message carrying `git commit --no-verify`, exact staging index only, its message carrying
the `score.py --message-block` paragraph right before the the `score.py --message-block` paragraph right before the
+7 -8
View File
@@ -9,12 +9,12 @@ description: >
staged and unstaged changes first, then the kvb-check-legal check over staged and unstaged changes first, then the kvb-check-legal check over
the staging index. A legal blocker stops here. the staging index. A legal blocker stops here.
2. Show in the message right before the `git commit` call, never only after 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 it, the commit table of the kvb-check-score skill (`score.py ...
the kvb-check-score skill (`score.py ... --commit-table <worktree>`): --commit-table <worktree>`): 📁 worktree, 🌿 branch, 📊 staged diff stat,
📁 worktree, 🌿 branch, 📊 staged diff stat, then fix, break, cost, then fix, break, cost, time, security, score and gate of the staged
time, security, score and gate of the staged bundle, as the bundle, as the kvb-check-confidence skill produces them: break risk
kvb-check-confidence skill produces them: break risk derived through the derived through the kvb-check-break-risk skill, never estimated. Never
kvb-check-break-risk skill, never estimated. print a diff in the chat, only its stat.
3. Approval-prompt duty: the commit call's approval prompt (Claude Code: the 3. Approval-prompt duty: the commit call's approval prompt (Claude Code: the
Bash `description`; other runtimes: their prompt text) names the worktree Bash `description`; other runtimes: their prompt text) names the worktree
path, the branch, the diff stat and the score values (🎯 fix, 💥 break, path, the branch, the diff stat and the score values (🎯 fix, 💥 break,
@@ -27,8 +27,7 @@ description: >
operator's word for this one commit only once its `approval.py verify` operator's word for this one commit only once its `approval.py verify`
step exits 0 on the exact staged tree; otherwise the chat question stays step exits 0 on the exact staged tree; otherwise the chat question stays
the fallback. The same duty holds for every call that creates a commit, the fallback. The same duty holds for every call that creates a commit,
`git merge` included (there the incoming diff stat, and the incoming diff `git merge` included (there the incoming diff stat).
in the message before).
4. Commit exactly the staging index with `git commit --no-verify` and a 4. Commit exactly the staging index with `git commit --no-verify` and a
Conventional-Commits message derived from the staged diff; never add Conventional-Commits message derived from the staged diff; never add
unstaged files, never push. The message carries the output of unstaged files, never push. The message carries the output of
+3 -3
View File
@@ -62,7 +62,7 @@ Keep any fact with no other home (it is not redundancy) and the trigger
wording of a `description`: tighten it, never drop the "when". Dates stay wording of a `description`: tighten it, never drop the "when". Dates stay
absolute; never introduce "recently" while shortening. absolute; never introduce "recently" while shortening.
## Step 4: show the diff, then write ## Step 4: confirm, then write
Write in place: an essence beside the original saves nothing, the original Write in place: an essence beside the original saves nothing, the original
still loads. A git repository needs a clean status for the rewritten paths, still loads. A git repository needs a clean status for the rewritten paths,
@@ -70,8 +70,8 @@ so git alone reverts every edit; not clean: report and stop. `~/.claude` and
`~/.agents` are usually not under git: copy each file to `<file>.pre-essence` `~/.agents` are usually not under git: copy each file to `<file>.pre-essence`
first. first.
Present per file the diff and the lines and characters saved; ask one Present per file the lines and characters saved and what was cut, never the
confirmation for the batch; write only after it. diff; ask one confirmation for the batch; write only after it.
## Step 5: verify ## Step 5: verify