workflow-smart-commit

Analyzes staged git changes and generates conventional commit messages with type and scope.

138|5|Updated Sep 19, 2024
One-click install
npx skills add https://github.com/macalbert/envilder --skill workflow-smart-commit-macalbert
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: workflow-smart-commit
Source: https://github.com/macalbert/envilder/tree/main/.github/skills/workflow-smart-commit
Command: npx skills add https://github.com/macalbert/envilder --skill workflow-smart-commit-macalbert

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Writing consistent, well-formatted commit messages is tedious and often inconsistent across a team. This Skill inspects your staged changes and produces a conventional commit message that follows project conventions, removing guesswork about type, scope, and phrasing. ## Core Features & Use Cases - Diff Analysis: Reads staged changes via git diff --cached to identify the dominant change type and scope. - Conventional Commit Format: Generates messages following the type(scope): description format with rules for imperative mood, length limits, and breaking-change markers. - Project-Specific Scopes: Ships a scope reference table (cli, gha, ssm, keyvault, sdk-node, and more) with selection heuristics for multi-area changes. - Use Case: After staging a bug fix in the AWS SSM provider, ask for a commit and receive a message like fix(ssm): handle throttling on GetParameter calls for approval before committing. ## Quick Start Stage your changes with git add, then ask the assistant to analyze the staged changes and create a conventional commit message.

Frequently Asked Questions about workflow-smart-commit

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I generate a conventional commit message from staged changes?

Stage your changes with git add, then invoke the skill. It runs git diff --cached to analyze the diff, identifies the dominant change type and scope, and proposes a conventional commit message for your approval before committing.

What commit types does the conventional commit format support?

The supported types are feat, fix, refactor, test, docs, chore, style, and perf. Each maps to a change category, such as feat for new features, fix for bug fixes, and chore for build or tooling updates.

How is the commit scope chosen when changes span multiple areas?

The skill uses scope selection heuristics from its reference file: single-SDK changes use the matching sdk-* scope, single-layer changes use that layer, CLI plus core changes use cli, and multi-SDK changes use the sdk scope.

What happens if I run the commit skill with nothing staged?

The skill tells you to stage changes first and does not create a commit. It never commits unstaged changes and never uses --no-verify to bypass git hooks.

How are breaking changes marked in commit messages?

Breaking changes add an exclamation mark after the scope, for example feat(cli)!: remove --legacy flag. The description stays in imperative mood, lowercase, without a trailing period, and within 72 characters.