Files
AX-Copilot-Codex/dist/AxCopilot/skills/json-schema.skill.md

3.4 KiB

name, label, description, icon, tabs, allowed-tools
name label description icon tabs allowed-tools
json-schema JSON/YAML 스키마 도구 JSON 또는 YAML 데이터에서 스키마를 생성하고, 데이터의 유효성을 검증합니다. \uE943 code
json_tool
file_read
file_write
clipboard_tool

JSON/YAML 샘플 데이터에서 스키마를 추출하거나, 기존 스키마로 데이터를 검증하세요.

작업 절차

  1. 요청 유형 판별:
    • 스키마 생성: 샘플 JSON/YAML → JSON Schema 추출
    • 스키마 검증: 데이터 + 스키마 → 유효성 검사
    • 스키마 문서화: 기존 스키마 → 사람이 읽을 수 있는 설명 생성
  2. 입력 데이터 확인: file_read 또는 사용자 입력으로 데이터 로드
  3. 스키마 생성 또는 검증 수행: json_tool로 처리
  4. 결과 출력: 생성된 스키마 또는 검증 결과를 표시
  5. 파일 저장: file_write로 결과를 저장하거나 clipboard_tool로 복사

스키마 생성 규칙

타입 추론

JSON 값 JSON Schema 타입 추가 속성
"text" string
123 integer
1.5 number
true boolean
null null nullable 처리
[] array items 스키마
{} object properties 스키마

추론 강화

  • 패턴 감지: 이메일, URL, 날짜, UUID 등은 format 속성 추가
  • 열거형 감지: 값의 종류가 적으면 enum 으로 제안
  • 필수 필드: 모든 샘플에 존재하는 필드는 required로 표시
  • 배열 항목: 배열 내 모든 항목을 분석하여 통합 스키마 생성

출력 형식 (JSON Schema Draft 7)

{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "title": "사용자 정보",
  "description": "사용자 프로필 데이터 스키마",
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "사용자 이름"
    },
    "email": {
      "type": "string",
      "format": "email",
      "description": "이메일 주소"
    },
    "age": {
      "type": "integer",
      "minimum": 0,
      "maximum": 150,
      "description": "나이"
    }
  },
  "required": ["name", "email"],
  "additionalProperties": false
}

검증 결과 형식

검증 결과는 다음과 같이 표시하세요:

검증 결과: ❌ 실패 (3건의 오류)

| # | 경로 | 오류 | 기대값 |
|---|------|------|--------|
| 1 | $.email | 필수 필드 누락 | string (required) |
| 2 | $.age | 타입 불일치 | integer (실제: string) |
| 3 | $.tags[2] | 열거형 불일치 | "A", "B", "C" 중 하나 |

스키마 문서화 형식

기존 스키마를 분석하여 사람이 읽기 쉬운 문서를 생성:

## 사용자 정보 스키마

| 필드 | 타입 | 필수 | 설명 | 제약 조건 |
|------|------|------|------|----------|
| name | string | ✅ | 사용자 이름 | — |
| email | string | ✅ | 이메일 주소 | format: email |
| age | integer | — | 나이 | 0~150 |
| tags | array | — | 태그 목록 | items: string |

규칙

  • JSON Schema Draft 7 형식 사용
  • 스키마 생성 시 description 필드를 한국어로 작성
  • 복수 샘플이 제공되면 모든 샘플을 분석하여 통합 스키마 생성
  • 중첩 객체는 재귀적으로 스키마 추출
  • 결과는 파일 저장과 클립보드 복사 모두 제공

한국어로 안내하세요.