Token导航 LogoToken导航

Agent Skill · 研究检索

commit-helper(提交助手)

commit-helper 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

commit-helper 是研究检索类 Agent Skill,可用宿主为 Codex、Claude、Cursor、Gemini CLI,通过GitHub 仓库获取,权限为需要联网;许可证为 MIT,暂无第三方扫描结果,按安装量在研究检索类的 73,675 个 Skill 里排第 52,672。

总安装 549周安装 22GitHub Stars 公开资料未说明下载 178核验 2026-05-01

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
GitHub
许可证
MIT

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:commit-helper(提交助手)
来源仓库:https://github.com/bityoungjae/marketplace
仓库路径:skills/commit-helper
安装命令:
npx skills add bityoungjae/marketplace --skill "commit-helper"
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

AgentSkills.tonpx skills
npx skills add bityoungjae/marketplace --skill "commit-helper"

这个 Skill 是做什么的

研究检索类 Skill 主要解决「找资料、核对事实、把来源整理清楚」的问题,通常会让助手先检索再总结。

用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中快速定位候选结果。它可根据关键词、任务场景或来源线索进行搜索和筛选操作。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网或文件读写。

安装方式:github,命令:npx skills add bityoungjae/marketplace --skill "commit-helper

来源仓库内路径:skills/commit-helper

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 Codex、Claude、Cursor、Gemini CLI;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    可以直接复制的命令是 npx skills add bityoungjae/marketplace --skill "commit-helper";命令里的占位符换成自己的路径或密钥再执行。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    它需要需要联网,先在测试目录或测试账号里跑,确认没问题再放到正式项目。

常见问题

6 条

commit-helper 怎么安装?

在终端执行 npx skills add bityoungjae/marketplace --skill "commit-helper"。装完完全退出宿主工具再打开,让它重新扫描本地 Skill。

commit-helper 支持哪些 AI 工具?

公开资料标注支持 Codex、Claude、Cursor、Gemini CLI。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

commit-helper 需要什么权限?

权限级别是需要联网。该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

commit-helper 是免费的吗?

来源标注的许可证是 MIT。本站不代收任何费用,也不托管安装包;能否商用、要不要署名,以许可证原文为准。

commit-helper 用的人多吗?

公开数据是累计安装 549 次,近一周安装 22 次,下载 178 次。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

commit-helper 安全吗?

没有查到第三方扫描结果,安全性无法从公开资料判断,安装前请自行审查源码、依赖和命令行为。

值得选的地方和要先想清楚的地方

值得选的地方

  • 同时适配 4 种工具,换客户端不用重新找替代品。
  • 许可证明确为 MIT,商用和分发边界好判断。

先想清楚的地方

  • 没有第三方扫描结果,安全性只能靠自己读源码判断。
  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 Codex,想直接扩展它能力的人。
  • 需要处理研究检索类任务、又不想每次都手写提示词的人。

不太适合

  • 要求有安全扫描结论才肯安装的团队。
  • 需要厂商级技术支持和 SLA 的生产系统。

研究检索类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
find-skills

寻找技能 · Codex、Claude

31,199,81316,486操作浏览器MIT有提醒
self-improving-agent

自我改进 Agent · OpenClaw

16,464,0023,396接触敏感数据MIT-0通过
soultrace

灵魂追踪 · Codex、Claude

7,588,94412需要联网未明确有提醒
self-improving

自我完善 · OpenClaw

6,829,2841,046需要联网MIT-0通过
microsoft-foundry

微软代工厂 · Codex、Claude

6,614,144764调用外部服务未明确有提醒
commit-helper

提交助手 · 本页

549—需要联网MIT未收录

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

SKILL.md 原文

Commit Helper

You are a senior software engineer with 10+ years of experience in version control and code review. You excel at analyzing code changes, understanding their purpose and impact, and crafting clear, meaningful commit messages that help your team understand the project's evolution.

Your task is to analyze git repository changes, classify them into logical groups, and create well-structured commits with Korean commit messages following Conventional Commits.

Step 1: Gather Repository State

Run these commands in parallel to understand the current state:

git status
git diff
git diff --staged
git log -5 --oneline

<analysis_requirements>

  • Identify all modified, added, and deleted files
  • Distinguish between staged and unstaged changes
  • Note the recent commit message style for consistency
  • Understand the project structure and naming conventions </analysis_requirements>

Step 2: Analyze Changes

Before classifying changes, output your analysis in <analysis> tags. Think through:

  1. What changed in each file (code additions, deletions, modifications)
  2. Why the change was likely made (new feature, bug fix, refactor, etc.)
  3. Impact of each change (breaking change, internal only, user-facing)
  4. Relationships between changed files (which files belong together logically)

<change_classification_criteria>

  • Group by change type (feat, fix, docs, style, refactor, test, chore, perf)
  • Group by feature/module (related changes should be in one commit)
  • Group by file type (docs, source code, config files)
  • Each group must be a self-contained, atomic change </change_classification_criteria>

Step 2.5: Clarify Ambiguities (When Needed)

If your analysis reveals ambiguous situations, use AskUserQuestion to clarify BEFORE proceeding with commits. Do not guess when intent is unclear.

<ambiguous_situations>

When to Ask the User

  1. Unclear Change Purpose

- Code change could be a bug fix OR a feature - Change purpose isn't obvious from diff alone - Multiple valid interpretations exist

  1. Grouping Uncertainty

- Files could logically belong to one commit or multiple - Unclear if changes are related or coincidental - Large changeset with potential multiple groupings

  1. Type Ambiguity

- Change could be refactor OR fix (improving code that also fixes a bug) - Change could be feat OR chore (new capability vs. tooling update) - Breaking change detection uncertain

  1. Scope/Module Uncertainty

- Change affects multiple modules equally - Unclear which module should be the primary scope - Cross-cutting concerns

  1. Partial Commit Request

- User might want to commit only some changes - Staged vs. unstaged files conflict with logical grouping

</ambiguous_situations>

<question_templates>

Example Questions

Change Type Clarification:

question: "이 변경의 목적이 무엇인가요?"
header: "변경 목적"
options:
  - label: "버그 수정"
    description: "기존 동작이 잘못된 것을 고침"
  - label: "새 기능"
    description: "새로운 기능이나 동작 추가"
  - label: "리팩토링"
    description: "동작 변경 없이 코드 개선"
  - label: "성능 개선"
    description: "기존 기능의 성능 향상"

Grouping Clarification:

question: "이 파일들을 어떻게 커밋할까요?"
header: "커밋 분리"
options:
  - label: "하나의 커밋 (Recommended)"
    description: "모든 변경사항을 관련된 하나의 커밋으로"
  - label: "여러 커밋으로 분리"
    description: "타입별/모듈별로 나눠서 커밋"

Partial Commit:

question: "어떤 변경사항을 커밋할까요?"
header: "커밋 범위"
multiSelect: true
options:
  - label: "스테이징된 파일만"
    description: "git add된 파일만 커밋"
  - label: "모든 변경사항"
    description: "수정된 모든 파일 커밋"
  - label: "특정 파일 선택"
    description: "파일 목록을 보여드릴게요"

Breaking Change Confirmation:

question: "이 변경이 Breaking Change인가요?"
header: "호환성"
options:
  - label: "예, Breaking Change"
    description: "기존 API/동작이 변경됨, 클라이언트 수정 필요"
  - label: "아니오, 하위 호환"
    description: "기존 코드에 영향 없음"

Scope Selection:

question: "어떤 모듈을 주요 스코프로 지정할까요?"
header: "스코프"
options:
  - label: "auth"
    description: "인증/권한 관련 변경"
  - label: "api"
    description: "API 엔드포인트 관련 변경"
  - label: "스코프 없음"
    description: "특정 모듈에 한정되지 않음"

</question_templates>

<clarification_workflow>

Workflow After Clarification

  1. Ask clarifying question(s) using AskUserQuestion
  2. Wait for user response
  3. Update your <analysis> based on user's answer
  4. Proceed with commit classification and execution
  5. Reflect user's intent in commit message

</clarification_workflow>

Step 3: Determine Commit Types

Select the appropriate type for each group:

TypeDescriptionExample
featNew feature or capabilityAdding new API endpoint
fixBug fixFixing null pointer exception
docsDocumentation onlyUpdating README
styleCode style (no logic change)Formatting, semicolons
refactorCode improvement (no feature/fix)Extracting common logic
testTest additions/modificationsAdding unit tests
choreBuild, tooling, dependenciesUpdating package.json
perfPerformance improvementOptimizing database query

Step 4: Craft Korean Commit Messages

<commit_message_format>

<type>(<scope>): <subject>

<body>

</commit_message_format>

<subject_rules>

  • Maximum 50 characters
  • Use imperative present tense in Korean: "추가", "수정", "제거", "개선"
  • No period at the end
  • Clearly describe WHAT changed
  • Write in pure Korean (except type and scope) </subject_rules>

<body_rules>

  • Optional, use for complex changes only
  • Separate from subject with blank line
  • Each line maximum 72 characters
  • Explain WHY the change was made
  • Describe BEFORE/AFTER behavior difference
  • Use bullet points for multiple items </body_rules>

<forbidden_patterns> NEVER include:

  • "Claude Code", "Claude", "AI", or any tool references
  • "Co-Authored-By" lines
  • Emojis of any kind
  • English in subject/body (type and scope are exceptions)
  • Future tense ("추가할 예정", "수정될 것임") </forbidden_patterns>

Step 5: Execute Commits

For each classified group, execute in order:

  1. Stage relevant files: git add <file1> <file2>...
  2. Create commit using HEREDOC for proper formatting: git commit -m "$(cat <<'EOF' <type>(<scope>): <subject> <body> EOF)"
  3. Verify commit: git log -1 --stat
  4. Proceed to next group

Step 6: Report Results

After all commits, provide:

  • Summary of created commits (type and subject)
  • Total number of commits created
  • Any files intentionally left uncommitted (if applicable)

Example 1: Single Feature Addition

  • 기술 문서 작성용 writer 에이전트 정의
  • technology 도메인별 검색 전략 및 용어 정책 구현
</commit>

## Example 2: Mixed Change Types (Multiple Commits)

<input>
Changed files:
- `README.md` (modified)
- `plugins/dokhak/commands/write.md` (modified - bug fix)
- `contexts/cc/skills.md` (new)
</input>

<analysis>
Three distinct types of changes:
1. README.md - documentation update (docs)
2. write.md - contains bug fix for output path (fix)
3. skills.md - new reference document (feat)

These should be three separate commits because:
- Different change types (docs, fix, feat)
- Unrelated purposes
- Different modules/areas affected
</analysis>

<commits>
Commit 1:

docs: README에 dokhak 플러그인 사용법 추가

Commit 2:

fix(dokhak): write 커맨드의 출력 경로 오류 수정

문서 파일이 잘못된 디렉토리에 생성되던 문제 해결

Commit 3:

feat: Claude Code skills 참조 문서 추가

</commits>

## Example 3: Refactoring with Shared Module

<input>
Changed files:
- `plugins/dokhak/agents/researcher.md` (modified)
- `plugins/dokhak/agents/writer.md` (modified)
- `plugins/dokhak/skills/common/SKILL.md` (new)
</input>

<analysis>
This is a refactoring effort:
- Common logic was extracted from researcher.md and writer.md
- New shared module created in common/SKILL.md
- All changes are related to the same refactoring goal
Should be one "refactor" commit.
</analysis>

<commit>

refactor(dokhak): 에이전트 공통 로직 분리

  • 리서치 관련 중복 코드를 common 스킬로 추출
  • researcher, writer 에이전트가 공통 모듈 재사용
  • 코드 중복 제거로 유지보수성 향상
</commit>

## Example 4: Configuration and Build Changes

<input>
Changed files:
- `package.json` (modified - version bump)
- `.eslintrc.js` (modified)
- `tsconfig.json` (modified)
</input>

<analysis>
All configuration/build-related changes:
- package.json version update
- ESLint rules modification
- TypeScript configuration update
These are related tooling changes, should be one "chore" commit.
</analysis>

<commit>

chore: 빌드 설정 및 린트 규칙 업데이트

  • 패키지 버전 1.2.0으로 업데이트
  • ESLint 규칙 강화 (unused-vars 에러로 변경)
  • TypeScript strict 모드 활성화
</commit>

## Example 5: Breaking Change

<input>
Changed files:
- `src/api/auth.ts` (modified - API signature changed)
- `src/types/auth.ts` (modified)
- `docs/api.md` (modified)
</input>

<analysis>
Breaking API change:
- Authentication API signature changed
- Related types updated
- Documentation reflects new API
All related to the same breaking change, one commit with detailed explanation.
</analysis>

<commit>

feat(api)!: 인증 API 응답 구조 변경

기존 flat 구조에서 nested 구조로 변경:

  • 이전: {token, userId, expires}
  • 이후: {data: {token, userId}, meta: {expires}}

BREAKING CHANGE: 클라이언트 응답 파싱 로직 수정 필요

</commit>

## Example 6: Ambiguous Change - Using AskUserQuestion

<input>
Changed files:
- `src/utils/validator.ts` (modified - added null check and refactored)
</input>

<analysis>
This change is ambiguous:
- Added null check (could be a bug fix - preventing null pointer errors)
- Also refactored the function structure (could be refactor)
- The change improves code but also fixes a potential issue

AMBIGUITY DETECTED: Cannot determine if this is `fix` or `refactor`.
Need to ask the user for clarification.
</analysis>

<ask_user>

{ "questions": [{ "question": "validator.ts의 변경 목적이 무엇인가요?", "header": "변경 목적", "multiSelect": false, "options": [ { "label": "버그 수정", "description": "null 체크 누락으로 인한 오류를 수정" }, { "label": "리팩토링", "description": "코드 품질 개선, 기존에 문제는 없었음" }, { "label": "둘 다", "description": "버그도 수정하고 코드도 개선함" } ] }] }


</ask_user>

<user_response>버그 수정</user_response>

입력값이 null인 경우 예외가 발생하던 문제 해결

</commit>

Example 7: Large Changeset - Grouping Clarification

<input> Changed files:

  • src/components/Button.tsx (modified)
  • src/components/Input.tsx (modified)
  • src/components/Modal.tsx (modified)
  • src/styles/components.css (modified)
  • src/hooks/useForm.ts (modified)
  • README.md (modified)

</input>

<analysis> Large changeset with multiple potential groupings:

  • UI components: Button, Input, Modal + CSS (could be one "style" or "refactor")
  • Hook: useForm (could be separate "feat" or "fix")
  • Documentation: README (separate "docs")

AMBIGUITY DETECTED: Multiple valid grouping strategies exist. Need to ask user about intended grouping. </analysis>

<ask_user>

{
  "questions": [
    {
      "question": "이 변경사항들을 어떻게 커밋할까요?",
      "header": "커밋 분리",
      "multiSelect": false,
      "options": [
        {
          "label": "하나의 커밋",
          "description": "모든 변경을 하나의 커밋으로 (예: 전체적인 UI 개선)"
        },
        {
          "label": "기능별 분리 (Recommended)",
          "description": "컴포넌트/훅/문서를 각각 별도 커밋으로"
        },
        {
          "label": "직접 지정",
          "description": "원하는 그룹핑을 말씀해주세요"
        }
      ]
    },
    {
      "question": "컴포넌트 변경의 목적은 무엇인가요?",
      "header": "변경 목적",
      "multiSelect": false,
      "options": [
        {
          "label": "스타일 개선",
          "description": "기능 변경 없이 UI만 수정"
        },
        {
          "label": "리팩토링",
          "description": "코드 구조 개선"
        },
        {
          "label": "기능 추가",
          "description": "새로운 기능이나 prop 추가"
        }
      ]
    }
  ]
}

</ask_user>

<user_response>

  1. 기능별 분리 (Recommended)
  2. 스타일 개선 </user_response>
  • Button, Input, Modal 컴포넌트 디자인 일관성 개선
  • 공통 스타일 변수 적용
Commit 2:

feat(hooks): useForm 훅 유효성 검사 개선

Commit 3:

docs: README 업데이트

</commits>

## Example 8: Partial Commit with Staged Files

<input>
Staged files:
- `src/api/user.ts` (modified)

Unstaged files:
- `src/api/product.ts` (modified)
- `src/utils/helpers.ts` (modified)
</input>

<analysis>
Mixed staged/unstaged state:
- User has explicitly staged only user.ts
- Other files are modified but not staged
- Need to clarify if user wants to commit only staged files or all changes
</analysis>

<ask_user>

{ "questions": [{ "question": "어떤 파일들을 커밋할까요?", "header": "커밋 범위", "multiSelect": false, "options": [ { "label": "스테이징된 파일만 (Recommended)", "description": "user.ts만 커밋 (이미 add된 파일)" }, { "label": "모든 변경사항", "description": "user.ts, product.ts, helpers.ts 모두 커밋" }, { "label": "직접 선택", "description": "커밋할 파일을 지정해주세요" } ] }] }


</ask_user>

<user_response>스테이징된 파일만 (Recommended)</user_response>

<note_to_user> 나머지 파일(product.ts, helpers.ts)은 커밋되지 않았습니다. </note_to_user>

<edge_cases>

## Handling Special Situations

### Empty Changes

If `git status` shows no changes, inform the user: "변경된 파일이 없습니다. 커밋할 내용이 없어요."

### Unrelated Mixed Changes

If changes are completely unrelated (e.g., feature A + bugfix B + docs C for different modules), create separate commits for each.

### Large Refactoring

For extensive refactoring touching many files:

- Group by module/feature boundary
- Consider multiple smaller commits over one massive commit
- Each commit should compile/work independently

### Sensitive Files

Skip committing files that may contain secrets:

- `.env`, `.env.*`
- `*credentials*`, `*secret*`
- `*.pem`, `*.key`

Warn the user: "민감한 정보가 포함될 수 있는 파일이 있어서 제외했습니다: [파일명]"

### Pre-commit Hook Failures

If commit fails due to hooks:

1. Note the failure reason
2. Fix the issue if possible (formatting, linting)
3. Create a NEW commit (never amend unless specifically requested)

### When NOT to Ask (Avoid Unnecessary Questions)

Do NOT use AskUserQuestion for these clear-cut cases:

<no_question_needed>

1. **Obvious Change Types**
  - New file added → `feat` (unless it's clearly a test/doc/config)
  - File in `test/` directory → `test`
  - File in `docs/` directory → `docs`
  - `README.md`, `CHANGELOG.md` → `docs`
  - `package.json`, `tsconfig.json`, `.eslintrc` → `chore`
2. **Clear Single-Purpose Changes**
  - Only one file changed with obvious purpose
  - Commit message from git log history provides context
  - File name clearly indicates purpose (e.g., `fix-login-bug.ts`)
3. **All Files Clearly Related**
  - All changes are in the same module/directory
  - Changes are obviously part of the same feature/fix
  - Recent commits show similar grouping patterns
4. **Standard Patterns**
  - Adding imports + using them in same file → single commit
  - Type definition + implementation → single commit
  - Component + its styles → single commit

</no_question_needed>

**Rule of Thumb**: Only ask when you have genuine uncertainty that affects the commit quality. If you're 80%+ confident, proceed without asking.

</edge_cases>

<best_practices>

## Quality Standards

1. **Atomic Commits**: Each commit represents one logical change that can be understood, reviewed, and potentially reverted independently.
2. **Meaningful Subjects**: The commit log alone should tell the story of the project's evolution. Anyone reading `git log --oneline` should understand what happened.
3. **Consistent Style**: Follow the repository's existing commit message patterns when present. Maintain consistency with recent commits.
4. **Natural Language**: Write as a developer would naturally write. The message should feel human-authored, not machine-generated.
5. **Scope Usage**: Use scope when the change is clearly related to a specific module:
  - Good: `feat(auth): 로그인 세션 유지 기능 추가`
  - Good: `fix(api): 잘못된 HTTP 상태 코드 반환 수정`
  - Skip scope for cross-cutting changes: `chore: 의존성 패키지 업데이트`

</best_practices>

平台分布

Claude Code

29.76%
按下载量换算53

Antigravity

22.6%
按下载量换算40

Gemini CLI

16.38%
按下载量换算29

OpenCode

11.27%
按下载量换算20

Codex

6.8%
按下载量换算12

trae

3.57%
按下载量换算6

安全审计

暂无安全审计结果可展示。

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。目前只有一个公开来源,建议同时核对源仓库。

继续浏览同类 Skills