.agents commit
Commit changes with well-crafted messages, grouping related files into separate commits
install
source · Clone the upstream repo
git clone https://github.com/Weaverse/.agents
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/Weaverse/.agents "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/commit" ~/.claude/skills/weaverse-agents-commit && rm -rf "$T"
manifest:
skills/commit/SKILL.mdsource content
Workflow
-
Run these commands in parallel to understand the current state:
— see all tracked/untracked files and staging stategit status
— see unstaged changesgit diff
-
Analyze ALL changes (staged + unstaged) and determine what should be committed:
- If there are no changes at all, inform the user and stop
- Do NOT commit files that likely contain secrets (
, credentials, tokens, API keys). Warn the user if such files are present..env
-
Group related file changes into logical commits:
- Do NOT lump all changes into a single commit
- Examine each changed file and understand what it does
- Group files that are part of the same logical change together (e.g., a component + its styles + its test = one commit)
- Each group becomes its own commit
- If only one logical change exists, one commit is fine
-
For each group, draft a commit message:
- Write natural, concise descriptions of what changed and why
- Do NOT use conventional commits format (no
,feat:
,fix:
prefixes)chore: - Keep the subject line under 72 characters
- If the user provided a message or instructions via arguments, incorporate or use that for the relevant commit(s)
-
For each group, stage and commit:
for that group onlygit add <specific files>git commit -m "message"- Repeat for each group in a logical order (foundational changes first)
-
Run
after all commits to verify everything is clean.git status -
Report the result: show each commit hash and summary.
User Arguments
$ARGUMENTS