Safe commit
Create well-formatted git commits following conventional commit standards. Trigger phrases can be "commit my changes", "commit the changes you made".From its SKILL.md
npx -y skills add frankist/ocudu-tools --skill safe-commitAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 3 stars3 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
2.5 KB, as published. Nobody here has run it
Git Commit Skill
Create well-formatted git commits following conventional commit standards.
Usage
/safe-commit [path-or-branch]
The optional argument can be a worktree path or a worktree branch name. The context script resolves it to a worktree path and prints it; if the argument is invalid or the branch has no worktree the script exits with an error.
Context
!${CLAUDE_SKILL_DIR}/scripts/get_context.sh $ARGUMENTS
Behavior
The script already aborts if the current branch is main, and already stages tracked-file changes.
- If the context script printed a
worktree path, use it for all subsequent git commands by prefixing them with-C <worktree-path>. - If the context output contains a
changessection, only untracked files (lines starting with??) need a decision — useAskUserQuestionto show the listed files and ask how to proceed:- Include them — stage those files (
git add) before continuing - Ignore them — continue without staging them
- Abort — stop and let the user handle staging manually; exit with a message listing the files.
- Include them — stage those files (
- Delegate the commit message draft to a dedicated
Exploresubagent (via theAgenttool,model: "haiku") so the diff never enters this conversation's context. Prompt:Read and follow ${CLAUDE_SKILL_DIR}/references/subagent_prompt.md. Worktree path: <path, or "none — use repo root">. - Show the returned message's full text in the
previewfield of the "Looks good" option viaAskUserQuestion, and ask the user if it's correct or needs changes. If changes are requested, edit the message directly or send the subagent back for another draft. - Create the commit. Confirm success from the
git commitoutput's own summary line only.
Commit Format
<type>(<scope>): <description>, optional body, optional footer. Type ∈ feat | fix | docs | style | refactor | test | chore. Example:
feat(auth): add password reset functionality
- Add forgot password form
- Implement email verification flow
- Add password reset endpoint