curl -L -o commit-linter.skill "https://aiskillstore.io/v1/agent/skills/15009196-4c60-418d-85dc-01d27e554c41/download?platform=ClaudeCode"
{
"tool": "download_skill",
"arguments": {
"skill_id": "15009196-4c60-418d-85dc-01d27e554c41",
"platform": "ClaudeCode"
}
}
{
"mcpServers": {
"skill-store": {
"url": "https://aiskillstore.io/mcp/"
}
}
}
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.
Compatible Platforms any
🚨 Security risks detected:
Findings: ["메타데이터 경고: 권장 필드 없음: 'requirements' (SKILL.md v2 권장)", "메타데이터 경고: 권장 필드 없음: 'changelog' (SKILL.md v2 권장)"]
AI Review Stage
Issues Found
스킬 메타데이터에 따르면 네트워크, 파일 시스템, 서브프로세스 접근 권한이 모두 'false'로 선언되어 있습니다. 코드(`main.py`, `lib/parser.py`)를 분석한 결과, 이 선언을 충실히 준수하고 있음을 확인했습니다. `main.py`의 `sys.path.insert(0, __import__('os').path.dirname(__file__))` 구문은 정적 분석에서 플래그되었지만, 이는 `lib/parser.py`와 같은 로컬 모듈을 올바르게 임포트하기 위해 현재 스크립트의 디렉토리를 `sys.path`에 추가하는 안전한 용도로 사용됩니다. 이는 임의의 파일 시스템 접근이나 악의적인 코드 로딩과는 무관합니다. 스킬의 모든 기능은 순수하게 입력된 커밋 메시지 문자열을 처리하는 계산 작업으로 이루어져 있으며, 외부 통신이나 사용자 데이터 무단 수집/전송의 흔적은 발견되지 않았습니다. 코드 품질은 양호하며 스킬의 목적과 일치합니다.
Representative input/output examples for this skill. Agents can use these to understand how to invoke the skill and what output to expect.
정상 커밋 메시지 lint 성공 / Valid conventional commit passes lint
{
"action": "lint",
"message": "feat(auth): add OAuth2 login support"
}
{
"action": "lint",
"errors": [],
"valid": true,
"warnings": []
}
잘못된 타입 감지 / 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": []
}
파괴적 변경(!) 자동 감지 / 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"
}
]
}
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 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": []
}
여러 커밋 일괄 감사 / 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 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."
}
한국어 커밋 메시지 검증 / 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": []
}
All examples are also available via the agent API:
/v1/agent/skills/15009196-4c60-418d-85dc-01d27e554c41/schema
No reviews yet. Be the first to leave one!