code-commit skill
✓ 인증됨conventionalcommits.org 사양을 따르는 git commit message를 생성하고 검증합니다.
- GitHub 스타
- 51
- 파일
- 1
- 마지막 커밋
- 2026년 11월 7일
- 라이선스
- MIT
- 허용된 도구
- —
code-commit skill은 무엇을 하나요?
code-commit은(는) agent skill입니다. conventionalcommits.org 사양을 따르는 git commit message를 생성하고 검증합니다.
skill의 SKILL.md에서 생성된 요약입니다.
code-commit skill 정보
이 SKILL은 개발자가 conventionalcommits.org 사양을 따르는 표준화된 git commit message를 작성할 수 있도록 지원합니다. worktree 검사, 변경 사항 분석, 특정 type, scope 및 명령형 제목을 포함한 메시지 초안 작성을 자동화합니다. 사용자가 코드 커밋을 언급하거나, 커밋 생성을 요청하거나, 기존 메시지의 형식을 검토해야 할 때 에이전트는 이 도구를 로드해야 합니다.
정확성을 보장하기 위해 이 SKILL은 git status, git diff, git log와 같은 명령어를 사용하여 변경 사항의 맥락을 이해하고 기존 저장소 패턴과 일치시킵니다. feat, fix, refactor와 같은 적절한 type을 식별하고 필수 구문을 사용하여 breaking changes를 처리합니다. 프로세스에는 안전 계층이 포함되어 있어, 에이전트가 git add 또는 git commit을 실행하기 전에 승인을 받을 특정 파일과 메시지를 제안합니다. 또한 저장소의 commit hook을 준수하며, pull request 생성은 other 전문 도구에 위임할 수 있습니다.
agent가 수행할 수 있는 작업
- 1새 커밋 생성에이전트가 현재 worktree를 검사하고 사용자의 승인을 위한 형식화된 커밋 메시지를 제안할 수 있습니다.
- 2메시지 구문 검증개발자가 특정 커밋 메시지가 conventional commits 표준을 준수하는지 확인할 수 있습니다.
- 3breaking changes 식별이 SKILL은 특정 푸터와 기호를 사용하여 breaking changes를 명확하게 나타내도록 메시지를 구성할 수 있습니다.
- 4staged 변경 사항 검토도구가 diff를 분석하여 커밋 메시지가 실제 코드 수정 사항을 정확하게 설명하는지 확인합니다.
skill의 SKILL.md를 기반으로 작성되었습니다. 모든 사용 사례는 해당 문서의 인용구와 대조 확인되었습니다.
code-commit skill 설치 방법
각 명령은 skill 폴더를 클라이언트의 skills 디렉터리에 복사합니다. 클라이언트를 재시작하거나 새 세션을 시작하여 로드하세요.플러그인에 code-commit skill 설치
/plugin marketplace add martinffx/atelier /plugin install atelier@atelier
Claude Code에 code-commit skill 설치
~/.claude/skills/code-commit/SKILL.md
$ npx degit martinffx/atelier/skills/code-commit ~/.claude/skills/code-commitClaude Code (project)에 code-commit skill 설치
.claude/skills/code-commit/SKILL.md
$ npx degit martinffx/atelier/skills/code-commit .claude/skills/code-commitCodex에 code-commit skill 설치
~/.agents/skills/code-commit/SKILL.md
$ npx degit martinffx/atelier/skills/code-commit ~/.agents/skills/code-commitGemini CLI에 code-commit skill 설치
~/.gemini/skills/code-commit/SKILL.md
$ npx degit martinffx/atelier/skills/code-commit ~/.gemini/skills/code-commitClaude.ai에 code-commit skill 설치
npx degit martinffx/atelier/skills/code-commit code-commit && zip -r code-commit.zip code-commit # claude.ai → Customize → Skills → + → Create skill → Upload a skill → code-commit.zip
자동 검사
2026년 11월 15일에 실행됨전체 보고서 →자동 검사를 통과했습니다. 보안 감사는 아닙니다. 에이전트가 실행하기 전에 스크립트를 읽어 보세요. 검사 방식
- 소스 저장소 연결 및 접근 가능martinffx/atelier/skills/code-commit is public and reachablegithub.com/martinffx/atelier/tree/HEAD/skills/code-commit ↗통과
- 오픈 소스 라이선스 (OSI)MITspdx.org/licenses/MIT.html ↗통과
- 최근 1년 내 커밋 또는 릴리스Last commit 2026-11-07github.com/martinffx/atelier/commits ↗통과
- 스크립트에 다운로드 후 실행이나 자격 증명 탈취가 없음No scripts in the skill folder통과
- SKILL.md에 숨겨진 지침 없음No override phrases, safeguard switches, credential requests or hidden charactersgithub.com/martinffx/atelier/blob/HEAD/skills/code-commit/SK ↗통과
- 사전 허용 도구가 제한됨No pre-approved tools; the agent asks before using onegithub.com/martinffx/atelier/blob/HEAD/skills/code-commit/SK ↗통과
- SKILL.md가 Agent Skills 형식을 따름Valid name and description; says when to use it; 151 linesgithub.com/martinffx/atelier/blob/HEAD/skills/code-commit/SK ↗통과
SKILL.md
GitHub에서 보기Conventional Commit Skill
Create coherent, reviewable commits that follow the Conventional Commits specification. Message syntax matters, but the selected changes must tell one clear story too.
Message Format
Every generated commit has a title and body:
<type>(<scope>): <imperative title>
<1-5 lines describing the change and, when useful, its reason or effect>
Use a lowercase scope that identifies the affected component. The title is concise, imperative, lowercase, and has no trailing period. The body is concrete: explain the behavior, motivation, or important implementation decision rather than restating the title.
| Type | Use for |
|---|---|
feat |
New user-facing capability |
fix |
Corrected behavior |
docs |
Documentation only |
style |
Formatting only |
refactor |
Restructuring without behavior change |
test |
Tests only |
chore |
Maintenance or tooling |
perf |
Performance improvement |
ci |
Continuous integration configuration |
build |
Build system or dependencies |
revert |
Reverting a prior commit |
Breaking changes may use ! after the type or scope, a BREAKING CHANGE: footer, or both.
Include issue footers such as Closes #123 only when the issue is known.
Create a Commit
When the user asks to commit, first inspect the complete worktree:
- Run
git status --short. - Read both
git diff --cachedandgit diffso pre-staged work is not mistaken for the entire change. - List untracked files with
git ls-files --others --exclude-standardand inspect relevant ones. - Read recent subjects with
git log --oneline -10to match established scopes and wording. - Flag likely secrets, credentials, local configuration, or generated output. Do not stage them without explicit direction.
Decide Whether to Split
Default to one commit containing all intended, related changes. Look for an obvious file-level split only when changes are independent and each group can stand alone.
Keep these together:
- Implementation and its tests.
- Documentation that describes the same change.
- Dependency manifests and their lockfiles.
Do not invent a split for adjacent work, use hunk-level staging, or force the user to reorganize a coherent change. If an obvious split exists, propose each commit with its files and full message, then ask once for approval. If not, propose one commit.
Approve, Stage, Commit
Before making any write, show:
- The files in each proposed commit.
- The full title and 1-5 line body for each commit.
- Any excluded files and why they are excluded.
Ask for approval unless the user explicitly authorizes committing immediately. After
approval, stage only the files for the approved commit with git add -- <paths> and
inspect git diff --cached --name-status and git diff --cached again. If the staged snapshot
contains any unapproved file, stop and ask how to handle it. Then commit with the proposed title
and body. Do not amend, rebase, push, or include unapproved files.
Repository commit hooks are the final message validation when configured. Never bypass a failing hook. Report the commit hash on success; report the error and leave changes intact on failure.
Validate a Commit Message
When the user asks to validate a message, check:
- It follows
type(scope): imperative title. - The type is listed above and the scope is lowercase.
- The title is lowercase, imperative, concise, and has no trailing period.
- A body follows after a blank line and contains 1-5 meaningful lines.
- Breaking changes use both
!and aBREAKING CHANGE:footer.
Return specific corrections and a revised message. When the repository configures commitlint, use it as the authoritative validation rule.
Delegated: Pull Request Creation
If the user wants to create a PR after committing, invoke the
code-pull-request skill. It detects the platform
(GitHub/GitLab), finds a template, generates the body, and opens the PR via gh
or glab.
Input Methods
| Input | Action |
|---|---|
| User says "commit" or "git commit" | Inspect the worktree, propose coherent commit(s), then commit after approval |
| User says "validate commit" | Check the commit message format |
| User pastes commit message | Validate the provided message |
Error Handling
- If there are no changes: report that there is nothing to commit.
- If Git is not initialized: report it; do not initialize a repository unless asked.
- If a commit fails: show the error, preserve the worktree, and do not bypass hooks.
Examples
Input: "I fixed the login bug" Output:
fix(auth): resolve login timeout issue
Correct token expiry calculation so active users are not logged out after five minutes.
Input: "I added a new API endpoint for users" Output:
feat(api): add user profile endpoint
Expose name, email, and avatar URL from `GET /users/:id`.
Closes #89
Input: "I changed the auth API, this breaks old clients" Output:
feat(auth)!: change token validation endpoint
Require a Bearer token on `/auth/verify` instead of a query parameter.
BREAKING CHANGE: Clients must update to send
Authorization header with Bearer token.
이 스킬의 파일
1code-commit skill 질문
Claude Code에 code-commit skill을 어떻게 설치하나요?
npx degit martinffx/atelier/skills/code-commit ~/.claude/skills/code-commit를 실행합니다. Claude Code는 ~/.claude/skills(모든 프로젝트) 또는 .claude/skills(한 프로젝트)에서 skills를 로드하며, 설명이 작업과 일치할 때 skill을 사용합니다.
code-commit skill을 사용할 수 있는 클라이언트는 무엇인가요?
Agent Skills 형식을 읽는 모든 클라이언트(Claude Code, Codex, Gemini CLI, claude.ai(ZIP으로 업로드))가 사용할 수 있습니다. skill 내 스크립트는 클라이언트가 코드 실행을 허용하는 경우에만 실행됩니다.
conventional commit message의 필수 형식은 무엇인가요?
형식은 type과 선택 사항인 scope로 구성되며, 그 뒤에 명령형 제목과 1-5줄의 선택 사항인 본문이 이어집니다.
커밋 메시지에서 breaking changes를 어떻게 표시해야 하나요?
type 또는 scope 뒤에 느낌표를 붙이거나, 'BREAKING CHANGE:' 푸터를 포함하거나, 두 방법을 모두 사용하여 표시할 수 있습니다.
에이전트는 코드를 커밋하기 전에 어떤 단계를 거치나요?
에이전트는 git status를 사용하여 worktree를 검사하고, diff를 읽고, 추적되지 않은 파일을 나열하며, 최근 로그를 확인하고, 잠재적인 secret을 찾아냅니다.