curl -L -o color-contrast-checker.skill "https://aiskillstore.io/v1/agent/skills/8759b318-894b-476e-a534-944a645e6c01/download?platform=ClaudeCode"
{
"tool": "download_skill",
"arguments": {
"skill_id": "8759b318-894b-476e-a534-944a645e6c01",
"platform": "ClaudeCode"
}
}
{
"mcpServers": {
"skill-store": {
"url": "https://aiskillstore.io/mcp/"
}
}
}
WCAG 2.1 color contrast analysis, fix suggestions, palette matrix, and anti-pattern audit — zero external dependencies.
Compatible Platforms any
Findings: ["메타데이터 경고: 권장 필드 없음: 'requirements' (SKILL.md v2 권장)", "메타데이터 경고: 권장 필드 없음: 'changelog' (SKILL.md v2 권장)"]
✅ No security risks found.
AI Review Stage
스킬 메타데이터와 제공된 Python 코드 파일(main.py, lib/color_parser.py, lib/wcag_calc.py, lib/suggester.py, lib/auditor.py)을 분석했습니다. 1. **권한 일치 여부**: 메타데이터에 선언된 `permissions`는 `network: false`, `filesystem: false`, `subprocess: false`입니다. 코드 검토 결과, `os` 모듈은 `sys.path` 조작을 위한 `os.path.dirname`에만 사용되었으며, 파일 시스템 접근(읽기/쓰기), 네트워크 통신(소켓, HTTP 요청 등), 외부 프로세스 실행(`subprocess`, `os.system` 등)을 수행하는 코드는 발견되지 않았습니다. 이는 선언된 권한과 실제 코드가 완벽하게 일치함을 의미합니다. 2. **악의적 코드 여부**: 데이터 탈취, 시스템 파괴, 난독화 등의 악의적 목적을 가진 코드는 발견되지 않았습니다. 코드는 WCAG 색상 대비 계산, 색상 파싱, 수정 제안, 팔레트 감사 등 스킬의 명시된 기능만을 수행합니다. 정적 분석 결과에서도 'red_flags_found' 및 'obfuscation_warnings'가 없음을 확인했습니다. 3. **선언되지 않은 외부 통신**: 코드 내에서 어떠한 형태의 외부 네트워크 통신도 시도하지 않습니다. 4. **사용자 데이터 무단 수집/전송**: 스킬은 표준 입력(stdin)으로 데이터를 받아 처리하고, 표준 출력(stdout)으로 결과를 반환하는 `stdin_stdout` 패턴을 따릅니다. 사용자 데이터를 저장하거나 외부로 전송하는 기능은 없습니다. 5. **코드 품질 및 목적 일치**: 코드는 모듈화가 잘 되어 있고, 각 파일은 명확한 역할을 수행합니다. WCAG 2.1 가이드라인에 따른 색상 대비 계산 및 관련 기능을 충실히 구현하고 있으며, 스킬의 설명과 목적에 부합하는 고품질의 코드입니다. 한국어 주석과 설명도 잘 포함되어 있습니다. 결론적으로, 이 스킬은 보안 위험이 없으며 안전하게 배포될 수 있습니다.
Representative input/output examples for this skill. Agents can use these to understand how to invoke the skill and what output to expect.
Classic black-on-white — known 21:1 result | 흑백 최대 대비비 검증
{
"action": "check",
"background": "#ffffff",
"foreground": "#000000",
"ui_element": "normal_text"
}
{
"background_hex": "#ffffff",
"foreground_hex": "#000000",
"level": "aaa",
"level_ko": "AAA \uc6b0\uc218",
"passing_threshold": 4.5,
"ratio": 21.0,
"ui_element": "normal_text",
"wcag_aa": true,
"wcag_aaa": true
}
Gray-on-light-gray — fails AA | 낮은 대비비 AA 미달 케이스
{
"action": "check",
"background": "#f5f5f5",
"foreground": "#767676",
"ui_element": "normal_text"
}
{
"level": "fail",
"level_ko": "\ubd88\ud569\uaca9 (\uae30\uc900 \ubbf8\ub2ec)",
"passing_threshold": 4.5,
"ratio": 4.48,
"wcag_aa": false,
"wcag_aaa": false
}
Auto-suggest darker gray to pass AA | 미달 회색 텍스트의 합격 대안 자동 제안
{
"action": "suggest_fix",
"adjust": "fg",
"background": "#f5f5f5",
"foreground": "#767676",
"target_level": "aa"
}
{
"suggestions": [
{
"background": "#f5f5f5",
"distance_lab": 1.5,
"foreground": "#737373",
"ratio": 4.6
}
]
}
3-color palette contrast matrix | 3색 팔레트 대비비 행렬
{
"action": "palette_audit",
"colors": [
{
"color": "#000000",
"name": "black"
},
{
"color": "#ffffff",
"name": "white"
},
{
"color": "#808080",
"name": "gray"
}
],
"ui_element": "normal_text"
}
{
"colors": [
{
"hex": "#000000",
"name": "black"
},
{
"hex": "#ffffff",
"name": "white"
},
{
"hex": "#808080",
"name": "gray"
}
],
"summary": {
"aa_only": 1,
"aaa": 1,
"fail": 1,
"total_pairs": 3
},
"ui_element": "normal_text"
}
Anti-pattern scan on a risky palette | 위험 팔레트 안티패턴 전체 검사
{
"action": "audit",
"palette": [
{
"color": "#ff0000",
"name": "danger_red"
},
{
"color": "#00aa00",
"name": "success_green"
},
{
"color": "#fefefe",
"name": "near_white"
}
]
}
{
"summary": {
"error": 1,
"info": 3,
"warning": 1
},
"total_colors": 3
}
CSS named color input | CSS 색상명 입력 지원
{
"action": "check",
"background": "white",
"foreground": "cornflowerblue",
"ui_element": "large_text"
}
{
"level": "aa",
"ratio": 3.0,
"wcag_aa": true
}
rgb() function format input | rgb() 형식 입력
{
"action": "check",
"background": "rgb(255, 255, 255)",
"foreground": "rgb(0, 0, 0)",
"ui_element": "ui_component"
}
{
"level": "aaa",
"ratio": 21.0,
"wcag_aa": true
}
Suggest fix targeting AAA level | AAA 기준 통과 색상 제안
{
"action": "suggest_fix",
"adjust": "fg",
"background": "#ffffff",
"foreground": "#555555",
"target_level": "aaa"
}
{
"suggestions": [
{
"background": "#ffffff",
"distance_lab": 2.5,
"foreground": "#595959",
"ratio": 7.0
}
]
}
Error case — missing action field | 에러: action 필드 누락
{
"background": "#ffffff",
"foreground": "#000000"
}
{
"error": {
"code": "MISSING_FIELD",
"message": "Missing required field: \u0027action\u0027."
}
}
Error case — unrecognized color format | 에러: 잘못된 색상 형식
{
"action": "check",
"background": "#ffffff",
"foreground": "not_a_color",
"ui_element": "normal_text"
}
{
"error": {
"code": "COLOR_PARSE_ERROR",
"message": "Unrecognized color format: \u0027not_a_color\u0027."
}
}
All examples are also available via the agent API:
/v1/agent/skills/8759b318-894b-476e-a534-944a645e6c01/schema
No reviews yet. Be the first to leave one!