commit
Creates conventional commits with quality gates — stages intentionally, checks for uv.lock drift, runs the project's verification command, and writes the…
Skill by dougborg
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/dougborg-commit
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, productivity
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
- Runs as
- Shell scripts
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/commit
Tools it pre-approves 7
From allowed-tools in SKILL.md: the agent may use these without asking you each time.
Bash(gitadd*),commit*),diff*),status*),Bash(${CLAUDE_SKILL_DIR}/discover-verification-cmd.sh*),Read
What's inside
- Skill name
commit- Description
- Creates conventional commits with quality gates — stages intentionally, checks for uv.lock drift, runs the project's verification command, and writes the message. Owns commit mechanics for the PR workflow skills. Use when the user asks to commit, stage, or write a commit message, and when another skill (open-pr, review-pr) needs the commit mechanics or the uv.lock drift check.
- License
- Apache-2.0
- Allowed tools
- Bash(git, add*),, Bash(git, commit*),, Bash(git, diff*),, Bash(git, status*),, Bash(${CLAUDE_SKILL_DIR}/discover-verification-cmd.sh*),, Read
- Instructions
- 109 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
- Pre-approves some shell commands
Files (5)
- SKILL.md
- discover-verification-cmd.sh
- message-format.md
- staging-and-fixes.md
- uv-lock-drift.md
SKILL.md (first lines)
# Commit
Stage on purpose, verify, and commit with a conventional message. The steps
are exact because staging and pre-commit hooks fail in quiet ways.
## 1. Stage intentionally
```bash
git status # see what changed
git add <file1> <file2> ... # stage the files this commit is about
git diff --cached # review exactly what will be committed
```
Name each file rather than running `git add -A` or `git add .`, so stray
files stay out. Keep unrelated changes in separate commits. Read the staged
diff for secrets: API keys, passwords, credentials, and tokens stay out of
the commit.
Done when `git diff --cached` shows only the intended change and no secrets.
## 2. Stage a drifted uv.lock (Python + uv only)
Skip this step unless both `pyproject.toml` and `uv.lock` exist. After
staging, check for unstaged drift:
```bash
git status --porcelain -- uv.lock # " M" or "MM" = unstaged drift
```
If it has drifted, stage it with the commit:
```bash
git add uv.lock
```
Tell the user each time you do this: an unstaged `uv.lock` makes
pre-commit's auto-stash/pop cycle conflict and abort the commit. The drift is
legitimate and belongs in the commit; [uv-lock-drift.md](uv-lock-drift.md)
explains the failure mode and why the lock drifts without dependency changes.
Done when `uv.lock` shows no unstaged change, or the step does not apply.
## 3. Run the project's verification
Discover the verification command, then run what it prints as a **separate**
Bash call:
```bash
${CLAUDE_SKILL_DIR}/discover-verification-cmd.sh
```
Keep the discovery and the run in separate calls rather than piping into
`eval`: a command containing `eval` cannot be statically analyzed, so it falls
outside this skill's `allowed-tools` and prompts for permission every time.
Done when every check passes. A commit that breaks tests or linting waits
until they are fixed.
## 4. Write the message
Format: `type(scope): description`, for example `feat(auth): add OAuth2 login
flow`. A malformed message causes merge and CI problems downstream.
- **Type**: `feat`, `fix`, `refactor`, `docs`, `chore`, `test`, and rarely
`style` or `perf`.
- **Scope**: optional; the area of change in the project's own terms. Omit it
for project-wide changes.
- **Description**: imperative mood, no trailing period, 50 characters at most
(aim for about 30), specific.
- **Body**: optional; explains why, wraps at 72 characters, sits after a blank
line, and links issues (`Closes #NNN`).
[message-format.md](message-format.md) has the types table and good and bad
examples. Done when the subject matches the format and says specifically
what changed.
## 5. Create the commit
```bash
git commit -m "$(cat <<'EOF'
feat(scope): brief description
- Detailed explanation line 1
- Detailed explanation line 2
Closes #NNN
EOF
)"
```
If pre-commit aborts with "files were modified by this hook" and `uv.lock` is
in the modified list, stage `uv.lock` (step 2), warn the user, and retry once
with the same message.
Done when `git status` shows the commit landed and nothing intended is left
unstaged.
## When the commit needs more
Read [staging-and-fixes.md](staging-and-fixes.md) to stage a large change by
category, commit part of a file, or undo or amend a commit.
## Related
- `/review-pr`: review pull requests.
- `/open-pr`: open a PR with validation.
- [Conventional Commits spec](https://www.conventionalcommits.org/)From dougborg/harness-kit, Apache-2.0.
More from dougborg/harness-kit
- 0.565score
adhd-mode
dougborg
Shapes every response for a reader with ADHD: the next action first, numbered steps, progress restated each turn, tangents held back, concrete time estimates…
SkillAFreshness: AClaude Code +9 - 0.565score
agent-standup
dougborg
Reconciles and coordinates shared work across multiple coding agents and human operators.
SkillAFreshness: AClaude Code +9 - 0.565score
code-reviewer
dougborg
Reviews a diff across six dimensions — correctness, design, readability, performance, testing, security — plus the repo's documented standards, code smells…
SkillAFreshness: AClaude Code +9 - 0.565score
codebase-design
dougborg
Shared vocabulary and principles for designing deep modules: a lot of behaviour behind a small interface, at a clean seam, testable through that interface.
SkillAFreshness: AClaude Code +9 - 0.565score
diagnosing-bugs
dougborg
A disciplined diagnosis loop for hard bugs and performance regressions: build a tight feedback loop that goes red on this bug, minimise, hypothesise…
SkillAFreshness: AClaude Code +9 - 0.565score
documentation-writer
dougborg
Writes and revises human-facing documentation — READMEs, contributor and setup guides, reference pages, architecture notes, CLAUDE.md, and changelog entries.
SkillAFreshness: AClaude Code +9 - 0.565score
domain-modeling
dougborg
Builds and sharpens a project's domain language as decisions are made: challenges fuzzy or conflicting terms, stress-tests concepts with edge-case scenarios…
SkillAFreshness: AClaude Code +9 - 0.565score
grilling
dougborg
Interviews the user relentlessly about a plan, design, decision, or idea until every branch of the decision tree is resolved and nothing is silently assumed.
SkillAFreshness: AClaude Code +9 - 0.565score
harness-issue
dougborg
Files a bug report, idea, or proposed change against the upstream harness repo resolved from the project's config, from any project that uses harness-kit.
SkillAFreshness: AClaude Code +9 - 0.561score
budget
dougborg
Check the Claude usage/token budget before dispatching subagents or large fan-outs.
SkillAFreshness: AClaude Code +9 - 0.561score
harness
dougborg
Audits, bootstraps, updates, and improves a project's agent harness: the skills, agents, hooks, and instructions for Claude Code and Codex.
SkillAFreshness: AClaude Code +9 - 0.558score
implement
dougborg
Build a ticket or small spec in this session, test-first, through to an open PR.
SkillAFreshness: AClaude Code +9
Signals
- Stars
- 0
- Forks
- 1
- Open issues
- 8
- Last commit (this folder)
- Oct 16, 2026 (14 days ago)
- Last release
- Oct 18, 2026 (11 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- Apache-2.0
- Repository
- github.com/dougborg/harness-kit
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from dougborg
- 0.565score
agent-standup
dougborg
Reconciles and coordinates shared work across multiple coding agents and human operators.
SkillAFreshness: AClaude Code +9 - 0.565score
adhd-mode
dougborg
Shapes every response for a reader with ADHD: the next action first, numbered steps, progress restated each turn, tangents held back, concrete time estimates…
SkillAFreshness: AClaude Code +9 - 0.565score
code-reviewer
dougborg
Reviews a diff across six dimensions — correctness, design, readability, performance, testing, security — plus the repo's documented standards, code smells…
SkillAFreshness: AClaude Code +9 - 0.565score
codebase-design
dougborg
Shared vocabulary and principles for designing deep modules: a lot of behaviour behind a small interface, at a clean seam, testable through that interface.
SkillAFreshness: AClaude Code +9 - 0.565score
diagnosing-bugs
dougborg
A disciplined diagnosis loop for hard bugs and performance regressions: build a tight feedback loop that goes red on this bug, minimise, hypothesise…
SkillAFreshness: AClaude Code +9 - 0.565score
documentation-writer
dougborg
Writes and revises human-facing documentation — READMEs, contributor and setup guides, reference pages, architecture notes, CLAUDE.md, and changelog entries.
SkillAFreshness: AClaude Code +9
Cite this page
commit skill. Agent Mart. https://agentmart.dev/skills/dougborg-commit (last updated 2026-10-24)