Skip to content
Back to skills

Git Commit Staged

ASecurity

Generate a Conventional Commits-formatted commit message from only the staged changes, leaving unstaged changes untouched. Use when the user says "commit staged", "commit staged changes", or wants to commit only what is already staged.

  • 10 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 6, 2026
testingsqlgit

Security analysis

A100/100

Scanned October 6, 2026

npx -y skills add tomzx/agents --skill git-commit-staged --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Git Commit Staged?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Git Commit Staged
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/tomzx-git-commit-staged/badge)](https://www.skillsdirectory.com/skills/tomzx-git-commit-staged)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: git-commit-staged
description: Generate a Conventional Commits-formatted commit message from only the staged changes, leaving unstaged changes untouched. Use when the user says "commit staged", "commit staged changes", or wants to commit only what is already staged.
---

# Generate Git Commit from Staged Changes

Generates a Conventional Commits-formatted commit message from only the staged changes, leaving unstaged changes untouched.

## Prerequisites

- `git` repository with at least one staged change (`git add` already run)
- Working directory is the root of the repository

## Steps

1. Review staged changes only:
   ```
   git diff --staged
   ```
2. Draft a commit message following the format below.
3. Commit the staged changes:
   ```
   git commit -m "<type>(<scope>): <description>"
   ```

## Commit Message Format

```
<type>(<scope>): <short description under 72 chars>

<optional body explaining what and why, not how>
```

**Types:** `feat`, `fix`, `docs`, `style`, `refactor`, `test`, `chore`

**Rules:**
- Use imperative mood: "Add feature" not "Added feature"
- Keep subject line under 72 characters
- Separate subject from body with a blank line when a body is included
- Body explains *what* and *why*, not *how*

## Example Usage

**Scenario 1: Partial commit - only test changes staged**
Staged: `tests/test_auth.py`. Unstaged: `src/auth.py`.
Commit: `test(auth): add unit tests for JWT validation`

**Scenario 2: Config change staged**
Staged: `pyproject.toml` adding a new dependency.
Commit: `chore(deps): add structlog dependency`

**Scenario 3: Multi-file feature staged**
Staged: `src/payments.py` and `migrations/0042_payments.sql`.
```
feat(payments): add Stripe payment processing

Introduces PaymentService class and corresponding DB migration
for the payments table.
```

## Useful Commands Reference

| Command | Description |
|---|---|
| `git diff --staged` | Show only staged changes |
| `git status` | Show staged vs unstaged file status |
| `git commit -m "<message>"` | Commit staged changes with a message |
| `git log --oneline -10` | Show recent commits for style reference |

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…