← 스킬 목록으로 돌아가기

commit-linter

v1.0.1 approved Development ↑ 11/7일 오늘 업데이트
USK v3 ✅ Verified ⚡ Auto-Convert
⬇ 다운로드
설치 가이드↓
🤖 에이전트용 설치 명령 (curl / MCP / Claude Desktop)
▸ curl 한 줄 다운로드
curl -L -o commit-linter.skill   "https://aiskillstore.io/v1/agent/skills/15009196-4c60-418d-85dc-01d27e554c41/download?platform=ClaudeCode"
▸ MCP 도구 호출 (Skill Store MCP 등록 시)
{
  "tool": "download_skill",
  "arguments": {
    "skill_id": "15009196-4c60-418d-85dc-01d27e554c41",
    "platform": "ClaudeCode"
  }
}
▸ Claude Desktop / Cursor MCP 설정 (1회)
{
  "mcpServers": {
    "skill-store": {
      "url": "https://aiskillstore.io/mcp/"
    }
  }
}
📖 에이전트용 전체 API 가이드: /llms.txt  ·  MCP server card

Conventional Commits v1.0 linter with 5 actions: lint, parse, suggest_fix, audit, generate_template. Zero external dependencies, breaking-change detection, 50/72 rule, Korean support.

# git # commit # conventional-commits # linter # development # korean # code-quality

기본 정보

소유자 👤 aiskillstore-team 카테고리 Development 등록일 2026-05-05 최종 업데이트 2026-05-05 최신 버전 1.0.1 패키지 날짜 2026-05-05 검증 상태 approved 다운로드 수 0회 체크섬 (SHA256) f58e021b61b2d89715ed5ba54feb76da24ba065f4a455e278b72ab36b4bc059d

⚡ AGENT INFO USK v3

Capabilities
commit_message_linting conventional_commits_validation breaking_change_detection commit_audit korean_commit_support
Permissions
✗ network
✗ filesystem
✗ subprocess
Interface
type: cli   entry_point: main.py   runtime: python3   call_pattern: stdin_stdout
Agent API
# 스킬 스키마 조회 (에이전트가 호출 방법을 파악) GET /v1/agent/skills/15009196-4c60-418d-85dc-01d27e554c41/schema # 플랫폼별 자동 변환 다운로드 GET /v1/agent/skills/15009196-4c60-418d-85dc-01d27e554c41/download?platform=OpenClaw GET /v1/agent/skills/15009196-4c60-418d-85dc-01d27e554c41/download?platform=ClaudeCode GET /v1/agent/skills/15009196-4c60-418d-85dc-01d27e554c41/download?platform=ClaudeCodeAgentSkill GET /v1/agent/skills/15009196-4c60-418d-85dc-01d27e554c41/download?platform=Cursor GET /v1/agent/skills/15009196-4c60-418d-85dc-01d27e554c41/download?platform=GeminiCLI GET /v1/agent/skills/15009196-4c60-418d-85dc-01d27e554c41/download?platform=CodexCLI GET /v1/agent/skills/15009196-4c60-418d-85dc-01d27e554c41/download?platform=CustomAgent

설치 방법

호환 플랫폼: any

1
openclaw_skill_manager.py로 스킬을 설치합니다.
python openclaw_skill_manager.py --install commit-linter
2
설치 확인
python openclaw_skill_manager.py --list-installed
3
특정 버전 설치 (선택)
python openclaw_skill_manager.py --install commit-linter --version 1.0.1
1
스킬 패키지를 다운로드합니다.
curl -O https://aiskillstore.io/v1/skills/15009196-4c60-418d-85dc-01d27e554c41/download
2
Claude Code commands 디렉터리에 배치합니다.
unzip commit-linter.skill -d ~/.claude/commands/commit-linter/
3
Claude Code에서 슬래시 커맨드로 사용합니다.
/commit-linter
1
Agent Skills 패키지를 다운로드합니다.
curl -O https://aiskillstore.io/v1/agent/skills/15009196-4c60-418d-85dc-01d27e554c41/download?platform=ClaudeCodeAgentSkill
2
Claude Code skills 디렉터리에 압축을 해제합니다.
unzip commit-linter-agent-skill-*.skill -d ~/.claude/skills/commit-linter/
3
Claude Code를 재시작하면 세션 시작 시 자동으로 로드됩니다. 슬래시 커맨드 없이 자연어로 사용 가능합니다.
1
Cursor 변환 패키지를 다운로드합니다.
curl -O https://aiskillstore.io/v1/agent/skills/15009196-4c60-418d-85dc-01d27e554c41/download?platform=Cursor
2
압축 해제 후 영구 위치에 저장합니다.
unzip commit-linter-cursor-*.skill -d ~/.cursor/skills/commit-linter/
3
.cursor/mcp.json에 MCP 서버 설정을 추가하고 Cursor를 재시작합니다.
cat ~/.cursor/skills/commit-linter/cursor_mcp_config.json
1
Gemini CLI 변환 패키지를 다운로드합니다.
curl -O https://aiskillstore.io/v1/agent/skills/15009196-4c60-418d-85dc-01d27e554c41/download?platform=GeminiCLI
2
압축 해제 후 영구 위치에 저장합니다.
unzip commit-linter-geminicli-*.skill -d ~/.gemini/skills/commit-linter/
3
~/.gemini/settings.json에 MCP 서버 설정을 추가하고 Gemini CLI를 재시작합니다.
cat ~/.gemini/skills/commit-linter/gemini_settings_snippet.json
1
Codex CLI 변환 패키지를 다운로드합니다.
curl -O https://aiskillstore.io/v1/agent/skills/15009196-4c60-418d-85dc-01d27e554c41/download?platform=CodexCLI
2
압축 해제 후 영구 위치에 저장합니다.
unzip commit-linter-codexcli-*.skill -d ~/.codex/skills/commit-linter/
3
~/.codex/config.toml에 MCP 서버 설정을 추가하고 Codex CLI를 재시작합니다.
cat ~/.codex/skills/commit-linter/codex_config_snippet.toml
1
REST API로 스킬 패키지를 다운로드합니다.
GET https://aiskillstore.io/v1/skills/15009196-4c60-418d-85dc-01d27e554c41/download
2
에이전트 플랫폼의 skills 디렉터리에 배치합니다.
cp commit-linter.skill ./skills/
3
설치 가이드 API로 플랫폼별 상세 정보를 조회합니다.
GET https://aiskillstore.io/v1/skills/15009196-4c60-418d-85dc-01d27e554c41/install-guide?platform=CustomAgent

보안 검증 보고서

검증 결과 APPROVED

검사 결과: ["메타데이터 경고: 권장 필드 없음: 'requirements' (SKILL.md v2 권장)", "메타데이터 경고: 권장 필드 없음: 'changelog' (SKILL.md v2 권장)"]

✅ 보안 위험 항목이 발견되지 않았습니다.

AI 검수 단계

검수 주체 gemini 위험도 🟢 낮음 검수 요약 Conventional Commits v1.0 표준을 준수하는 커밋 메시지 린터 및 파서 스킬로, 보안 위험이 없습니다.
판단 근거

1. **권한 일치 여부:** 스킬 메타데이터에 선언된 `network: false`, `filesystem: false`, `subprocess: false` 권한과 실제 코드의 동작이 일치합니다. `os.path` 모듈 사용은 내부 모듈 경로 설정 용도로, 일반적인 파일 시스템 접근으로 간주하지 않습니다. 2. **악의적 코드 여부:** 코드 분석 결과 데이터 탈취, 시스템 파괴, 난독화 등 악의적인 목적의 코드는 발견되지 않았습니다. 정적 분석 결과에서도 'red_flags_found' 및 'obfuscation_warnings'가 없습니다. 3. **외부 통신 여부:** 네트워크 관련 라이브러리(예: `requests`, `urllib`, `socket`) 사용이 없으며, 외부 통신을 시도하는 코드가 없습니다. 4. **사용자 데이터 수집/전송:** 스킬은 `stdin`으로 입력받은 커밋 메시지를 처리하고 `stdout`으로 결과를 반환합니다. 어떠한 사용자 데이터도 무단으로 수집하거나 외부로 전송하는 기능이 없습니다. 5. **코드 품질 및 목적 일치:** 코드는 Conventional Commits v1.0 표준에 따라 커밋 메시지를 파싱, 검증, 수정 제안, 감사, 템플릿 생성하는 기능을 명확하게 구현하고 있습니다. 한국어 지원을 포함하여 스킬의 설명과 기능이 코드에 잘 반영되어 있으며, 코드 품질도 양호합니다.

버전 히스토리

버전 USK v3 검증 상태 패키지 날짜 다운로드 변경사항
v1.0.1 approved 2026-05-05 ⬇ 0
v1.0.0 approved 2026-05-05 ⬇ 11

사용 예시 (Examples) 8 개

이 스킬의 대표적인 입출력 예시입니다. 에이전트는 이 예시를 보고 스킬 호출 방법과 결과 형태를 이해할 수 있습니다.

lint_valid
# lint# valid# feat

정상 커밋 메시지 lint 성공 / Valid conventional commit passes lint

📥 입력
{
  "action": "lint",
  "message": "feat(auth): add OAuth2 login support"
}
📤 출력
{
  "action": "lint",
  "errors": [],
  "valid": true,
  "warnings": []
}
lint_invalid_type
# lint# invalid# type-error

잘못된 타입 감지 / Invalid commit type detected

📥 입력
{
  "action": "lint",
  "message": "update: fixed the login bug"
}
📤 출력
{
  "action": "lint",
  "errors": [
    {
      "code": "CC-001",
      "fix_hint": {
        "action": "replace",
        "field": "type",
        "reference": "https://www.conventionalcommits.org/en/v1.0.0/",
        "suggested_replacement": "fix"
      },
      "message": "\ucee4\ubc0b \ud0c0\uc785 \u0027update\u0027\uac00 Conventional Commits \ud45c\uc900\uc5d0 \uc5c6\uc2b5\ub2c8\ub2e4 / Type \u0027update\u0027 is not a valid Conventional Commits type"
    }
  ],
  "valid": false,
  "warnings": []
}
lint_breaking_change
# lint# breaking-change# warning

파괴적 변경(!) 자동 감지 / Breaking change detected via ! notation

📥 입력
{
  "action": "lint",
  "message": "feat(api)!: remove deprecated v1 endpoints"
}
📤 출력
{
  "action": "lint",
  "errors": [],
  "valid": true,
  "warnings": [
    {
      "code": "CC-W001",
      "fix_hint": {
        "action": "review",
        "field": "breaking",
        "reference": "https://www.conventionalcommits.org/en/v1.0.0/#specification",
        "suggested_replacement": "BREAKING CHANGE: footer or \u0027!\u0027 notation confirmed"
      },
      "message": "\ud30c\uad34\uc801 \ubcc0\uacbd\uc774 \uac10\uc9c0\ub418\uc5c8\uc2b5\ub2c8\ub2e4 \u2014 \uba54\uc774\uc800 \ubc84\uc804 \uc5c5\uc774 \ud544\uc694\ud569\ub2c8\ub2e4 / Breaking change detected \u2014 major version bump required"
    }
  ]
}
parse_full
# parse# footer# breaking

body + footer 포함 커밋 전체 파싱 / Full commit message parsing with body and footer

📥 입력
{
  "action": "parse",
  "message": "fix(db)!: correct connection pool timeout\n\nPrevious default of 30s caused hangs under load.\nIncreased to 120s with configurable override.\n\nBREAKING CHANGE: DB_TIMEOUT env var now required\nCloses #42"
}
📤 출력
{
  "action": "parse",
  "parsed": {
    "body": "Previous default of 30s caused hangs under load.\nIncreased to 120s with configurable override.",
    "breaking": true,
    "footers": [
      {
        "token": "BREAKING CHANGE",
        "value": "DB_TIMEOUT env var now required"
      },
      {
        "token": "Closes",
        "value": "#42"
      }
    ],
    "scope": "db",
    "subject": "correct connection pool timeout",
    "type": "fix"
  }
}
suggest_fix_multiple_issues
# suggest_fix# autofix# multiple

여러 문제 자동 수정 제안 / Suggest fix for multiple issues at once

📥 입력
{
  "action": "suggest_fix",
  "message": "Update(API) : Added new payment endpoint and updated docs and fixed small bugs"
}
📤 출력
{
  "action": "suggest_fix",
  "errors": [],
  "explanation": [
    "\ud0c0\uc785 \u0027Update\u0027 \u2192 \uc18c\ubb38\uc790 \u0027feat\u0027 \ub85c \uc218\uc815 / Lowercased type \u0027Update\u0027 \u2192 \u0027feat\u0027",
    "\uc2a4\ucf54\ud504 \u0027API\u0027 \u2192 \uc18c\ubb38\uc790 \u0027api\u0027 / Lowercased scope \u0027API\u0027 \u2192 \u0027api\u0027",
    "\ud5e4\ub354\uc640 \uc124\uba85 \uc0ac\uc774\uc758 \ubd88\ud544\uc694\ud55c \uacf5\ubc31 \uc81c\uac70 / Removed extra space after colon",
    "subject 54\uc790 \u2192 47\uc790\ub85c \ub2e8\ucd95 \uad8c\uc7a5 / Subject length 54 \u2192 47 chars (guideline: \u226450)"
  ],
  "suggested_message": "feat(api): add new payment endpoint, update docs, and fix small bugs",
  "valid": false,
  "warnings": []
}
audit_batch
# audit# batch# summary

여러 커밋 일괄 감사 / Batch audit of multiple commit messages

📥 입력
{
  "action": "audit",
  "messages": [
    "feat: add user profile page",
    "WIP saving progress",
    "fix(auth): resolve token expiry edge case",
    "docs: update README",
    "cleanup stuff"
  ]
}
📤 출력
{
  "action": "audit",
  "results": [
    {
      "errors": [],
      "message": "feat: add user profile page",
      "valid": true
    },
    {
      "errors": [
        {
          "code": "CC-001",
          "message": "\ucee4\ubc0b \ud0c0\uc785 \u0027WIP\u0027\uac00 \ud45c\uc900\uc5d0 \uc5c6\uc2b5\ub2c8\ub2e4 / Type \u0027WIP\u0027 not in standard list"
        }
      ],
      "message": "WIP saving progress",
      "valid": false
    },
    {
      "errors": [],
      "message": "fix(auth): resolve token expiry edge case",
      "valid": true
    },
    {
      "errors": [],
      "message": "docs: update README",
      "valid": true
    },
    {
      "errors": [
        {
          "code": "CC-002",
          "message": "\ud5e4\ub354 \ud615\uc2dd \uc624\ub958 \u2014 \u0027type: subject\u0027 \uad6c\uc870\uac00 \uc544\ub2d9\ub2c8\ub2e4 / Header format error \u2014 not \u0027type: subject\u0027 structure"
        }
      ],
      "message": "cleanup stuff",
      "valid": false
    }
  ],
  "summary": {
    "breaking_count": 0,
    "invalid": 2,
    "total": 5,
    "type_distribution": {
      "docs": 1,
      "feat": 1,
      "fix": 1
    },
    "valid": 3
  }
}
generate_template
# generate# template# chore

커밋 템플릿 생성 / Generate a properly formatted commit message

📥 입력
{
  "action": "generate_template",
  "body": "Required for Python 3.13 compatibility.",
  "is_breaking": false,
  "scope": "deps",
  "subject": "upgrade pytest to 8.x",
  "type": "chore"
}
📤 출력
{
  "action": "generate_template",
  "template": "chore(deps): upgrade pytest to 8.x\n\nRequired for Python 3.13 compatibility."
}
lint_korean_commit
# lint# korean# feat

한국어 커밋 메시지 검증 / Korean commit message validation

📥 입력
{
  "action": "lint",
  "message": "feat(\uacb0\uc81c): \uce74\uce74\uc624\ud398\uc774 \uc5f0\ub3d9 \ucd94\uac00"
}
📤 출력
{
  "action": "lint",
  "errors": [],
  "valid": true,
  "warnings": []
}

모든 예시는 에이전트 API로도 조회 가능: /v1/agent/skills/15009196-4c60-418d-85dc-01d27e554c41/schema

리뷰 & 평점

아직 리뷰가 없습니다. 첫 번째 리뷰를 남겨보세요!

✍️ 리뷰 작성