Install
$ agentstack add skill-shoichiaizawa-skills-commit ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ● Environment & secrets Used
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
/commit
Context
- User hint: $ARGUMENTS
- Pre-flight: !
bash ${CLAUDE_SKILL_DIR}/scripts/pre-flight.sh - Current branch: !
git branch --show-current 2>/dev/null || echo "N/A" - Change analysis: !
bash ${CLAUDE_SKILL_DIR}/scripts/analyse-changes.sh 2>/dev/null || echo "N/A" - Full diff: !
git diff HEAD 2>/dev/null || echo "N/A" - Recent commits: !
git log --oneline -10 2>/dev/null || echo "N/A" - Effort level: !
bash ${CLAUDE_SKILL_DIR}/scripts/effort-level.sh
Instructions
Not a git repository
If the git check above shows "NOTAGIT_REPO":
- Tell the user this directory is not a git repository.
- Run
git initto initialise one. - Stage all files by name (review the directory contents first — never use
git add -A or git add .). Skip files that look like secrets or build artefacts (.env, node_modules/, dist/, etc.).
- Create the initial commit with the message
chore: initial commitplus the
Co-Authored-By trailer (see references/message-format.md).
- Run
git statusto confirm success, then stop.
No changes detected
If the change analysis shows "No changes detected", tell the user and stop.
If the user hint is non-empty, use it to guide which files to stage and what the commit message should convey. The hint may describe the scope ("the /parallel changes"), the intent ("fix typo in README"), or both. It is a hint, not a literal commit message — still apply Conventional Commits format and the atomicity rules below.
Step 1 — Stage and verify atomicity
Use the change analysis above (directory groups and atomicity signal) as the starting point for your atomicity assessment.
- Review the directory grouping and the full diff to determine whether changes
form one or more logical units of work. If a user hint is present, use it to identify which subset of changes to stage.
- The "and" test: draft a one-line summary. If it contains "and" connecting
two independent actions (e.g., "improve X and enable Y"), it's two commits — split them. A shared topic or session does not make unrelated changes atomic.
- If everything is a single logical change: stage all modified files by name
(e.g., git add file1 file2) and proceed.
- If changes should be split into multiple commits: explain the split,
listing which files/hunks belong to each commit. Stage the first logical unit (use git add or git add -p for partial staging) and proceed with that commit. Then continue to the next unit — repeat steps 1–3 for each remaining unit until all changes are committed.
- Never use
git add -Aorgit add .— always stage files by name to
avoid accidentally including untracked files.
Step 2 — Compose commit message
Read references/message-format.md (in this skill's directory) for the full Conventional Commits format, type table, and Co-Authored-By trailer spec.
Draft the commit message following that format. Use the recent commits above for style consistency.
- Scope: derive from the directory grouping in the change analysis. If
changed files share a common directory or component, use it as scope. Omit scope only when changes are genuinely cross-cutting or all files are in the repository root with no directory structure.
- Effort level: use the effort level from context above. Include it in the
Co-Authored-By trailer unless it shows N/A.
Step 3 — Validate and commit
- Validate the draft message before committing:
`` cat EOF ``
- If validation fails, fix the issues and re-validate.
- Stage files and create the commit using a HEREDOC for correct formatting.
- Run
git statusafter committing to confirm success.
Safety rules
- Never amend a previous commit unless the user explicitly asks for
--amend. - Never skip hooks (
--no-verify) unless the user explicitly asks. - Never force-push unless the user explicitly asks — and warn before doing so.
- If a pre-commit hook fails: fix the issue, re-stage, and create a NEW
commit. Do not amend — the failed commit never happened, so amending would modify the wrong commit.
Notes
- This skill is project-agnostic — it works in any repository.
- Projects can override this by creating
.claude/skills/commit/SKILL.mdat
project level.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: shoichiaizawa
- Source: shoichiaizawa/skills
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.