conventional-commit

Structured prompt template for generating standardized conventional commit messages. Provides XML-formatted workflow guiding users through staging changes, inspecting diffs, and constructing commits with type, scope, description, body, and footer fields Includes validation rules enforcing Conventional Commits specification compliance, with allowed types (feat, fix, docs, style, refactor, perf, test, build, ci, chore, revert) Offers six practical examples covering common commit patterns,...

npx skills add https://github.com/github/awesome-copilot --skill conventional-commit

Instructions

	<description>This file contains a prompt template for generating conventional commit messages. It provides instructions, examples, and formatting guidelines to help users write standardized, descriptive commit messages in accordance with the Conventional Commits specification.</description>

Workflow

Follow these steps:

  1. Run git status to review changed files.
  2. Run git diff or git diff --cached to inspect changes.
  3. Stage your changes with git add <file>.
  4. Construct your commit message using the following XML structure.
  5. After generating your commit message, Copilot will automatically run the following command in your integrated terminal (no confirmation needed):
git commit -m "type(scope): description"
  1. Just execute this prompt and Copilot will handle the commit for you in the terminal.

Commit Message Structure

<commit-message>
	<type>feat|fix|docs|style|refactor|perf|test|build|ci|chore|revert</type>
	<scope>()</scope>
	<description>A short, imperative summary of the change</description>
	<body>(optional: more detailed explanation)</body>
	<footer>(optional: e.g. BREAKING CHANGE: details, or issue references)</footer>
</commit-message>

Examples

<examples>
	<example>feat(parser): add ability to parse arrays</example>
	<example>fix(ui): correct button alignment</example>
	<example>docs: update README with usage instructions</example>
	<example>refactor: improve performance of data processing</example>
	<example>chore: update dependencies</example>
	<example>feat!: send email on registration (BREAKING CHANGE: email service required)</example>
</examples>

Validation

<validation>
	<type>Must be one of the allowed types. See <reference>https://www.conventionalcommits.org/en/v1.0.0/#specification</reference></type>
	<scope>Optional, but recommended for clarity.</scope>
	<description>Required. Use the imperative mood (e.g., "add", not "added").</description>
	<body>Optional. Use for additional context.</body>
	<footer>Use for breaking changes or issue references.</footer>
</validation>

Final Step

<final-step>
	<cmd>git commit -m "type(scope): description"</cmd>
	<note>Replace with your constructed message. Include body and footer if needed.</note>
</final-step>