소스 정보
- 저장소
- clacky-ai/openclacky
- 최근 소스 활동
- 2026년 3월 19일 13:42
- 감지된 SKILL.md 언어
- 영어
- 스타
- 1,149
- 포크
- 101
설치 방법
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
소스 파일 검토
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
메뉴
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
직접 명령은 검토 Prompt를 거치지 않습니다. 실행하기 전에 소스를 확인하세요.
npx skills add https://github.com/clacky-ai/openclacky --skill commit명령은 한 줄로 유지됩니다. 복사하기 전에 가로로 스크롤해 전체 내용을 확인하세요.
로컬 사본을 원하시나요? SkillsMP에서 현재 제공할 수 있는 파일을 다운로드하세요.
SOC 직업 분류 기준
SKILL.md 표시 중
This skill helps users create well-structured, semantic git commits by analyzing changes and suggesting appropriate commit messages.
ALL commit messages created by this skill MUST be single-line only.
git commit -m "feat: add user authentication"-m flags\n or additional paragraphsKeep commits concise and focused. If more detail is needed, suggest adding it separately in PR descriptions or documentation.
This skill automates the process of reviewing git changes and creating meaningful, conventional commits following the semantic commit format (feat/fix/chore/test).
THINK IN PURPOSES, NOT FILES
This skill prioritizes understanding the OVERALL GOAL of changes before deciding how to commit them. The default approach is to:
DO NOT commit file-by-file. DO NOT separate tests from implementation. DO NOT fragment features across multiple commits.
Instead, ask: "What story do these changes tell?" and commit accordingly.
To use this skill, simply say:
/commitFirst, check the current git status to understand:
git status
git diff --stat
CRITICAL: Before diving into file-by-file analysis, step back and ask:
Think strategically, not tactically:
Review ALL changes together first:
# Get overview of all changes
git diff --stat
git diff
Look for patterns:
Now examine each file to understand specifics:
git diff <file>
CRITICAL PRINCIPLE: Prefer fewer, meaningful commits over many small commits
Grouping Strategy:
Same Feature/Purpose = One Commit
Ask: "Would I explain these separately in a code review?"
Look for these grouping opportunities:
Only split when:
Examples of Good Grouping:
GOOD - Merged into ONE commit:
Commit: feat: add user authentication
- lib/auth/authenticator.rb (new authentication logic)
- lib/user.rb (user model updates)
- lib/session.rb (session management)
- spec/auth/authenticator_spec.rb (tests)
- spec/user_spec.rb (updated tests)
- config/routes.rb (auth routes)
GOOD - Different purposes, TWO commits:
Commit 1: feat: add user authentication
- lib/auth/authenticator.rb
- spec/auth/authenticator_spec.rb
Commit 2: fix: resolve database timeout issue
- lib/database/connection.rb
- spec/database/connection_spec.rb
BAD - Over-splitting, should be ONE commit:
Commit 1: feat: add authentication logic
- lib/auth/authenticator.rb
Commit 2: feat: update user model for authentication
- lib/user.rb
Commit 3: test: add authentication tests
- spec/auth/authenticator_spec.rb
Commit 4: chore: add authentication routes
- config/routes.rb
Decision Tree:
Are changes related to the same goal/feature/purpose?
|-- YES -> Combine into ONE commit
| +-- Even if they touch different files/modules
+-- NO -> Keep as separate commits
+-- Ask: Are they different semantic types (feat/fix/chore)?
|-- YES -> Definitely separate
+-- NO -> Consider if they could still be combined
Based on the holistic analysis, generate commit messages following the conventional commit format:
Format: <type>: <description>
Types:
feat: New features or functionalityfix: Bug fixeschore: Routine tasks, maintenance, dependenciestest: Adding or modifying tests (only if standalone)docs: Documentation changes (only if standalone)refactor: Code refactoring without changing functionalitystyle: Code style changes (formatting, whitespace)perf: Performance improvementsCRITICAL GUIDELINES:
Examples:
feat: add user authentication (not "add authenticator.rb, user.rb, session.rb")fix: resolve login timeout issues (not "fix auth.rb timeout")chore: update dependencies (not separate commits for each gem)refactor: simplify database connection logic (not one commit per file)docs: update API documentation (only if pure documentation change)No confirmation needed — analyze, group, and commit right away.
For each commit group:
# Stage specific files
git add <file1> <file2> ...
# Create commit with SINGLE-LINE message only
git commit -m "<type>: <description>"
IMPORTANT:
git commit -m "single line message" format-m flag multiple timesAfter all commits, show:
# Check status
git status
git status --short
# View changes
git diff
git diff --stat
git diff <file>
# Stage files
git add <file>
# Create commit (SINGLE-LINE only)
git commit -m "type: single line description"
# NEVER use multi-line format like:
# git commit -m "title" -m "body" -- DON'T DO THIS
# git commit -m "title\n\nbody" -- DON'T DO THIS
# View commit history
git log --oneline -n 5
BAD Example (Over-splitting):
User: /commit
AI (WRONG APPROACH):
Found 5 modified files
Proposed commits:
Commit 1: feat: add user model
- lib/user.rb
Commit 2: test: add user tests
- spec/user_spec.rb
Commit 3: fix: fix auth validation
- lib/auth.rb
Commit 4: test: add auth tests
- spec/auth_spec.rb
Commit 5: chore: update dependencies
- Gemfile
Problem: Too fragmented! Tests separated from code.
GOOD Example (Holistic grouping):
User: /commit
AI (CORRECT APPROACH):
1. Analyzing all changes...
Found 5 modified files
2. Identifying overall purpose...
Main goal: Implementing user registration feature
Secondary: Fixing existing auth bug
Maintenance: Dependency updates
3. Holistic analysis:
- lib/user.rb: New user registration feature
- spec/user_spec.rb: Tests for user registration (same feature)
- lib/auth.rb: Fix password validation bug (separate concern)
- spec/auth_spec.rb: Tests for auth fix (same bug fix)
- Gemfile: Updated dependencies (separate maintenance)
4. Proposed commits (grouped by purpose):
Commit 1: feat: add user registration
- lib/user.rb (implementation)
- spec/user_spec.rb (tests)
Reason: Feature and its tests belong together
Commit 2: fix: correct password validation logic
- lib/auth.rb (bug fix)
- spec/auth_spec.rb (tests)
Reason: Fix and its tests belong together
Commit 3: chore: update gem dependencies
- Gemfile
Reason: Unrelated maintenance task
Total: 3 meaningful commits instead of 5 fragmented ones
AI (executes immediately, no confirmation):
Commit 1 created (a1b2c3d): feat: add user registration
Commit 2 created (e4f5g6h): fix: correct password validation logic
Commit 3 created (i7j8k9l): chore: update gem dependencies
Summary: 3 commits created successfully!
Next steps: Review with 'git log' or push with 'git push'
GOLDEN RULE: One logical PURPOSE per commit, not one FILE per commit
For each set of changes, ask:
1. "What was I trying to accomplish?" (identify the purpose)
2. "Do these files work together toward that purpose?" (YES -> combine)
3. "Would splitting these make the history harder to understand?" (YES -> combine)
4. "Could these changes be deployed independently?" (NO -> combine)
This skill works best:
git reset first)