Install
$ agentstack add skill-graysurf-agent-kit-semantic-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 No
- ✓ 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
Semantic Commit
Contract
Prereqs:
- Run inside a git work tree (or pass
--repoto target one explicitly). gitavailable onPATH.semantic-commitavailable onPATH(install viabrew install nils-cli).git-scopeis optional; default summary mode falls back togit showwhen unavailable.
Inputs:
- Staged changes (
git add ...) forsemantic-commit staged-context; the staged set may come from the user, an existing index state, or
agent-selected pre-skill staging.
- Prepared commit message via stdin (preferred),
--message, or--message-fileforsemantic-commit commit. - Optional target repository via
--repo.
Outputs:
semantic-commit staged-context: prints staged change context inbundle|json|patchformat.semantic-commit commit: validates message, optionally commits staged changes, and prints commit summary unless disabled.- Optional recovery file from
--message-out.
Exit codes:
0: success (including--validate-only,--dry-run, and help output).1: usage or operational failure (invalid args, git command failure, hooks/conflicts, bad repo path).2: no staged changes for commands that require staged input.3: commit message missing/empty.4: commit message validation failed.5: required dependency missing (for example,git).
Failure modes:
- Not in a git repo and no valid
--reposupplied. - No staged changes (
exit 2). - No message provided in automation mode (
exit 3). - Message format invalid (
exit 4). git commitfailure (hooks/conflicts/signing/repo state) (exit 1).- Summary helper unavailable (
git-scopemissing): warning emitted, fallback togit show.
Setup
- Run inside the target git repo, or use
--repoto avoid shellcwdswitching. - Use only the entrypoints below; they are the stable interface for agents.
Use this skill for:
- User-staged or pre-existing staged changes.
- Agent-selected task changes after the agent has inspected the working tree and staged only the intended paths.
Use semantic-commit-autostage instead when the full working tree delta is intentionally in scope.
Commands (only entrypoints)
- Get staged context:
semantic-commit staged-context [--format ] [--json] [--repo ]- Commit / validate prepared message:
semantic-commit commit [--message |--message-file ] [options]- Useful options:
--message-out,--summary,--no-summary,--validate-only,--dry-run,--auto-fix,
--automation, --repo, --no-progress, --quiet
--auto-fix(opt-in) normalizes machine-fixable issues before validation: wraps body lines at 100 chars (whitespace break preferred,
codepoint hard-break for CJK / unbreakable runs), lowercases the header type / (scope), uppercases the first char of - bullets, inserts a missing blank line between header and body, and drops empty lines inside the body. Does not truncate over-length headers or repair structural header errors; those still exit 4.
- Do not call internal helpers directly; treat these commands as the only contract surface.
Workflow
Rules:
- Never run
git addin this skill; commit only what the user has already staged. - If the agent must select this task's changes, inspect
git status/diff and complete selective staging before entering this skill. - Build message intent from
semantic-commit staged-contextoutput only. - Prefer explicit
--repowhen operating from another working directory.
Recommended flow:
- Run
semantic-commit staged-context --format bundle(or--jsonif your parser expects JSON only). - Draft the semantic message (
type(scope): subject+ optional bullet body). - Run
semantic-commit commit --validate-only ...before committing to catch formatting errors early. - Optionally run
semantic-commit commit --dry-run ...for staged/message sanity checks without creating a commit. - Run
semantic-commit commit ...to finalize. - Capture and report
exit_code,stdout, andstderr.
Follow Semantic Commit format
Use one of:
type(scope): subjecttype: subject
Rules:
- Type must be lowercase.
- Header length must be
<= 100characters. - If body exists: line 2 must be blank, and every body line must start with
-followed by an uppercase letter. - Each body line must be
<= 100characters.
Error handling matrix
exit 2(no staged changes): stop and ask for staging.exit 3(message missing/empty): provide/repair--messageor--message-file.exit 4(validation failed): fix header/body format first; do not commit. For body line-length, bullet casing, header type/scope casing,
blank-separator, or empty-body-line failures, retrying with --auto-fix normalizes the message in-place. Over-length headers and structural header errors are not auto-fixable and must be rewritten by hand.
exit 1from commit: treat as operational failure and report stderr verbatim.git-scopewarning only: not fatal unless summary is explicitly required to begit-scope.
Example
semantic-commit staged-context --format json
semantic-commit commit \
--message-file /tmp/commit-msg.txt \
--validate-only
semantic-commit commit \
--message-file /tmp/commit-msg.txt \
--summary git-show
Output and clarification rules
- On failure: include command, exit code, and stderr; do not claim success.
- On success: include command output (commit summary) in a code block.
- If staged context cannot disambiguate type/scope/subject, ask one concise clarification question before committing.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: graysurf
- Source: graysurf/agent-kit
- 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.