curl -L -o semver-resolver.skill "https://aiskillstore.io/v1/agent/skills/6aba8214-f5cc-4c70-85ab-2be8b953b7bf/download?platform=ClaudeCode"
{
"tool": "download_skill",
"arguments": {
"skill_id": "6aba8214-f5cc-4c70-85ab-2be8b953b7bf",
"platform": "ClaudeCode"
}
}
{
"mcpServers": {
"skill-store": {
"url": "https://aiskillstore.io/mcp/"
}
}
}
SemVer 2.0 version comparison, range matching (^1.2.3, ~0.4.0, >=2.0.0 <3.0.0), sorting, and parsing. Deterministic dependency compatibility checks without external API.
Compatible Platforms any
Findings: ["메타데이터 경고: 권장 필드 없음: 'requirements' (SKILL.md v2 권장)"]
✅ No security risks found.
AI Review Stage
1. **권한 일치성:** 스킬 메타데이터에 `network: false`, `filesystem: false`, `subprocess: false`로 명시된 권한이 코드 분석 결과와 완벽하게 일치합니다. 코드 내에서 외부 네트워크 통신, 파일 시스템 접근, 또는 서브프로세스 실행을 시도하는 어떠한 흔적도 발견되지 않았습니다. 2. **악의적 코드 부재:** 제공된 코드에서 데이터 탈취, 시스템 파괴, 코드 난독화 등 악의적인 목적을 가진 코드는 발견되지 않았습니다. 코드는 명확하고 이해하기 쉬우며, 표준 Python 라이브러리와 신뢰할 수 있는 'semver' PyPI 패키지를 활용합니다. 3. **외부 통신 없음:** 스킬은 'stdin'을 통해 입력을 받고 'stdout'으로 결과를 출력하는 방식으로만 작동하며, 선언되지 않은 외부 통신 시도는 없습니다. 4. **사용자 데이터 처리:** 스킬은 사용자로부터 입력받은 SemVer 문자열을 오직 버전 비교 및 처리 목적으로만 사용하며, 어떠한 사용자 데이터도 무단으로 수집하거나 외부로 전송하지 않습니다. 5. **코드 품질:** 스킬의 목적(SemVer 처리)에 부합하는 높은 코드 품질을 보여줍니다. 모듈화가 잘 되어 있고, 입력 유효성 검사 및 구조화된 오류 처리가 구현되어 있습니다. 'semver' 라이브러리를 활용하여 안정적이고 정확한 기능을 제공합니다. 6. **정적 분석 결과:** 제공된 정적 분석 결과도 'approved' 상태이며, 어떠한 위험 요소나 난독화 경고도 발견되지 않았음을 확인했습니다. 종합적으로 판단할 때, 'semver-resolver' 스킬은 안전하며 의도된 기능만을 수행하는 것으로 평가됩니다.
Representative input/output examples for this skill. Agents can use these to understand how to invoke the skill and what output to expect.
Verify that version 2.28.1 satisfies the range >=2.25.0 <3.0.0
{
"operation": "matches_range",
"range": "\u003e=2.25.0 \u003c3.0.0",
"version": "2.28.1"
}
{
"operation": "matches_range",
"range_explanation": "Version must be \u003e= 2.25.0 AND \u003c 3.0.0 (excludes 3.0.0)",
"result": true
}
Compare 1.0.0-alpha.1 vs 1.0.0-beta.1 — pre-release ordering
{
"operation": "compare",
"version": "1.0.0-alpha.1",
"version2": "1.0.0-beta.1"
}
{
"operation": "compare",
"range_explanation": "1.0.0-alpha.1 \u003c 1.0.0-beta.1 (pre-release: alpha \u003c beta lexically)",
"result": -1
}
Sort a list of SemVer strings from newest to oldest
{
"operation": "sort",
"reverse": true,
"versions": [
"1.0.0",
"2.1.0",
"1.5.3",
"2.0.0-rc.1",
"0.9.0"
]
}
{
"operation": "sort",
"result": [
"2.1.0",
"2.0.0-rc.1",
"1.5.3",
"1.0.0",
"0.9.0"
],
"sorted_versions": [
"2.1.0",
"2.0.0-rc.1",
"1.5.3",
"1.0.0",
"0.9.0"
]
}
Find the highest version matching ^1.5.0 from a list (caret: compatible with 1.x.x, no major bump)
{
"operation": "max_satisfying",
"range": "^1.5.0",
"versions": [
"1.4.0",
"1.5.0",
"1.9.9",
"2.0.0",
"1.5.1"
]
}
{
"operation": "max_satisfying",
"range_explanation": "^1.5.0 means \u003e=1.5.0 \u003c2.0.0 (caret: major must be 1, minor/patch free)",
"result": "1.9.9"
}
Decompose a complex SemVer string into major, minor, patch, prerelease, and build metadata
{
"operation": "parse",
"version": "1.2.3-beta.1+build.456"
}
{
"operation": "parse",
"parsed": {
"build": "build.456",
"major": 1,
"minor": 2,
"patch": 3,
"prerelease": "beta.1"
},
"result": {
"build": "build.456",
"major": 1,
"minor": 2,
"patch": 3,
"prerelease": "beta.1"
}
}
Passing a non-SemVer string returns a structured INVALID_VERSION error
{
"operation": "parse",
"version": "not-a-version"
}
{
"error": {
"code": "INVALID_VERSION",
"message": "Invalid SemVer version: \u0027not-a-version\u0027"
},
"operation": "parse"
}
All examples are also available via the agent API:
/v1/agent/skills/6aba8214-f5cc-4c70-85ab-2be8b953b7bf/schema
No reviews yet. Be the first to leave one!