# Git Commit

> Draft a Conventional Commit message from the currently staged Git changes. Use when the user wants a commit message suggestion, asks to summarize staged work into a commit, or needs a Conventional Commit subject/body without actually running `git commit`. This skill must only inspect staged changes and must not stage files, inspect unstaged work, or create the commit.

- **Type:** Skill
- **Install:** `agentstack add skill-junerdd-skills-git-commit`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [JUNERDD](https://agentstack.voostack.com/s/junerdd)
- **Installs:** 0
- **Category:** [Agent Skills](https://agentstack.voostack.com/c/agent-skills)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [JUNERDD](https://github.com/JUNERDD)
- **Source:** https://github.com/JUNERDD/skills/tree/main/skills/git-commit
- **Website:** https://junerdd-skills.vercel.app

## Install

```sh
agentstack add skill-junerdd-skills-git-commit
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# Git Commit

Draft a Conventional Commit message from the staged diff only. Return the proposed message text, but never run `git commit`.

## Workflow

1. Check whether there are staged changes.

```bash
git status --short
git diff --cached --stat
git diff --cached
```

If nothing is staged, stop and tell the user to stage the intended files first. Do not fall back to `git diff`.

2. Build a deep, recursive understanding of the staged code changes before classifying them.

- Trace each staged hunk through the surrounding code, tests, configuration, docs, API contracts, and generated artifacts when that context is necessary to understand the actual change.
- Keep the analysis grounded in `git diff --cached`; do not inspect unstaged work to fill gaps.
- If the staged diff cannot support a confident message, say what is unclear instead of guessing.

3. Infer the commit type from the staged diff.

- `feat`: new user-facing capability
- `fix`: bug fix or regression fix
- `docs`: documentation-only change
- `style`: formatting or non-behavioral style change
- `refactor`: internal code restructuring without behavior change
- `perf`: performance improvement
- `test`: test-only addition or update
- `build`: build tooling or dependency change
- `ci`: CI workflow or automation change
- `chore`: maintenance work that does not fit the types above

4. Infer the scope only when it is obvious from the staged paths or module names.

- Good scopes are short and specific, such as `auth`, `search`, `web`, or `extension`.
- Omit the scope when it is ambiguous.

5. Draft the message.

- Use the Conventional Commit subject format: `[optional scope]: `
- Keep the subject in imperative mood and present tense.
- Keep the subject under 72 characters.
- Keep the description factual and grounded in the staged diff.
- Add a concise body description when it is necessary to clarify the staged change beyond the subject.
- Do not invent motivations, side effects, or files that are not visible in the staged changes.
- Add `!` or a `BREAKING CHANGE:` footer only when the staged diff clearly shows a breaking change.
- Do not add an emoji prefix unless the user explicitly asks for one.

## Output Rules

- Default to one best commit message, not multiple options.
- Output only the final commit message text.
- Do not prefix the answer with explanations, bullets, labels, or `git commit -m`.
- Do not wrap the message in quotes or code fences unless the user asks.
- Add a body description or footer only when it materially helps explain the change, breaking impact, migration step, or issue reference.

Example single-line output:

`fix(auth): handle expired session refresh`

## Safety

- Never run `git add`, `git restore`, `git reset`, `git commit`, or `git commit --amend`.
- Never inspect unstaged changes with `git diff` or other working tree fallbacks.
- If the staged changes mix unrelated concerns, tell the user to split the commit instead of forcing one misleading message.
- If staged paths or diff content suggest secrets, such as `.env`, credentials, or private keys, warn the user before proposing a message.

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [JUNERDD](https://github.com/JUNERDD)
- **Source:** [JUNERDD/skills](https://github.com/JUNERDD/skills)
- **License:** MIT
- **Homepage:** https://junerdd-skills.vercel.app

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** yes
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-junerdd-skills-git-commit
- Seller: https://agentstack.voostack.com/s/junerdd
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
