config/claude/skills/commit/SKILL.md
Create a commit in a repository
npx skillsauth add ahmedelgabri/dotfiles 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.
The most common case will be creating a commit in a Git repository. Usually, you
will include all changes in the working directory in the commit (that is, you
should run git diff to see what the changes are, and/or git diff --staged to
see what has already been staged). Generally, if your user wants you to commit
only a subset of the changes in the working directory, he will instruct you to
do so.
Less frequently, you will find yourself in a Jujutsu repository (which you can
determine via the presence of a .jj directory in the repository root). Jujutsu
does not have a concept of a staging area like Git, and running any jj command
will cause a snapshot of the working directory (including untracked files) to be
made; you should therefore interactively prompt your user to indicate which
changed files should be included in the change. In the most common case, you can
use jj st to see which files are in the current snapshot, and jj show to see
the diff, then jj split <file>... to indicate which specific files to be
included in the commit (passing your commit message using the -m option.
In general, because of the lack of staging area, you should be careful with
any jj command that creates or modifies a change. For example, if you user
asks you to squash some changes into the last commit using jj squash, you
should prompt the user to indicate which files' changes they want squashed
(and invoke jj squash <file>... accordingly).
For more information on Jujutsu, see the /jujutsu skill.
.claude-notes/, a directory which is ignored via the global
~/.config/git/ignore file: these plan files should never be included in a
commit as they are intended to be local-only aids to development.| Type | When to use | | -------- | -------------------------------------------------------------------------------------------------- | | fix | Bug fixes | | feat | New features | | chore | Content | | refactor | Code improvements (eg. for better readability, easier maintenance etc) which don't change behavior | | docs | Documentation changes (including changes to code comments) | | test | Changing or adding/removing tests | | perf | Performance improvements | | style | Formatting changes, automated lint fixes |
refactor: remove unused `recurse` setting
We were never exposing a user-accessible setting here. It is always `true`
in practice, except in the benchmarks where we offered an override via the
environment.
If there is ever a call for this in the future, we can resurrect it, but
for now, leaving it out presents us with an opportunity to simplify.
It may even be a tiny bit faster (1.3% better CPU time, and 2.4%
better wall time), with reasonable confidence, due to saving us some
conditional checks.
development
Interact with Neovim via RPC to annotate code, navigate files, and do walkthroughs
tools
How to use `jj`, the Jujutsu version control system
tools
Create a commit (or draft a commit message) in a Jujutsu repository
tools
Create a commit (or draft a commit message) in a Git repository