skills/commit/SKILL.md
Semantic commit assistant. Reads scopes from .claude/.prove.json, detects scope gaps and offers to register new ones, groups changes into logical units, and creates conventional commits.
npx skillsauth add mjmorales/claude-prove commitInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
.claude/.prove.json or directory structure.declined_scope_<name>.md memory file). Instead, silently use directory-derived scope.AskUserQuestion per references/interaction-patterns.md.Run in parallel:
.claude/.prove.json -- extract the "scopes" key if presentgit status, git diff, git diff --cachedIf no changes exist, inform the user and stop.
With configured scopes (.claude/.prove.json has "scopes"):
Match each changed file to the scope whose path prefix is the longest match.
{ "scopes": { "api": "src/api/", "auth": "src/auth/", "db": "src/models/" } }
Without configured scopes: derive from the most meaningful path segment (e.g., src/api/handler.go -> api).
Built-in scopes (always available, override nothing):
| Scope | Matches |
|-------|---------|
| docs | README, LICENSE, top-level documentation |
| repo | .gitignore, CI/CD, repo infrastructure |
| config | .claude/.prove.json, project config files |
Skip if .claude/.prove.json has no "scopes" key.
If changed files fall outside ALL configured scope prefixes AND do not match a built-in scope:
~/.claude/projects/*/memory/ for declined_scope_<name>.md for this projectAskUserQuestion:AskUserQuestion:
question: "Files under `<path>` don't match any configured scope. Add `<name>: <prefix>` to .claude/.prove.json?"
header: "New Scope"
options:
- label: "Add Scope"
description: "Register in .claude/.prove.json and use it for this commit"
- label: "Skip"
description: "Use directory-derived scope; never ask about this scope again"
Add Scope: add the entry to .claude/.prove.json "scopes" and use it for the current commit.
Skip: save a memory file at ~/.claude/projects/<project-dir>/memory/declined_scope_<name>.md:
---
name: declined-scope-<name>
description: User declined adding scope "<name>" (<prefix>) to .claude/.prove.json
type: feedback
---
Do not suggest adding scope "<name>" with prefix "<prefix>" to .claude/.prove.json. Declined on <date>.
Update MEMORY.md in the same directory to include the new entry.
Group changed files into logical commit units -- one per coherent change. Each group maps to one conventional commit type.
When grouping is ambiguous with 2-4 discrete options, use AskUserQuestion. Use free-form for ambiguity that needs open-ended discussion.
For each group:
git add <files> -- stage only files for that group<type>(<scope>): <description>
[optional body]
Co-Authored-By: Claude <[email protected]>
git status -- verify before next groupTypes: feat, fix, refactor, docs, test, chore, style, perf, ci, migrate
After all commits: git log --oneline -n <count> and report any remaining uncommitted changes.
testing
Anchor session context into prove primitives before compaction and rehydrate from them after. Built-in compaction summarizes by recency and drops the claude-prove state an agent needs to reorient; this skill externalizes volatile context into durable anchors (scrum tasks, decisions, run-state, a compact-anchors pointer file) pre-compact, then runs a deterministic reorientation sequence post-compact. Use before a manual /compact, when context is about to auto-compact, or immediately after a compaction. Triggers on "smart compact", "prepare for compaction", "anchor before compact", "context is getting long", "rehydrate", "reorient after compact".
tools
Apply model-driven CONTENT reshaping to stored run artifacts that sit behind the current schema, on explicit operator invocation only. Triggers on "migrate runs", "migrate run artifacts", "run content migration", "reshape run artifacts", "bring runs to current schema". You are the driver: the `run-state migrate-runs` CLI mechanically detects which artifacts are behind and emits a plan naming each one plus its migration-instruction file; you read the instructions and reshape the prose/findings, gated by the operator. The deterministic `schema migrate` handles structural column moves; this skill covers only the content reshaping beyond them. Never run as a background or resident loop — only when the operator asks.
tools
Synthesize the 7-section risk-forward Review Brief from a run's reasoning log. Triggers on "reasoning brief", "review brief", "synthesize the brief", "generate the brief", "brief the run", "brief for review", "story brief". You are the driver: the `acb brief` CLI renders a mechanical preservation-safe backbone and proves preservation; you synthesize the narrative prose (summary + changes), single-pass or multipass over episode chunks, then gate it through Stage-1 (mechanical, blocking) and Stage-2 (prose judge, advisory).
tools
Prune stale cached versions of the prove plugin from Claude Code's plugin cache. Use when superseded versions pile up under plugins/cache and agents read stale skills/references from them, or when reclaiming plugin-cache disk space. Triggers on "clean up cached plugin versions", "prune the plugin cache", "remove old prove versions", "stale plugin cache".