Skip to main content

commit

Organize and commit changes into logical thematic groups following conventional commit format. Use when the user says 'commit this', has many uncommitted changes, or wants to create well-structured commits.

来源信息

仓库
greenpill-dev-guild/coop
最近来源活动
2026年3月24日 11:14
检测到的 SKILL.md 语言
英语
星标
3
Forks
1

安装方式

默认使用会先检查来源的 Prompt;你也可以切换为直接命令,或下载本地副本。

检查来源文件

决定是否安装前,请先阅读 SKILL.md,以及 SkillsMP 当前展示的配套文件。

正在显示 SKILL.md

SKILL.md
来源说明 · 只读预览
name
commit
description
Organize and commit changes into logical thematic groups following conventional commit format. Use when the user says 'commit this', has many uncommitted changes, or wants to create well-structured commits.
disable-model-invocation
true
argument-hint
[--all | --staged | message]
user-invocable
true
allowed-tools
Bash, Read, Glob, Grep
# Commit Skill Organizes uncommitted changes into logical, well-structured conventional commits. ## Workflow ### Phase 1: Inventory 1. Run `git status` to see all staged, unstaged, and untracked changes 2. Run `git diff --stat` for unstaged changes and `git diff --cached --stat` for staged 3. Categorize each changed file by: - **Package**: shared, app, extension, api, docs, claude (config), root - **Type**: feat, fix, refactor, chore, docs, test, perf, ci - **Concern**: What logical unit of work does this belong to? ### Phase 2: Group into Commits Group changes into logical thematic commits. Rules: - Each commit should be a single coherent unit of work - Respect dependency order: shared changes before app/extension changes - Never mix unrelated concerns in one commit - Prefer fewer, well-scoped commits over many tiny ones - Config/tooling changes (`.claude/`, `CLAUDE.md`, scripts) go in their own commit Present the proposed grouping to the user: ``` Proposed commits (in order): 1. feat(shared): add JSDoc to coop module public exports - packages/shared/src/modules/coop/flows.ts - packages/shared/src/modules/coop/sync.ts 2. chore(claude): add visual verification hook and debug ladder - .claude/settings.json - .claude/skills/debug/SKILL.md - .claude/agents/cracked-coder.md 3. test(shared): add reusable test fixtures - packages/shared/src/__tests__/fixtures/index.ts Proceed? [y/n/edit] ``` **Wait for user approval before creating any commits.** ### Phase 3: Pre-commit Validation Before each commit: 1. Stage only the files for that commit (`git add <specific files>`) 2. Run `bun format` on staged files 3. Run `bun lint` to check for issues 4. If lint fails, fix and re-stage ### Phase 4: Create Commits For each approved group: 1. `git add <files>` 2. `git commit -m "type(scope): description"` using conventional commit format 3. Verify commit succeeded ### Phase 5: Summary After all commits: 1. Run `git log --oneline -N` (where N = number of new commits) 2. Report what was committed 3. **Never push** unless the user explicitly asks ## Commit Message Format ``` type(scope): concise description Optional body with context if the change is non-obvious. ``` - **Types**: feat, fix, refactor, chore, docs, test, perf, ci - **Scopes**: shared, extension, app, api, docs, claude, root - Keep subject line under 72 characters - Body explains "why", not "what" ## Modes - `--all`: Include all changes (staged + unstaged + untracked) - `--staged`: Only commit what's already staged - No flag: Interactive — show all changes, let user pick ## Safety Rules - Never push to remote unless explicitly asked - Never force-push - Never amend commits without asking - Never commit `.env`, `.env.local`, or credential files - Always present grouping for approval before committing - If changes span shared + downstream, commit shared first
在 GitHub 查看