git-commits
Rules for writing commit messages in the deep-cuts repository — subject line format, body content, scope naming, and what to omit
Skill by robertolupi
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/robertolupi-git-commits
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: writing
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/git-commits
What's inside
- Skill name
git-commits- Description
- Rules for writing commit messages in the deep-cuts repository — subject line format, body content, scope naming, and what to omit
- License
- AGPL-3.0
- Instructions
- 108 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# Git Commit Messages
Every commit message is permanent project history. Write it for the person (or agent) reading `git log` six months from now, not for the person who just reviewed the diff.
---
## Subject line
Format: `type(scope): imperative verb phrase`
```
fix(ipc): route all Tauri imports through $lib/ipc
feat(analysis): add sleep prevention during pipeline run
docs(feedback): archive C1, F1a, F1b completed items
test(analysis): add pass invariant tests
```
**Type** signals the category of change:
| Type | When to use |
|------|-------------|
| `feat` | New user-visible capability |
| `fix` | Corrects a bug or wrong behavior |
| `refactor` | Internal restructuring, no behavior change |
| `test` | Adding or fixing tests only |
| `docs` | Documentation only |
| `perf` | Performance improvement |
| `tooling` | Dev tools, scripts, lint |
| `chore` | Deps, config, build — nothing a user sees |
**Scope** is the subsystem or domain: `ipc`, `analysis`, `scanner`, `frontend`, `stores`, `db`, `css`, `skills`, `feedback`, `design`. Keep it to one word. If you can't name the scope, the commit may contain multiple logical changes.
**Verb** is imperative, present tense: `add`, `fix`, `replace`, `remove`, `extract`, not `added`, `fixes`, `replacing`.
**Length**: subject under 72 characters. If you can't fit it, the commit is probably too large.
---
## Body
Include a body when the *why* is not obvious from the subject and diff. The diff already shows *what* changed — the body explains the decision, the problem, or the constraint.
```
fix(rust): replace silent filter_map(ok) with visible error handling
filter_map(|r| r.ok()) was swallowing SQLite row-mapping errors across
multiple query paths, making schema drift invisible at runtime. Each
call site now logs the error and the query continues — no behavior
change for callers, but failures are now observable in logs.
```
Good reasons to add a body:
- The fix is non-obvious and a future reader might revert it thinking it's wrong.
- A design decision was made between two plausible alternatives.
- The change has a known limitation or follow-up.
- The commit implements a tracked backlog item — name the item ID.
Bad reasons to add a body:
- Restating what the diff already shows ("changed X to Y in file Z").
- Describing the task context ("as part of the F1 campaign we decided to...").
- Trailing noise ("per review", "as discussed", "various cleanup").
---
## Scope and backlog references
When a commit implements a tracked item from the operations backlog, reference the item ID in the subject or body:
```
feat(ipc): add typed CommandMap with 86 commands (F1b)
fix(stores): make library.init() idempotent and add dispose() (F3)
```
This creates a navigable link between `git log` and `doc/operations/`.
---
## What to omit
- **Do not explain the code.** Well-named identifiers do that. Never write "added a new function called X that does Y".
- **Do not reference the PR, session, or conversation.** These are ephemeral. The commit stands alone.
- **Do not add "various", "misc", "cleanup", or "small fixes"** as the entire subject. Name the specific thing that changed.
- **Do not use past tense.** "Fixed" → "fix", "Added" → "add".
- **Do not pad.** A short, precise subject is better than a long vague one.
---
## One logical change per commit
The subject line is a forcing function. If you cannot write a single clear subject, the commit contains multiple logical changes and should be split.
A commit that touches the same *concern* in multiple files is fine (e.g. "fix(css): replace hardcoded colors with --sg-* tokens in 18 components"). A commit that touches two *unrelated concerns* in the same session should be two commits.
---
## Examples
```
feat(analysis): add HDBSCAN structure clustering pass
fix(download): structured error events, spawn_blocking, group key validation
refactor(backend): modularize commands, extract repositories, decouple coordinators
test(analysis): add pass invariant tests for lifecycle, order, and reset
docs(architecture): add data flow and IPC domain map (D5)
tooling(skills): auto-inject skill table into agent instruction files
chore: add tools/ export scripts and models/ directory scaffold
```From robertolupi/deep-cuts, AGPL-3.0.
More from robertolupi/deep-cuts
- 0.534score
ui-debug
robertolupi
Inspect, debug, and compare the Deep Cuts UI using an available browser tool.
SkillCFreshness: C★ 7Claude Code +9 - 0.534score
write-blog-post
robertolupi
Draft, structure, and finalize a Deep Cuts blog-series post so it conforms to the post template, house voice, and cross-post link rules.
SkillCFreshness: C★ 7Claude Code +9 - 0.534score
how-to-experiment
robertolupi
Experimental protocol for Deep Cuts research, prototypes, model evaluations, threshold tuning, ablations, metric comparisons, and claims about accuracy or…
SkillCFreshness: C★ 7Claude Code +9 - 0.531score
ui-design
robertolupi
Guidelines for the Sonic Glitch design system, theme variables, and multi-theme readability (dark, light, high-contrast)
SkillCFreshness: C★ 7Claude Code +9 - 0.531score
dev-guidelines
robertolupi
Guidelines to prevent development false starts, environment mismatches, and incorrect commands in the deep-cuts monorepo
SkillCFreshness: C★ 7Claude Code +9 - 0.531score
release-build
robertolupi
End-to-end checklist for building a signed macOS release — bump manifest min_app_version, verify sidecars, build, and inspect the .app
SkillCFreshness: C★ 7Claude Code +9 - 0.531score
add-tauri-sidecar
robertolupi
How to bundle an external binary and its dylib dependencies with the Tauri app, patch rpaths, sign everything, and resolve the path at runtime
SkillCFreshness: C★ 7Claude Code +9 - 0.528score
using-python
robertolupi
How to run Python scripts and install packages in the deep-cuts project
SkillCFreshness: C★ 7Claude Code +9 - 0.528score
add-analysis-pass
robertolupi
Checklist and guide for adding a new analysis pass to the trait-based modular pipeline
SkillCFreshness: C★ 7Claude Code +9 - 0.528score
add-ipc-command
robertolupi
Pattern for adding a new Tauri IPC command (request/response or push event) in the deep-cuts monorepo
SkillCFreshness: C★ 7Claude Code +9 - 0.528score
bump-dev-version
robertolupi
Bump the app version in Cargo.toml after a release to start the next dev cycle
SkillCFreshness: C★ 7Claude Code +9 - 0.528score
db-migration
robertolupi
Safe pattern for adding SQLite schema migrations in the deep-cuts Rust/rusqlite_migration stack
SkillCFreshness: C★ 7Claude Code +9
Signals
- Stars
- 7
- Forks
- 1
- Open issues
- 0
- Last commit (this folder)
- Jun 7, 2026 (4 months ago)
- Last release
- Jun 8, 2026 (4 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- AGPL-3.0
- Repository
- github.com/robertolupi/deep-cuts
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from robertolupi
- 0.534score
ui-debug
robertolupi
Inspect, debug, and compare the Deep Cuts UI using an available browser tool.
SkillCFreshness: C★ 7Claude Code +9 - 0.534score
how-to-experiment
robertolupi
Experimental protocol for Deep Cuts research, prototypes, model evaluations, threshold tuning, ablations, metric comparisons, and claims about accuracy or…
SkillCFreshness: C★ 7Claude Code +9 - 0.534score
write-blog-post
robertolupi
Draft, structure, and finalize a Deep Cuts blog-series post so it conforms to the post template, house voice, and cross-post link rules.
SkillCFreshness: C★ 7Claude Code +9 - 0.531score
add-tauri-sidecar
robertolupi
How to bundle an external binary and its dylib dependencies with the Tauri app, patch rpaths, sign everything, and resolve the path at runtime
SkillCFreshness: C★ 7Claude Code +9 - 0.531score
dev-guidelines
robertolupi
Guidelines to prevent development false starts, environment mismatches, and incorrect commands in the deep-cuts monorepo
SkillCFreshness: C★ 7Claude Code +9 - 0.531score
release-build
robertolupi
End-to-end checklist for building a signed macOS release — bump manifest min_app_version, verify sidecars, build, and inspect the .app
SkillCFreshness: C★ 7Claude Code +9
Cite this page
git-commits skill. Agent Mart. https://agentmart.dev/skills/robertolupi-git-commits (last updated 2026-10-24)