agentleFS
anxndsgnanxndsgn/skills/conventional-commit/SKILL.md

conventional-commit

Skill1 starsChanged 51 days agoApache-2.0View on GitHub

Create git commits with conventional commit messages and split broad diffs into multiple logical commits when needed. Use when the user asks to commit, or when a diff must be inspected, grouped into logical commits, staged safely, and committed with messages such as `feat(scope): summary` or `fix(scope): summary` instead of creating one unfocused commit.

30 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use shipping-and-launch, doubt-driven-development and 9 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • LLl0k0laDSkill

    shipping-and-launch

    Use when preparing to deploy to production. Use when you need a pre-launch checklist, when setting up monitoring, when planning a staged rollout, or when you need a rollback strategy.

    Also in 3 projects that use this

  • seikaikyoSkill

    doubt-driven-development

    對非平凡決策啟動新鮮 context 對抗審查(找碴不背書),在修正還便宜的時候抓出錯誤方向。適用:高風險改動(production、資安敏感邏輯、不可逆操作)、不熟的程式碼、要宣稱「這樣是安全的 / 可行的」之前。機械性操作與一行修改不適用。

    Also in 3 projects that use this

  • LLl0k0laDSkill

    api-and-interface-design

    Use when designing APIs, module boundaries, or any public interface. Use when creating REST or GraphQL endpoints, defining type contracts between modules, or establishing boundaries between frontend and backend.

    Also in 3 projects that use this

  • HK-hubSkill

    code-simplification

    Simplifies code for clarity. Use when refactoring code for clarity without changing behavior. Use when code works but is harder to read, maintain, or extend than it should be. Use when reviewing code that has accumulated unnecessary complexity.

    Also in 3 projects that use this

  • guaderramaSkill

    spec-driven-development

    Generate comprehensive specifications for software projects using spec-driven development methodology. Leverages Bright Data MCP tools to research documentation, analyze competitor implementations, gather real-world examples, and enrich specs with architectural insights. Use when user requests specifications, technical plans, project specs, or architecture documentation.

    Also in 3 projects that use this

  • MicrosoftSkill

    api-design

    Guide for designing and documenting RESTful APIs. Use when asked to design an API, create endpoints, or document an API.

    Also in 3 projects that use this

  • +1 more from LLl0k0laD

The file

Show its rules and text

We split this skill into the rules it gives an agent

20 rules. 0 are common, 18 are distinctive, and 2 are very specific to this project.

  • 0

    Common

    Most of the 27 edited versions we read keep these.

  • 18

    Distinctive

    This author's own choices. Worth a look.

  • 2

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Run the repo's formatter first, if it declares one (package scripts, CI config), so formatting noise doesn't land in the commits.

    line 20
  2. Distinctive:

    Verify the staged diff with git diff --cached --stat and git diff --cached.

    line 28
  3. Distinctive:

    Keep changes together only when they serve the same intent.

    line 34
  4. Distinctive:

    Keep code and tests together when the tests validate that same behavior change.

    line 36
  5. Distinctive:

    Keep generated files with their source change when they are required for a valid commit.

    line 37
  6. Distinctive:

    Prefer multiple small commits over one large mixed commit.

    line 39
  7. Distinctive:

    Use these default grouping heuristics when there are many changes:

    line 41
  8. Distinctive:

    If a single file contains unrelated edits and they cannot be separated safely with non-destructive staging, stop and tell the user which …

    line 50
  9. Distinctive:

    Use lowercase commit types.

    line 62
  10. Distinctive:

    Keep the summary in imperative mood.

    line 63
  11. Distinctive:

    Keep the subject line concise and without a trailing period.

    line 64
  12. Very specific:

    Add ! only for breaking changes.

    line 65
  13. Distinctive:

    Add a body only when rationale, context, or breaking-change guidance matters.

    line 67
  14. Very specific:

    Prefer git add <paths...> when a full file belongs to one commit.

    line 85
  15. Distinctive:

    Use partial staging only when necessary to separate unrelated edits inside the same file.

    line 86
  16. Distinctive:

    Do not stage unrelated local changes that were not part of the requested work.

    line 87
  17. Distinctive:

    Before committing, confirm the staged snapshot matches the planned message.

    line 88
  18. Distinctive:

    After each commit, re-run git status --short so the next commit starts from the remaining diff.

    line 89
  19. Distinctive:

    When using this skill, report the commit plan before making commits whenever the grouping is non-trivial.

    line 93
  20. Distinctive:

    If the repository is already dirty with unrelated changes, preserve them and commit only the requested scope.

    line 99

“Common” is measured: kept by at least 6 in 10 of the 27 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Conventional Commit

Overview

Inspect the current git worktree, group related changes into the smallest reasonable set of commits, and write conventional commit messages that describe intent clearly. Prefer one commit per logical change; when the diff spans multiple concerns, split it into separate commits by scope or change type.

Workflow

  1. Run the repo's formatter first, if it declares one (package scripts, CI config), so formatting noise doesn't land in the commits.
  2. Inspect the worktree with git status --short, git diff --stat, and targeted git diff reads.
  3. Build a short commit plan before staging anything. For each planned commit, identify:
    • the files or hunks that belong together
    • the conventional commit type
    • the optional scope
    • the one-line summary
  4. Stage one logical group at a time. Prefer path-based staging such as git add path/to/file.
  5. Verify the staged diff with git diff --cached --stat and git diff --cached.
  6. Create the commit.
  7. Repeat for the remaining groups until the intended changes are committed.

Grouping Rules

  • Keep changes together only when they serve the same intent.
  • Split commits by subsystem or concern when the diff mixes unrelated work.
  • Keep code and tests together when the tests validate that same behavior change.
  • Keep generated files with their source change when they are required for a valid commit.
  • Separate formatting-only, dependency-only, docs-only, or cleanup-only changes unless they are mechanically required by the main change.
  • Prefer multiple small commits over one large mixed commit.

Use these default grouping heuristics when there are many changes:

  • feat or fix changes in the application code
  • refactor changes that do not alter behavior
  • test additions or repairs that are independent from feature work
  • docs updates
  • chore, build, or ci changes
  • migrations or schema updates, paired with the code that depends on them

If a single file contains unrelated edits and they cannot be separated safely with non-destructive staging, stop and tell the user which file is mixed instead of guessing.

Conventional Commit Format

Use:

type(scope): summary

Rules:

  • Use lowercase commit types.
  • Keep the summary in imperative mood.
  • Keep the subject line concise and without a trailing period.
  • Add ! only for breaking changes.
  • Omit scope when it does not add clarity.
  • Add a body only when rationale, context, or breaking-change guidance matters.

Preferred types:

  • feat: user-facing behavior or new capability
  • fix: bug fix
  • refactor: internal restructuring without behavior change
  • docs: documentation only
  • test: test-only changes
  • chore: maintenance work
  • build: build tooling or dependencies
  • ci: automation or pipeline changes
  • perf: performance improvement
  • style: formatting-only changes
  • revert: revert a previous commit

Staging Guidance

  • Prefer git add <paths...> when a full file belongs to one commit.
  • Use partial staging only when necessary to separate unrelated edits inside the same file.
  • Do not stage unrelated local changes that were not part of the requested work.
  • Before committing, confirm the staged snapshot matches the planned message.
  • After each commit, re-run git status --short so the next commit starts from the remaining diff.

Output Expectations

When using this skill, report the commit plan before making commits whenever the grouping is non-trivial. For each planned commit, include:

  • commit message
  • files or areas included
  • why the group is logically separate

If the repository is already dirty with unrelated changes, preserve them and commit only the requested scope.

Examples

  • feat(auth): add email sign-in card
  • fix(theme): persist selected color mode
  • refactor(routes): split landing page sections
  • docs(readme): update local setup steps
  • chore(repo): add commit skill

For a large mixed diff, prefer a sequence such as:

  1. feat(auth): add login form
  2. test(auth): cover login form validation
  3. docs(auth): document local auth setup

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.