Smart Logical Commits

VerifiedSafe

Analyzes changes and suggests grouping them into logical commits based on their nature (feature, refactoring, bug fix) and scope. Presents a concise plan table for confirmation and executes commits in batches. Helps avoid messy or oversized commits.

Sby Skills Guide Bot
DevelopmentIntermediate
6/2/2026
Claude Code
#git#commit#changes#logical-grouping

Recommended for

Automated summary

Analyzes current changes and proposes logical, well-structured commits.

Strengths

  • Prevents large or mixed-subject commits.
  • Presents a clear plan before execution, with room for adjustment.
  • Ensures each commit is independently meaningful.

Limitations

  • Does not handle merge conflicts or rebases.
  • Requires manual confirmation of each planned commit.
When to use it

When you have multiple unrelated changes in your working directory and want clean, topic-based commits.

When not to use it

For a single obvious commit, or if you are using a GUI versioning tool.

Security analysis

Safe
Quality score90/100

The skill only uses standard git commands for status, diffing, staging, and committing. It requires user confirmation before any changes are made. There are no destructive or obfuscated actions, no network calls, and no data exfiltration risks.

No concerns found

How this analysis is made

Examples

Analyze and split changes
Analyze my current git changes and help me commit them in logical chunks.
Commit groups by type
I have changes for a bug fix and a new feature. Can you group them into separate commits?
Review and execute plan
Show me a commit plan for my current changes and wait for my approval before executing.

description: Analyze changes and commit in logical chunks allowed-tools: Bash(git *)

Smart Commit

Step 1: Analyze All Changes

!git status !git diff !git diff --cached

Step 2: Plan Logical Commits

Group changes by these dimensions:

  • Feature work vs refactoring vs bug fixes
  • Area/scope (which part of the wiki? config, content, infra, skin, extensions?)
  • Content vs infrastructure
  • Deps/config vs behavior changes
  • Docs vs code

If everything belongs together -> single commit. If changes span multiple concerns -> plan multiple commits.

Step 3: Present the Plan (CONCISE)

Show a brief table - one row per commit group:

| # | Message | Files | |---|---------|-------| | 1 | fix(config): correct upload size limit in LocalSettings | 1 file | | 2 | feat(content): add Poi article draft | 2 files |

Do NOT:

  • List every file individually
  • Explain what each file does
  • Provide detailed breakdowns
  • Add commentary about the changes

Just: commit message + file count. User can ask for details if needed.

Wait for confirmation before proceeding.

Step 4: Execute

For each planned commit:

  1. Stage only the relevant files: git add <files>
  2. For mixed files, use patch staging: git add -p <file>
  3. Commit with the planned message
  4. Verify with git status

After all commits, show git log --oneline -n <count> to confirm.

Rules

  • Never commit unrelated changes together
  • If a commit can't be described in one line, it's too broad--split it
  • Each commit should be independently meaningful
  • Think: "Will this make sense when generating the changelog?"

From the file to a first result

The download contains exactly the content displayed on this page. This copy may differ from the latest version in the source repository.

View the source and supporting files

This download contains SKILL.md only. Any scripts, references, templates and dependencies are not included. Get the required files from the source, preserving their directory structure, before continuing.

1. Download the file

Download SKILL.md

From the root of a test project, save the file as .skill-downloads/smart-logical-commits-mm8o5273/SKILL.md, or use the command below. This folder is for inspecting the skill before installation.

Command for macOS/Linux or WSL: requires a POSIX shell and curl. On Windows without WSL, use the download button and create the folder manually.

mkdir -p '.skill-downloads/smart-logical-commits-mm8o5273' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/smart-logical-commits-mm8o5273/download' --output '.skill-downloads/smart-logical-commits-mm8o5273/SKILL.md.part' && mv '.skill-downloads/smart-logical-commits-mm8o5273/SKILL.md.part' '.skill-downloads/smart-logical-commits-mm8o5273/SKILL.md'

2. Check prerequisites

Read SKILL.md before using it. If it references scripts or external services, inspect them and prepare the required access in your test environment.

Tools declared by the author (check availability in your agent): Bash(git *)

No recognized prerequisites section in this file. This does not mean it is self-contained: libraries, tools and access requirements may be mentioned elsewhere in the content or source repository.

The platforms on this page are catalog indications. The paths below follow tool documentation; they do not prove this skill has been run in those tools. No minimum tool version is confirmed for this listing.

3. Load the skill

This file does not provide a usable name/description header for this native procedure. It remains available to download and inspect; use the manual method below.

Manual method or another tool: attach SKILL.md to a conversation, or open it in an agent that can read files. Include any required supporting resources. No universal folder is recognized by every tool.

4. Try a first task

Use a short, synthetic input: an API endpoint, a small document or an interface brief. In a new conversation, attach the file or give the agent its path, then adapt this request:

Read .skill-downloads/smart-logical-commits-mm8o5273/SKILL.md and apply its instructions to this example: [describe a test input]. Identify any missing files, dependencies or access. Produce the result requested by the skill without inventing data or running unreviewed scripts.

Expected result: output matching the skill instructions, or a precise list of missing prerequisites. A read confirmation alone does not validate a first use. If an external resource is unavailable, that path remains untested.

Related skills