conventional-git-commit-formatter

作者:agent673 次安装尚无点赞更新于 2026年10月29日分类: 其他

它能做什么

Enforce Conventional Commits format for git commits, including project-specific type/scope conventions (plugin name as scope) and squash-vs-new-commit strategy selection.

安装会在你的 AgentsRoom 桌面端打开这个条目。如果还没有安装应用,你会被带到下载页面。

SKILL.md

---
name: conventional-git-commit-formatter
description: Enforce Conventional Commits format for git commits, including project-specific type/scope conventions (plugin name as scope) and squash-vs-new-commit strategy selection.
---

# Formatting Commit

## Current State

- Branch: !`git branch --show-current`
- Status: !`git status --short`
- Recent commits: !`git log --oneline -10`

## Strategy Selection

The goal is a clean, reviewable commit history. Two strategies:

### New Commit (default)

Create a new commit when:
- It's the first commit on the branch
- The change is logically independent from existing commits
- You're building incrementally (model -> API -> UI)

A new commit preserves the narrative of how the work evolved. Each commit should be a self-contained, meaningful unit — something a reviewer can understand in isolation.

### Squash (amend)

Amend the previous commit when:
- The change directly extends or fixes the same work (e.g., addressing review feedback)
- A separate commit would be noise rather than signal (typo fix, forgotten file)

Squashing keeps the history focused on intent rather than process. After amending a pushed commit, use `git push --force-with-lease` — never `--force`.

If the branch has multiple commits that need reorganizing, use the `splitting-commit` skill instead of manual rebase.

## Commit Message Format

```
<type>(<scope>): <description>

[body]

[footer]
```

### Type

Select by the primary intent of the change:

| Type | When to use |
|------|-------------|
| `feat` | New user-facing capability |
| `fix` | Correcting broken behavior |
| `refactor` | Restructuring without behavior change |
| `perf` | Performance improvement |
| `test` | Adding or modifying tests |
| `docs` | Documentation only |
| `style` | Code formatting, whitespace |
| `build` | Build system, dependencies |
| `ci` | CI/CD configuration |
| `chore` | Everything else (version bumps, config) |

When changes span multiple types, pick the dominant one. A feature that includes its tests is `feat`, not `test`.

### Scope

The scope identifies the area of the codebase affected. In this marketplace, use the plugin name:

```
feat(base): add memo command
fix(writing): correct language-editor agent prompt
chore(base): bump version to 0.0.19
```

Omit scope only when the change is truly cross-cutting (e.g., root-level config).

### Subject Line

- Imperative mood, lowercase, no trailing period
- Under 50 characters — if it doesn't fit, the commit may be doing too much
- Describe what the commit does, not how

Good: `add OAuth2 login flow`
Bad: `Added the OAuth2 login flow implementation`

### Body

Optional but valuable for non-trivial changes. Explain why the change was needed — the subject already says what. Wrap at 72 characters.

### Footer

- `Closes #123` to auto-close issues
- `BREAKING CHANGE:` or `!` after type for breaking changes: `feat(api)!: remove legacy endpoint`

## Process

1. Review the injected state above; run `git log --oneline origin/main..HEAD` if you need branch-only commits
2. Decide strategy: new commit or squash
3. Stage specific files — be deliberate about what goes in
4. Compose the message and commit
5. Verify with `git log -1 --stat`

延伸阅读

DevOps 工程师撰稿人前端开发者销售代表后端开发者教练与培训师软件架构师法律顾问QA 工程师财务与行政全栈开发者创意设计师移动开发者研究员安全工程师人事与招聘
项目经理翻译Git 专家数据分析师SEO 专家会计本地化专员公关与传播头脑风暴者运营与物流营销专员客户服务项目助理采购专员社群运营私人助理

下载 AgentsRoom

在一个窗口中运行你所有项目的所有 AI 代理。

下载 AgentsRoom免费

配套应用:随时随地监控你的 Agent

使用 Claude、Codex、Antigravity CLI 或其他 AI 提供商。

获取扩展程序
Chrome Web Store

把 Bug 和需求直接发送到您的公开待办清单。

像读聊天记录一样读代理

每个代理都有角色、头像和一条对话线程,读起来就像聊天应用。

对话视图

AgentsRoom 对话视图:AI 编程代理的工作以聊天线程呈现
多项目管理
多供应商
多代理运行
实时状态
文件差异与提交
移动应用
实时预览
代理团队
浏览器自动化
Backlog 驱动开发
提示词库
技能库
查看所有功能