← 스킬 목록으로 돌아가기

changelog-generator

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

Convert git commit lists into Conventional Commits-based changelogs (Markdown/JSON, English+Korean), parse/classify/audit commit messages — zero external dependencies.

# git # changelog # conventional-commits # development # korean

기본 정보

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

⚡ AGENT INFO USK v3

Capabilities
conventional_commits_parsing changelog_generation commit_classification commit_quality_audit korean_language_support
Permissions
✗ network
✗ filesystem
✗ subprocess
Interface
type: cli   entry_point: main.py   runtime: python3   call_pattern: stdin_stdout
Agent API
# 스킬 스키마 조회 (에이전트가 호출 방법을 파악) GET /v1/agent/skills/b8e8d895-85fa-4ecb-9175-e4ce563cfab7/schema # 플랫폼별 자동 변환 다운로드 GET /v1/agent/skills/b8e8d895-85fa-4ecb-9175-e4ce563cfab7/download?platform=OpenClaw GET /v1/agent/skills/b8e8d895-85fa-4ecb-9175-e4ce563cfab7/download?platform=ClaudeCode GET /v1/agent/skills/b8e8d895-85fa-4ecb-9175-e4ce563cfab7/download?platform=ClaudeCodeAgentSkill GET /v1/agent/skills/b8e8d895-85fa-4ecb-9175-e4ce563cfab7/download?platform=Cursor GET /v1/agent/skills/b8e8d895-85fa-4ecb-9175-e4ce563cfab7/download?platform=GeminiCLI GET /v1/agent/skills/b8e8d895-85fa-4ecb-9175-e4ce563cfab7/download?platform=CodexCLI GET /v1/agent/skills/b8e8d895-85fa-4ecb-9175-e4ce563cfab7/download?platform=CustomAgent

설치 방법

호환 플랫폼: any

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

보안 검증 보고서

검증 결과 APPROVED

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

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

AI 검수 단계

검수 주체 gemini 위험도 🟢 낮음 검수 요약 Conventional Commits 기반의 변경 이력 및 커밋 감사 스킬로, 선언된 권한을 준수하며 악의적인 코드나 외부 통신 없이 안전하게 동작합니다.
판단 근거

스킬 메타데이터에 선언된 `network: false`, `filesystem: false`, `subprocess: false` 권한을 코드에서 충실히 준수하고 있습니다. `main.py`에서 `os` 모듈은 `sys.path` 조작에만 사용되며, 파일 시스템 접근이나 외부 네트워크 통신, 서브프로세스 실행 코드는 발견되지 않았습니다. 스킬 설명과 코드 주석에서 'zero external dependencies'를 명시하고 있으며, 실제 코드도 Python 표준 라이브러리(`json`, `sys`, `os`, `re`, `datetime`, `typing`)만을 사용합니다. `lib/auditor.py`에서 시크릿/해시 패턴 및 이메일 패턴을 감지하는 기능은 사용자 데이터를 무단으로 수집하거나 전송하는 것이 아니라, 커밋 메시지 내 잠재적 보안 위험을 경고하는 스킬의 핵심 보안 기능으로 판단됩니다. 입력 데이터에 대한 길이 제한(`_MAX_MESSAGE_LEN`, `_MAX_VERSION_LEN`, `_MAX_COMMITS`, `_MAX_COMMIT_MSG`) 등 기본적인 입력 유효성 검사 및 보안 조치도 포함되어 있습니다. 코드 난독화나 악의적인 행위의 징후는 없으며, 코드 품질 또한 양호합니다. 정적 분석 결과에서도 특이사항이 발견되지 않았습니다.

버전 히스토리

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

사용 예시 (Examples) 5 개

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

generate_markdown_both
# generate# markdown# both# breaking

Generate changelog from commits in English+Korean Markdown. / 커밋 목록에서 영한 Markdown changelog 생성.

📥 입력
{
  "action": "generate",
  "commits": [
    {
      "author": "Alice",
      "date": "2026-04-28",
      "hash": "a1b2c3d",
      "message": "feat(auth): add OAuth2 login support"
    },
    {
      "author": "Bob",
      "date": "2026-04-27",
      "hash": "e4f5g6h",
      "message": "fix(api): handle null response from upstream"
    },
    {
      "author": "Charlie",
      "date": "2026-04-26",
      "hash": "i7j8k9l",
      "message": "chore: update dependencies"
    },
    {
      "author": "Alice",
      "date": "2026-04-25",
      "hash": "m1n2o3p",
      "message": "feat!: drop support for Python 3.8"
    }
  ],
  "format": "markdown",
  "lang": "both",
  "version": "1.3.0"
}
📤 출력
{
  "changelog_ko": "# \ubcc0\uacbd \uc774\ub825\n\n## [1.3.0] - 2026-04-30\n\n### \ud638\ud658\uc131 \ubcc0\uacbd\n- Python 3.8 \uc9c0\uc6d0 \uc911\ub2e8 (m1n2o3p)\n\n### \uc0c8 \uae30\ub2a5\n- **auth**: OAuth2 \ub85c\uadf8\uc778 \uc9c0\uc6d0 \ucd94\uac00 (a1b2c3d)\n\n### \ubc84\uadf8 \uc218\uc815\n- **api**: \uc5c5\uc2a4\ud2b8\ub9bc null \uc751\ub2f5 \ucc98\ub9ac (e4f5g6h)\n\n### \uae30\ud0c0\n- \uc758\uc874\uc131 \uc5c5\ub370\uc774\ud2b8 (i7j8k9l)\n",
  "changelog_md": "# Changelog\n\n## [1.3.0] - 2026-04-30\n\n### Breaking Changes\n- drop support for Python 3.8 (m1n2o3p)\n\n### Features\n- **auth**: add OAuth2 login support (a1b2c3d)\n\n### Bug Fixes\n- **api**: handle null response from upstream (e4f5g6h)\n\n### Chores\n- update dependencies (i7j8k9l)\n",
  "sections": {
    "breaking": [
      {
        "breaking": true,
        "description": "drop support for Python 3.8",
        "hash": "m1n2o3p",
        "type": "feat"
      }
    ],
    "chores": [
      {
        "description": "update dependencies",
        "hash": "i7j8k9l",
        "type": "chore"
      }
    ],
    "features": [
      {
        "description": "add OAuth2 login support",
        "hash": "a1b2c3d",
        "scope": "auth",
        "type": "feat"
      }
    ],
    "fixes": [
      {
        "description": "handle null response from upstream",
        "hash": "e4f5g6h",
        "scope": "api",
        "type": "fix"
      }
    ]
  }
}
parse_commits_valid
# parse_commits# breaking# valid

Parse a valid Conventional Commits message. / 유효한 CC 메시지 파싱.

📥 입력
{
  "action": "parse_commits",
  "message": "feat(api)!: redesign response schema\n\nBREAKING CHANGE: fields renamed from snake_case to camelCase."
}
📤 출력
{
  "body": "BREAKING CHANGE: fields renamed from snake_case to camelCase.",
  "breaking": true,
  "description": "redesign response schema",
  "scope": "api",
  "type": "feat",
  "valid_conventional": true
}
parse_commits_invalid
# parse_commits# invalid

Parse a non-conventional commit message. / CC 미준수 메시지 파싱.

📥 입력
{
  "action": "parse_commits",
  "message": "fixed the bug"
}
📤 출력
{
  "body": "",
  "breaking": false,
  "description": "fixed the bug",
  "scope": null,
  "type": null,
  "valid_conventional": false
}
classify_mixed
# classify# mixed

Classify a mixed list of commits. / 혼합 커밋 목록 분류.

📥 입력
{
  "action": "classify",
  "commits": [
    {
      "message": "feat: new dashboard"
    },
    {
      "message": "feat: dark mode"
    },
    {
      "message": "fix: login crash"
    },
    {
      "message": "chore: bump version"
    },
    {
      "message": "random commit without type"
    },
    {
      "message": "feat!: remove legacy API"
    }
  ]
}
📤 출력
{
  "breaking_count": 1,
  "by_type": {
    "chore": 1,
    "feat": 3,
    "fix": 1,
    "unknown": 1
  },
  "non_conventional_count": 1,
  "summary": {
    "conventional_ratio": 0.833,
    "most_common_type": "feat"
  },
  "total": 6
}
audit_quality
# audit# quality# security

Audit commit messages for quality issues. / 커밋 메시지 품질 감사.

📥 입력
{
  "action": "audit",
  "commits": [
    {
      "hash": "aaa1111",
      "message": "fix."
    },
    {
      "hash": "bbb2222",
      "message": "feat(Auth): Added the new login page with OAuth2 integration."
    },
    {
      "hash": "ccc3333",
      "message": "wip"
    },
    {
      "hash": "ddd4444",
      "message": "update password_hash=abc123def456 in config"
    }
  ]
}
📤 출력
{
  "findings": [
    {
      "code": "QUAL001",
      "commit_index": 0,
      "fix_hint": {
        "action": "rewrite",
        "field": "subject",
        "reference": "https://www.conventionalcommits.org/",
        "suggested": "fix: \u003cdescribe what was fixed\u003e"
      },
      "hash": "aaa1111",
      "message": "Conventional Commits \ud615\uc2dd\uc774 \uc544\ub2d9\ub2c8\ub2e4.",
      "message_en": "Message does not follow Conventional Commits format.",
      "severity": "QUAL"
    },
    {
      "code": "QUAL003",
      "commit_index": 0,
      "fix_hint": {
        "action": "expand",
        "field": "description",
        "reference": "https://www.conventionalcommits.org/",
        "suggested": "Add more context: what was fixed and why"
      },
      "hash": "aaa1111",
      "message": "\uc124\uba85\uc774 \ub108\ubb34 \uc9e7\uc2b5\ub2c8\ub2e4 (10\uc790 \ubbf8\ub9cc).",
      "message_en": "Description is too short (\u003c 10 chars).",
      "severity": "QUAL"
    },
    {
      "code": "STR002",
      "commit_index": 1,
      "fix_hint": {
        "action": "rename",
        "field": "scope",
        "reference": "https://www.conventionalcommits.org/",
        "suggested": "auth"
      },
      "hash": "bbb2222",
      "message": "scope \ub300\uc18c\ubb38\uc790\uac00 \ud63c\uc6a9\ub429\ub2c8\ub2e4 (\u0027Auth\u0027). \uc18c\ubb38\uc790\ub97c \uad8c\uc7a5\ud569\ub2c8\ub2e4.",
      "message_en": "Scope uses mixed case (\u0027Auth\u0027). Lowercase is recommended.",
      "severity": "STR"
    },
    {
      "code": "SEC001",
      "commit_index": 3,
      "fix_hint": {
        "action": "remove",
        "field": "message",
        "reference": "https://docs.github.com/en/code-security/secret-scanning",
        "suggested": "Remove sensitive data from commit message and rotate credentials"
      },
      "hash": "ddd4444",
      "message": "\ucee4\ubc0b \uba54\uc2dc\uc9c0\uc5d0 \uc2dc\ud06c\ub9bf/\ud574\uc2dc \ud328\ud134\uc774 \uac10\uc9c0\ub418\uc5c8\uc2b5\ub2c8\ub2e4.",
      "message_en": "Potential secret or hash pattern detected in commit message.",
      "severity": "SEC"
    }
  ],
  "summary": {
    "clean_commits": 1,
    "commits_audited": 4,
    "qual": 2,
    "sec": 1,
    "str": 1,
    "total": 5
  }
}

모든 예시는 에이전트 API로도 조회 가능: /v1/agent/skills/b8e8d895-85fa-4ecb-9175-e4ce563cfab7/schema

리뷰 & 평점

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

✍️ 리뷰 작성