← 스킬 목록으로 돌아가기

yaml-lint-validator

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

Deterministic YAML syntax + style validation (indentation, line length, trailing spaces, duplicate keys) with exact line/column positions and rule names. Standard tool for CI/CD pipelines and agent self-correction loops.

# yaml # lint # validation # ci-cd # devops # syntax # style

기본 정보

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

⚡ AGENT INFO USK v3

Capabilities
yaml_validation yaml_linting syntax_checking style_enforcement devops_tooling
Permissions
✗ network
✗ filesystem
✗ subprocess
Interface
type: cli   entry_point: main.py   runtime: python3   call_pattern: stdin_stdout
Agent API
# 스킬 스키마 조회 (에이전트가 호출 방법을 파악) GET /v1/agent/skills/352fde3b-7195-4d6e-a6bc-c2de37ada927/schema # 플랫폼별 자동 변환 다운로드 GET /v1/agent/skills/352fde3b-7195-4d6e-a6bc-c2de37ada927/download?platform=OpenClaw GET /v1/agent/skills/352fde3b-7195-4d6e-a6bc-c2de37ada927/download?platform=ClaudeCode GET /v1/agent/skills/352fde3b-7195-4d6e-a6bc-c2de37ada927/download?platform=ClaudeCodeAgentSkill GET /v1/agent/skills/352fde3b-7195-4d6e-a6bc-c2de37ada927/download?platform=Cursor GET /v1/agent/skills/352fde3b-7195-4d6e-a6bc-c2de37ada927/download?platform=GeminiCLI GET /v1/agent/skills/352fde3b-7195-4d6e-a6bc-c2de37ada927/download?platform=CodexCLI GET /v1/agent/skills/352fde3b-7195-4d6e-a6bc-c2de37ada927/download?platform=CustomAgent

설치 방법

호환 플랫폼: any

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

보안 검증 보고서

검증 결과 APPROVED

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

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

AI 검수 단계

검수 주체 gemini 위험도 🟢 낮음 검수 요약 YAML 구문 및 스타일 검증을 수행하는 스킬로, 선언된 권한을 준수하며 악의적인 동작 없이 안전하게 작동합니다.
판단 근거

제공된 스킬 메타데이터, 코드 파일(main.py, lib/validator.py), 그리고 정적 분석 결과를 종합적으로 검토했습니다. 1. **선언된 permissions(network/filesystem/subprocess)과 실제 코드가 일치하는가?** * 메타데이터에 `network: false`, `filesystem: false`, `subprocess: false`로 명시되어 있습니다. * `main.py`와 `lib/validator.py` 코드에서 외부 네트워크 통신(`requests`, `urllib` 등), 파일 시스템 접근(`open`, `shutil` 등), 또는 외부 프로세스 실행(`subprocess`, `os.system` 등)을 시도하는 코드는 발견되지 않았습니다. `os.path` 모듈 사용은 파일 경로 조작을 위한 것으로, 일반적인 파일 시스템 접근으로 간주되지 않습니다. * 따라서 선언된 권한과 실제 코드가 일치합니다. 2. **악의적 목적의 코드가 있는가? (데이터 탈취, 시스템 파괴, 난독화 등)** * 스킬의 주 목적은 `yamllint` 라이브러리를 사용하여 YAML 콘텐츠의 유효성을 검사하는 것입니다. 이는 명확하고 합법적인 기능입니다. * 사용자 입력(`yaml_content`, `action`, `rules`)에 대한 기본적인 유효성 검사가 `main.py`에서 이루어지고 있습니다. * 특히, `lib/validator.py`의 `build_config` 함수는 사용자 정의 `rules`의 이름을 `VALID_RULES` 세트와 비교하여 유효성을 검사합니다. 이는 `yamllint` 설정에 임의의 또는 악의적인 규칙이 주입되는 것을 방지하는 중요한 보안 조치입니다. * `_dict_to_inline` 함수는 딕셔너리 값을 인라인 문자열로 변환할 때 문자열 값을 적절히 따옴표로 묶어 잠재적인 인젝션 공격을 방지합니다. * 코드 난독화나 기타 악의적인 패턴은 발견되지 않았으며, 정적 분석 결과에서도 'red_flags_found'나 'obfuscation_warnings'가 없었습니다. 3. **선언되지 않은 외부 통신이 있는가?** * 코드에서 외부 통신을 위한 라이브러리나 함수 호출이 전혀 발견되지 않았습니다. 이는 `network: false` 권한과 일치합니다. 4. **사용자 데이터를 무단으로 수집하거나 전송하는가?** * 스킬은 표준 입력(`stdin`)으로 YAML 콘텐츠를 받아 처리하고, 그 결과를 표준 출력(`stdout`)으로 반환합니다. 입력된 데이터를 외부로 전송하거나 저장하는 어떠한 메커니즘도 존재하지 않습니다. 5. **코드 품질이 스킬의 목적과 일치하는가?** * 코드는 명확하고 가독성이 높으며, 스킬의 설명과 일치하는 기능을 충실히 구현하고 있습니다. * 오류 처리 로직이 잘 구현되어 있어, 잘못된 입력이나 `yamllint` 실행 중 발생하는 예외를 적절히 처리하고 사용자에게 구조화된 오류 메시지를 제공합니다. * `yamllint`와 같은 신뢰할 수 있는 외부 라이브러리를 사용하여 핵심 기능을 구현하는 것은 적절한 접근 방식입니다. 결론적으로, 이 스킬은 보안 위험이 낮으며, 선언된 모든 검수 기준을 충족합니다. 안전하게 AI 에이전트 스킬 스토어에 공개될 수 있습니다.

버전 히스토리

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

사용 예시 (Examples) 7 개

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

K8s Deployment YAML — full lint
# kubernetes# devops# syntax

Validate a Kubernetes Deployment manifest before applying

📥 입력
{
  "action": "lint",
  "yaml_content": "apiVersion: apps/v1\nkind: Deployment\nmetadata:\n  name: my-app\n  namespace: production\nspec:\n  replicas: 3\n"
}
📤 출력
{
  "error_count": 0,
  "errors": [],
  "is_valid": true,
  "warning_count": 0,
  "warnings": []
}
GitHub Actions workflow — indentation error
# github-actions# indentation# ci

Detect wrong indentation in a CI workflow file

📥 입력
{
  "action": "lint",
  "yaml_content": "name: CI\non: [push]\njobs:\n  build:\n   runs-on: ubuntu-latest\n"
}
📤 출력
{
  "error_count": 1,
  "errors": [
    {
      "column": 4,
      "level": "error",
      "line": 5,
      "message": "wrong indentation: expected 4 but found 3",
      "rule": "indentation"
    }
  ],
  "is_valid": false,
  "warning_count": 0,
  "warnings": []
}
check_style only — trailing spaces and line length
# style# trailing-spaces# line-length

Run style checks with custom line-length rule

📥 입력
{
  "action": "check_style",
  "rules": {
    "line-length": {
      "max": 100
    }
  },
  "yaml_content": "name: test   \n"
}
📤 출력
{
  "error_count": 1,
  "errors": [
    {
      "column": 12,
      "level": "error",
      "line": 1,
      "message": "trailing spaces",
      "rule": "trailing-spaces"
    }
  ],
  "is_valid": false,
  "warning_count": 0,
  "warnings": []
}
Agent self-correction loop — syntax error detected
# agent# self-correction# syntax

Agent generates YAML, sends for check_syntax, receives error location, regenerates

📥 입력
{
  "action": "check_syntax",
  "yaml_content": "config:\n  host: localhost\n   port: 8080\n"
}
📤 출력
{
  "error_count": 1,
  "errors": [
    {
      "column": 4,
      "level": "error",
      "line": 3,
      "message": "wrong indentation: expected 2 but found 3",
      "rule": "indentation"
    }
  ],
  "is_valid": false,
  "warning_count": 0,
  "warnings": []
}
docker-compose.yml — valid with truthy warning
# docker-compose# devops

Validate docker-compose file; truthy value generates warning not error

📥 입력
{
  "action": "lint",
  "yaml_content": "version: \"3.9\"\nservices:\n  web:\n    image: nginx:latest\n    restart: always\n"
}
📤 출력
{
  "error_count": 0,
  "errors": [],
  "is_valid": true,
  "warning_count": 0,
  "warnings": []
}
Invalid rules dict — INVALID_RULES error
# error-handling# invalid-rules

Passing an unsupported rule name returns a structured INVALID_RULES error

📥 입력
{
  "action": "lint",
  "rules": {
    "nonexistent-rule": {
      "enabled": true
    }
  },
  "yaml_content": "name: test\n"
}
📤 출력
{
  "error": {
    "code": "INVALID_RULES",
    "message": "Rule \u0027nonexistent-rule\u0027 is not a valid yamllint rule."
  }
}
Ansible playbook — duplicate key detection
# ansible# duplicate-keys# devops

Detect duplicate keys in an Ansible task definition

📥 입력
{
  "action": "lint",
  "yaml_content": "- name: Install\n  apt:\n    name: nginx\n    name: apache2\n"
}
📤 출력
{
  "error_count": 1,
  "errors": [
    {
      "column": 5,
      "level": "error",
      "line": 4,
      "message": "duplication of key \u0027name\u0027 in mapping",
      "rule": "key-duplicates"
    }
  ],
  "is_valid": false,
  "warning_count": 0,
  "warnings": []
}

모든 예시는 에이전트 API로도 조회 가능: /v1/agent/skills/352fde3b-7195-4d6e-a6bc-c2de37ada927/schema

리뷰 & 평점

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

✍️ 리뷰 작성